From 51e8b40aef69a719c18b00347bc0af108ba37622 Mon Sep 17 00:00:00 2001 From: annegentle <anne@openstack.org> Date: Fri, 9 Mar 2012 23:41:35 -0600 Subject: [PATCH] Drafting updates to install/deploy Fixed pom file to create a -trunk pdf. Updated Dashboard image. Added keystone.conf file after testing with a VM Added more to glance validation steps Still needs testing but might be close enough? Also want to get Xen in there but we can publish before that. Updated Keystone config based on reviews and Mailing List input. Removed "identity management" chapter as it was overkill for this context. Changed the ADMIN fake token to 012345SECRET99TOKEN012345. Update to include Glance configuration files. Updated to use an essex-style nova.conf file. Please review with "draft" in mind and give feedback. Change-Id: Ic7e50eddf7130bbbbce28f2646e2eb1d85583294 --- doc/src/docbkx/common/ch_identity_mgmt.xml | 13 +- .../bk-compute-adminguide.xml | 16 +- .../openstack-compute-admin/computeadmin.xml | 4 +- .../computeautomation.xml | 81 ----- .../computeinstall.xml | 3 +- .../computenetworking.xml | 4 +- .../ap_configuration_files.xml | 23 +- .../bk_openstackinstallguide.xml | 31 +- .../ch_installcomputeimage.xml | 5 +- .../openstack-install/ch_installidentity.xml | 7 +- .../ch_installing-openstack-overview.xml | 14 +- .../compute-assumptions-installation.xml | 19 +- .../compute-cloud-controller.xml | 5 +- .../openstack-install/compute-db-sync.xml | 2 +- .../compute-minimum-configuration.xml | 44 +-- .../compute-sys-requirements.xml | 8 +- .../compute-verifying-install.xml | 5 +- .../openstack-install/dashboard-verify.xml | 4 +- .../figures/dashboard-overview.png | Bin 88796 -> 72173 bytes .../identity-config-keystone.xml | 116 +++---- .../identity-install-keystone.xml | 296 ++++++++++++++---- .../identity-verify-install.xml | 4 +- .../images-verifying-install.xml | 53 +++- .../install-config-glance.xml | 88 +++--- .../installing-additional-compute-nodes.xml | 41 +-- doc/src/docbkx/openstack-install/pom.xml | 2 +- .../samples/glance-api-paste.ini | 43 +++ .../samples/glance-cache-paste.ini | 15 + .../samples/glance-cache.conf | 40 +++ .../samples/glance-registry-paste.ini | 28 ++ .../samples/glance-scrubber-paste.ini | 3 + .../openstack-install/samples/keystone.conf | 172 +++++----- .../openstack-install/samples/nova.conf | 80 ++--- .../openstack-install/samples/openrc.txt | 4 +- 34 files changed, 784 insertions(+), 489 deletions(-) create mode 100644 doc/src/docbkx/openstack-install/samples/glance-api-paste.ini create mode 100644 doc/src/docbkx/openstack-install/samples/glance-cache-paste.ini create mode 100644 doc/src/docbkx/openstack-install/samples/glance-cache.conf create mode 100644 doc/src/docbkx/openstack-install/samples/glance-registry-paste.ini create mode 100644 doc/src/docbkx/openstack-install/samples/glance-scrubber-paste.ini diff --git a/doc/src/docbkx/common/ch_identity_mgmt.xml b/doc/src/docbkx/common/ch_identity_mgmt.xml index f0dc90b95d..f11714bf75 100644 --- a/doc/src/docbkx/common/ch_identity_mgmt.xml +++ b/doc/src/docbkx/common/ch_identity_mgmt.xml @@ -2,7 +2,7 @@ <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" - xml:id="ch-identity-mgmt"> + xml:id="ch-identity-mgmt-config"> <title>Identity Management</title> <para> The default identity management system for OpenStack is the OpenStack Identity Service, code-named Keystone. @@ -880,7 +880,7 @@ keystone service-delete 08741d8ed88242ca88d1f61484a0fe3b <?dbhtml stop-chunking?> <title>Configuring Services to work with Keystone</title> <para> - Once Keystone is installed and running (see :doc:`configuration`), + Once Keystone is installed and running, services need to be configured to work with it. To do this, we primarily install and configure middleware for the OpenStack service to handle authentication tasks or otherwise interact with Keystone. @@ -889,13 +889,11 @@ keystone service-delete 08741d8ed88242ca88d1f61484a0fe3b In general: * Clients making calls to the service will pass in an authentication token. * The Keystone middleware will look for and validate that token, taking the appropriate action. * It will also - retrive additional information from the token such as user name, id, + retrieve additional information from the token such as user name, id, tenant name, id, roles, etc... </para> <para> The middleware will pass those data down to the service as headers. - More details on the architecture of that setup is described in - :doc:`middleware_architecture` </para> <section xml:id="setting-up-credentials"> <title>Setting up credentials</title> @@ -927,9 +925,7 @@ keystone service-delete 08741d8ed88242ca88d1f61484a0fe3b <para> You need to minimally define a tenant, user, and role to link the tenant and user as the most basic set of details to get - other services authenticating and authorizing with keystone. See - doc:`configuration` for a walk through on how to create tenants, - users, and roles. + other services authenticating and authorizing with keystone. </para> </section> </section> @@ -996,7 +992,6 @@ keystone service-create --name=swift \ When configuring Nova, it is important to create a admin service token for the service (from the Configuration step above) and include that as the key 'admin_token' in the nova-api-paste.ini. - See the documented :doc:`nova-api-paste` file for references. </para> </section> <section xml:id="configuring-swift-to-use-keystone"> diff --git a/doc/src/docbkx/openstack-compute-admin/bk-compute-adminguide.xml b/doc/src/docbkx/openstack-compute-admin/bk-compute-adminguide.xml index fa70249a12..9d3109e47c 100644 --- a/doc/src/docbkx/openstack-compute-admin/bk-compute-adminguide.xml +++ b/doc/src/docbkx/openstack-compute-admin/bk-compute-adminguide.xml @@ -7,7 +7,7 @@ version="5.0" xml:id="openstack-compute-admin-manual"> <?rax pdf.url="../os-compute-adminguide-trunk.pdf"?> - <title>OpenStack Compute Admin Manual</title> + <title>OpenStack Compute Administration Manual</title> <info> <author> <personname> @@ -26,7 +26,7 @@ </copyright> <releaseinfo>trunk</releaseinfo> <productname>OpenStack Compute</productname> - <pubdate>2011-11-14</pubdate> + <pubdate>2012-3-11</pubdate> <legalnotice role="apache2"> <annotation> <remark>Copyright details are filled in by the template.</remark> @@ -43,6 +43,16 @@ managing, and understanding the software that runs OpenStack Compute. </para> </abstract> <revhistory> + <revision> + <date>2012-03-11</date> + <revdescription> + <itemizedlist spacing="compact"> + <listitem> + <para>Large reorganization, moving identity and image service administration as chapters in this book.</para> + </listitem> + </itemizedlist> + </revdescription> + </revision> <revision> <date>2011-11-15</date> <revdescription> @@ -71,10 +81,10 @@ <xi:include href="computeconfigure.xml"/> <xi:include href="../common/ch_identity_mgmt.xml"/> <xi:include href="computehypervisors.xml"/> - <xi:include href="computeautomation.xml"/> <xi:include href="computenetworking.xml"/> <xi:include href="computeadmin.xml"/> <xi:include href="interfaces.xml"/> + <xi:include href="computeautomation.xml"/> <xi:include href="computetutorials.xml"/> <xi:include href="../common/support.xml"/> </book> diff --git a/doc/src/docbkx/openstack-compute-admin/computeadmin.xml b/doc/src/docbkx/openstack-compute-admin/computeadmin.xml index 02206e28ad..0d6973f0c6 100644 --- a/doc/src/docbkx/openstack-compute-admin/computeadmin.xml +++ b/doc/src/docbkx/openstack-compute-admin/computeadmin.xml @@ -198,14 +198,14 @@ chmod 600 test.pem planned; or if the instance are not frequently used. Suspending an instance frees up memory and vCPUS, while pausing keeps the instance running, in a "frozen" state. Suspension could be compared to an "hibernation" mode.</para> - <section> + <section xml:id="pausing-instance"> <title>Pausing instance</title> <para>To pause an instance :</para> <literallayout class="monospaced">nova pause $server-id </literallayout> <para>To resume a paused instance :</para> <literallayout class="monospaced">nova unpause $server-id </literallayout> </section> - <section> + <section xml:id="suspending-instance"> <title>Suspending instance</title> <para> To suspend an instance :</para> <literallayout class="monospaced">nova suspend $server-id </literallayout> diff --git a/doc/src/docbkx/openstack-compute-admin/computeautomation.xml b/doc/src/docbkx/openstack-compute-admin/computeautomation.xml index d9af15a803..cb1bd3ba92 100644 --- a/doc/src/docbkx/openstack-compute-admin/computeautomation.xml +++ b/doc/src/docbkx/openstack-compute-admin/computeautomation.xml @@ -153,87 +153,6 @@ ssh -i mykey.priv 10.0.0.3</literallayout> glance should be installed before using nova.</para> </simplesect> </section> - <section xml:id="openstack-compute-installation-using-virtualbox-vagrant-and-chef"> - <title>OpenStack Compute Installation Using VirtualBox, Vagrant, And Chef</title> - - <para>Integration testing for distributed systems that have many dependencies can be a huge challenge. Ideally, you would have a cluster of machines that you could PXE boot to a base OS install and run a complete install of the system. Unfortunately not everyone has a bunch of extra hardware sitting around. For those of us that are a bit on the frugal side, a whole lot of testing can be done with Virtual Machines. Read on for a simple guide to installing OpenStack Compute (Nova) with VirtualBox and Vagrant.</para> - - <simplesect><title>Installing VirtualBox</title> - - <para>VirtualBox is virtualization software by Oracle. It runs on Mac/Linux/Windows and can be controlled from the command line. Note that we will be using VirtualBox 4.0 and the vagrant prerelease.</para> - - <para>OSX</para> - - <literallayout class="monospaced">curl -O http://download.virtualbox.org/virtualbox/4.0.2/VirtualBox-4.0.2-69518-OSX.dmg
open VirtualBox-4.0.2-69518-OSX.dmg</literallayout> - - <para>Ubuntu Maverick</para> - - <literallayout class="monospaced">wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
echo "deb http://download.virtualbox.org/virtualbox/debian maverick contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt-get update
sudo apt-get install -y virtualbox-4.0</literallayout> - - <para>Ubuntu Lucid</para> - - <literallayout class="monospaced">wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
echo "deb http://download.virtualbox.org/virtualbox/debian lucid contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt-get update
sudo apt-get install -y virtualbox-4.0</literallayout></simplesect> - <simplesect><title>Install RubyGems</title> - <para>The following instructions for installing Vagrant use RubyGems for the installation commands. You can download RubyGems from <link xlink:href="http://rubygems.org/pages/download">http://rubygems.org/pages/download</link>. </para> - - - - </simplesect> - <simplesect><title>Get the Vagrant Pre-release</title> - - <para>OSX</para> - - <literallayout class="monospaced">sudo gem update -- system
sudo gem install vagrant -- pre</literallayout> - - <para>Ubuntu Maverick</para> - - <literallayout class="monospaced">sudo gem install vagrant --pre
sudo ln -s /var/lib/gems/1.8/bin/vagrant /usr/local/bin/vagrant</literallayout> - - <para>Ubuntu Lucid</para> - - <literallayout class="monospaced">wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.6.zip
sudo apt-get install -y unzip
unzip rubygems-1.3.6.zip
cd rubygems-1.3.6
sudo ruby setup.rb
sudo gem1.8 install vagrant --pre</literallayout></simplesect> - - <simplesect> <title>Get the Chef Recipes</title> - - <literallayout class="monospaced">cd ~
git clone https://github.com/ansolabs/openstack-cookbooks.git</literallayout> - </simplesect> - <simplesect><title>Set Up Some Directories</title> - - <literallayout class="monospaced">mkdir aptcache
mkdir chef
cd chef</literallayout> - </simplesect> - <simplesect><title>Get the chef-solo Vagrant file</title> - - <para>Provisioning for vagrant can use chef-solo, chef-server, or puppet. We’re going to use chef-solo for the installation of OpenStack Compute.</para> - - <literallayout class="monospaced">curl -o Vagrantfile https://raw.github.com/gist/786945/solo.rb</literallayout> - </simplesect> - <simplesect><title>Running OpenStack Compute within a Vagrant Instance</title> - - <para>Installing and running OpenStack Compute is as simple as typing "vagrant up"</para> - - <literallayout class="monospaced">vagrant up</literallayout> - - <para>In 3-10 minutes, your vagrant instance should be running. NOTE: Some people report an - error from vagrant complaining about MAC addresses the first time they vagrant up. - Doing <code>vagrant up</code> again seems to resolve the problem.</para> - - <literallayout class="monospaced">vagrant ssh</literallayout> - - <para>Now you can run an instance and connect to it:</para> - - <literallayout class="monospaced">. /vagrant/novarc
euca-add-keypair test > test.pem
chmod 600 test.pem
euca-run-instances -t m1.tiny -k test ami-tty
# wait for boot (euca-describe-instances should report running)
ssh -i test.pem root@10.0.0.3</literallayout> - - <para>Yo, dawg, your VMs have VMs! That is, you are now running an instance inside of OpenStack Compute, which itself is running inside a VirtualBox VM.</para> - - <para>When the you are finished, you can destroy the entire system with vagrant destroy. You will also need to remove the .pem files and the novarc if you want to run the system again.</para> - - <literallayout class="monospaced">vagrant destroy
rm *.pem novarc</literallayout></simplesect> - - <simplesect><title>Using the dashboard - - </title><para>The OpenStack Dashboard should be running on 192.168.86.100. You can login using username: admin, password: vagrant.</para> - - </simplesect></section> </chapter> diff --git a/doc/src/docbkx/openstack-compute-admin/computeinstall.xml b/doc/src/docbkx/openstack-compute-admin/computeinstall.xml index 03fe9a0953..c540aab9f2 100644 --- a/doc/src/docbkx/openstack-compute-admin/computeinstall.xml +++ b/doc/src/docbkx/openstack-compute-admin/computeinstall.xml @@ -139,7 +139,7 @@ <section xml:id="installing-openstack-compute-on-rhel6"> <title>Installing on Fedora or Red Hat Enterprise Linux 6</title> - + <?dbhtml stop-chunking?> <para>The Fedora project provides OpenStack packages in Fedora 16 and later. Fedora also provides packages for RHEL6 via the EPEL (Extra Packages for Enterprise Linux) 6 repository. If you would like to install @@ -268,6 +268,7 @@ </section> <section xml:id="configuring-openstack-compute-basics"> + <?dbhtml stop-chunking?> <title>Post-Installation Configuration for OpenStack Compute</title> <para>Configuring your Compute installation involves diff --git a/doc/src/docbkx/openstack-compute-admin/computenetworking.xml b/doc/src/docbkx/openstack-compute-admin/computenetworking.xml index eb9d5d9ba5..f93d326450 100644 --- a/doc/src/docbkx/openstack-compute-admin/computenetworking.xml +++ b/doc/src/docbkx/openstack-compute-admin/computenetworking.xml @@ -385,6 +385,7 @@ brctl delbr br_NNN</literallayout> disconnect any users that are connected with revoked certificates when their connection is renegotiated (every hour). </para> <section xml:id="creating-a-cloudpipe-image"> + <?dbhtml stop-chunking?> <title>Creating a Cloudpipe Image</title> <para> Making a cloudpipe image is relatively easy. @@ -563,7 +564,8 @@ valid_lft forever preferred_lft forever <para>Note that you cannot SSH to an instance with a public IP from within the same server as the routing configuration won't allow it. </para> </section> - <section xml:id="allocating-associating-ip-addresses"><title>Allocating and Associating IP Addresses with Instances</title><para>You can use Euca2ools commands to manage floating IP addresses used with Flat DHCP or VLAN + <section xml:id="allocating-associating-ip-addresses"><title>Allocating and Associating IP Addresses with Instances</title> + <para>You can use nova client commands to manage floating IP addresses used with Flat DHCP or VLAN networking. </para> <para>To assign a reserved IP address to your project, removing it from the pool of diff --git a/doc/src/docbkx/openstack-install/ap_configuration_files.xml b/doc/src/docbkx/openstack-install/ap_configuration_files.xml index b6db93b20a..cae9865a54 100644 --- a/doc/src/docbkx/openstack-install/ap_configuration_files.xml +++ b/doc/src/docbkx/openstack-install/ap_configuration_files.xml @@ -9,11 +9,16 @@ <section xml:id="glance-registry-conf-file"><title>glance-registry.conf</title><para>The Identity service's registry, which stores the metadata about images, is found in /etc/glance/glance-registry.conf. This - file needs to be modified after installing with the - packages. </para> + file needs to be modified after installing. </para> <literallayout class="monospaced"><xi:include parse="text" href="samples/glance-registry.conf"/></literallayout></section> + <section xml:id="glance-registry-paste-file"><title>glance-registry-paste.ini</title> + <para>The Identity service's API middleware pipeline is found in /etc/glance/glance-registry-paste.ini. This + file needs to be modified after installing. </para> + + <literallayout class="monospaced"><xi:include parse="text" + href="samples/glance-registry-paste.ini"/></literallayout></section> <section xml:id="glance-api-conf-file"><title>glance-api.conf</title><para>The configuration file for the Identity API is found in /etc/glance/glance-api.conf. You need to change this file @@ -21,15 +26,23 @@ <literallayout class="monospaced"><xi:include parse="text" href="samples/glance-api.conf"/></literallayout></section> + <section xml:id="glance-api-paste-file"><title>glance-api-paste.ini</title> + <para>The Identity service's API middleware pipeline is found in /etc/glance/glance-api-paste.ini. This + file needs to be modified after installing. </para> + + <literallayout class="monospaced"><xi:include parse="text" + href="samples/glance-api-paste.ini"/></literallayout></section> + <section xml:id="glance-scrubber-conf-file"><title>glance-scrubber.conf</title><para>An additional configuration file for the Identity service is found in /etc/glance/glance-scrubber.conf. You need to ensure you point to the mysql database in this configuration file. </para> <literallayout class="monospaced"><xi:include parse="text" href="samples/glance-scrubber.conf"/></literallayout></section> <section xml:id="nova-conf-file"><title>nova.conf</title><para>The configuration file for Compute (nova) settings is stored in - /etc/nova/nova.conf. To see a list of all possible flags - for this file, you can run nova-<service> --help from - the command line, for example, nova-api --help. </para> + /etc/nova/nova.conf. To see a list of all possible + configuration options for this file, refer to the + OpenStack wiki at + <link xlink:href="http://wiki.openstack.org/NovaConfigOptions">http://wiki.openstack.org/NovaConfigOptions</link>. </para> <literallayout class="monospaced"><xi:include parse="text" href="samples/nova.conf" /></literallayout></section> <section xml:id="api-paste-ini-file"><title>api-paste.ini</title><para>The configuration file for Compute (Nova) for the EC2 API and diff --git a/doc/src/docbkx/openstack-install/bk_openstackinstallguide.xml b/doc/src/docbkx/openstack-install/bk_openstackinstallguide.xml index 0465ee6a51..017ccbec6e 100644 --- a/doc/src/docbkx/openstack-install/bk_openstackinstallguide.xml +++ b/doc/src/docbkx/openstack-install/bk_openstackinstallguide.xml @@ -23,9 +23,9 @@ <year>2012</year> <holder>OpenStack LLC</holder> </copyright> - <releaseinfo>stable/diablo</releaseinfo> + <releaseinfo>essex</releaseinfo> <productname>OpenStack</productname> - <pubdate>2012-01-24</pubdate> + <pubdate>2012-03-19</pubdate> <legalnotice role="apache2"> <annotation> <remark>Copyright details are filled in by the template.</remark> @@ -46,12 +46,37 @@ files. </para> </abstract> <revhistory> + <revision> + <date>2012-03-09</date> + <revdescription> + <itemizedlist spacing="compact"> + <listitem> + <para>Updates for Essex release, includes + new Glance config files, new Keystone + configuration.</para> + </listitem> + </itemizedlist> + </revdescription> + </revision> + <revision> + <date>2012-01-24</date> + <revdescription> + <itemizedlist spacing="compact"> + <listitem> + <para>Initial draft for Essex.</para> + <itemizedlist> + <listitem><para>Assumes use of Ubuntu 12.04 repository.</para></listitem> + </itemizedlist> + </listitem> + </itemizedlist> + </revdescription> + </revision> <revision> <date>2011-01-24</date> <revdescription> <itemizedlist spacing="compact"> <listitem> - <para>Initial draft.</para> + <para>Initial draft for Diablo.</para> </listitem> </itemizedlist> </revdescription> diff --git a/doc/src/docbkx/openstack-install/ch_installcomputeimage.xml b/doc/src/docbkx/openstack-install/ch_installcomputeimage.xml index 5a41748364..0fa57d939f 100644 --- a/doc/src/docbkx/openstack-install/ch_installcomputeimage.xml +++ b/doc/src/docbkx/openstack-install/ch_installcomputeimage.xml @@ -6,7 +6,6 @@ <title>Installing OpenStack Compute and Image Service</title> <para>The OpenStack Compute and Image services work together to provide access to virtual servers and images through REST APIs.</para> <xi:include href="install-config-glance.xml" /> - <xi:include href="configure-creds.xml" /> <xi:include href="images-verifying-install.xml" /> <xi:include href="compute-assumptions-installation.xml" /> <xi:include href="compute-config-guest-network.xml" /> @@ -17,8 +16,8 @@ <xi:include href="compute-db-sync.xml"/> <xi:include href="compute-create-network.xml" /> <xi:include href="compute-verifying-install.xml" /> - - <!--<xi:include href="installing-additional-compute-nodes.xml" />--> + <xi:include href="configure-creds.xml" /> + <xi:include href="installing-additional-compute-nodes.xml" /> <!--<xi:include href="nova-manage-initial-user-project.xml" />--> <!--<xi:include href="enable-access-security-group.xml" />--> <!--<xi:include href="compute-migrating-from-cactus-to-diablo.xml"/>--> diff --git a/doc/src/docbkx/openstack-install/ch_installidentity.xml b/doc/src/docbkx/openstack-install/ch_installidentity.xml index ce3c1fa71c..b9b74b7304 100644 --- a/doc/src/docbkx/openstack-install/ch_installidentity.xml +++ b/doc/src/docbkx/openstack-install/ch_installidentity.xml @@ -4,9 +4,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="ch_installing-openstack-identity-service"> <title>Installing OpenStack Identity Service </title> - <para>The OpenStack Identity service manages users, tenants (accounts) and offers a common identity system for all the OpenStack components.</para> + <para>The OpenStack Identity service manages users, tenants + (accounts or projects) and offers a common identity system for + all the OpenStack components.</para> - <xi:include href="identity-install-keystone.xml" /> - <xi:include href="identity-config-keystone.xml" /> + <xi:include href="identity-install-keystone.xml"/> <xi:include href="identity-verify-install.xml" /> </chapter> diff --git a/doc/src/docbkx/openstack-install/ch_installing-openstack-overview.xml b/doc/src/docbkx/openstack-install/ch_installing-openstack-overview.xml index 7832b0696d..459f2e7811 100644 --- a/doc/src/docbkx/openstack-install/ch_installing-openstack-overview.xml +++ b/doc/src/docbkx/openstack-install/ch_installing-openstack-overview.xml @@ -16,12 +16,14 @@ such as images or videos. This walk-through starts with Compute and related services and we will add Object Storage at a later date.</para> - <para>This installation walk-through goes through a very specific - path for installing OpenStack on Ubuntu 11.04 or 11.10 with - root access and specific configuration settings using MySQL - for related databases. Here are the overall steps:</para> + <para>Here are the overall steps:</para> <orderedlist> - <listitem><para>Select a set of packages for your repository.</para></listitem> + <listitem><para>Review the most supported platforms.</para> + <para>This installation walk-through goes through a + very specific path for installing OpenStack on Ubuntu + 12.04 with root access and specific configuration + settings using MySQL for related databases. Fedora and + Ubuntu are the most tested platforms currently. </para></listitem> <listitem> <para>Install the Identity Service (Keystone).</para> </listitem> @@ -65,7 +67,5 @@ </orderedlist> <xi:include href="compute-sys-requirements.xml" /> <xi:include href="compute-network-planning.xml" /> - <xi:include href="preconfig-rcb-packages.xml" /> - <xi:include href="preconfig-managedit-packages.xml" /> <xi:include href="installing-ntp.xml" /> </chapter> diff --git a/doc/src/docbkx/openstack-install/compute-assumptions-installation.xml b/doc/src/docbkx/openstack-install/compute-assumptions-installation.xml index 7d95a162ea..92fda29757 100644 --- a/doc/src/docbkx/openstack-install/compute-assumptions-installation.xml +++ b/doc/src/docbkx/openstack-install/compute-assumptions-installation.xml @@ -6,12 +6,12 @@ <title>Packaged Compute Installation with the Image and Identity Services</title> <para>The manual installation involves installing OpenStack - Compute from packages on Ubuntu 11.04 or 11.10 as a user named - nova with root permission. This guide is written with all - commands prefixed with sudo.</para> + Compute from packages on Ubuntu 12.04 as a user named nova + with root permission. This guide is written with all commands + prefixed with sudo.</para> <para>Our assumptions for this installation are that you have a - base Ubuntu Server 11.04 or 11.10 ready. For this - installation, use the following assumptions:</para> + base Ubuntu Server 12.04 ready. For this installation, use the + following assumptions:</para> <para> <itemizedlist> <listitem><para>Installing with a user with sudo access named "nova" (though you can use any username).</para></listitem> @@ -40,7 +40,7 @@ <para>FlatDHCP with a single network interface.</para> </listitem> <listitem> - <para>KVM or QEMU as the hypervisor.</para> + <para>KVM or Xen as the hypervisor. </para> </listitem> <listitem> <para>Ensure the operating system is @@ -58,11 +58,6 @@ node contains all the nova- services including the API server and the database server. The compute node needs to run only the nova-compute service. You only need one nova-network - service running in a multi-node install. You cannot install - nova-objectstore on a different machine from nova-compute, - although production-style deployments will use an Image - Service (Glance) server for virtual images so you do not need - to install nova-objectstore when using the Image - Service.</para> + service running in a multi-node install. </para> </section> \ No newline at end of file diff --git a/doc/src/docbkx/openstack-install/compute-cloud-controller.xml b/doc/src/docbkx/openstack-install/compute-cloud-controller.xml index 6f758299f1..ac74968bdc 100644 --- a/doc/src/docbkx/openstack-install/compute-cloud-controller.xml +++ b/doc/src/docbkx/openstack-install/compute-cloud-controller.xml @@ -4,8 +4,9 @@ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> <title>Installing the Cloud Controller</title> - <para>Install - the messaging queue server, RabbitMQ.</para> + <para>Install the messaging queue server, RabbitMQ. You also have + the option of installing Apache Qpid, refer to the Compute + Administration Manual for instructions.</para> <literallayout class="monospaced">sudo apt-get install rabbitmq-server</literallayout> <para>Install the required nova- packages, and dependencies are automatically installed.</para> diff --git a/doc/src/docbkx/openstack-install/compute-db-sync.xml b/doc/src/docbkx/openstack-install/compute-db-sync.xml index e27fc3c716..6a1d1eb483 100644 --- a/doc/src/docbkx/openstack-install/compute-db-sync.xml +++ b/doc/src/docbkx/openstack-install/compute-db-sync.xml @@ -11,7 +11,7 @@ response means the command completed correctly and your nova database is now populated.</para> - <para>On both nodes, restart all services in total, just to cover the entire + <para>Restart all services in total, just to cover the entire spectrum: </para> <para> <literallayout class="monospaced">sudo restart nova-api diff --git a/doc/src/docbkx/openstack-install/compute-minimum-configuration.xml b/doc/src/docbkx/openstack-install/compute-minimum-configuration.xml index d6038218a2..860c608c48 100644 --- a/doc/src/docbkx/openstack-install/compute-minimum-configuration.xml +++ b/doc/src/docbkx/openstack-install/compute-minimum-configuration.xml @@ -22,29 +22,29 @@ sudo usermod -g nova nova sudo chown -R root:nova /etc/nova sudo chmod 640 /etc/nova/nova.conf</literallayout> - <para>The hypervisor is set either by editing - /etc/nova/nova.conf or referring to nova-compute.conf in - the nova.conf file. The hypervisor defaults to "kvm", but - if you are working within a VM already, switch to "qemu" - on the --libvirt_type= line. </para> + <para>The hypervisor is set either by editing /etc/nova/nova.conf + or referring to nova-compute.conf in the nova.conf file. The + hypervisor defaults to "kvm", but if you are working within a + VM already, switch to "qemu" on the --libvirt_type= line. To + use Xen, refer to the overview in this book for where to + install nova components. </para> <para>Ensure the database connection defines your backend data - store by adding a --sql_connection line to nova.conf: - "--sql_connection=mysql://[ user ]:[ pass ]@[ primary IP - ]/[ db name ]", such as - --sql_connection=mysql://nova:yourpassword@192.168.206.130/nova.</para> - <para>Add these settings to /etc/nova/nova.conf for the - network configuration assumptions made for this - installation scenario. You can place comments in the - nova.conf file by entering a new line with a # sign at the - beginning of the line. To see a listing of all possible - flag settings, see the output of running /bin/nova-api - --help.</para> - <literallayout class="monospaced">--network_manager=nova.network.manager.FlatDHCPManager ---fixed_range=192.168.100.0/24 ---flat_network_dhcp_start=192.168.100.2 ---public_interface=eth0 ---flat_interface=eth0 ---flat_network_bridge=br100</literallayout> + store by adding a sql_connection line to nova.conf: + "sql_connection=mysql://[ user ]:[ pass ]@[ primary IP ]/[ db + name ]", such as + sql_connection=mysql://nova:yourpassword@192.168.206.130/nova.</para> + <para>Add these settings to /etc/nova/nova.conf for the network + configuration assumptions made for this installation scenario. + You can place comments in the nova.conf file by entering a new + line with a # sign at the beginning of the line. To see a + listing of all possible configuration option settings, see + <link xlink:href="http://wiki.openstack.org/NovaConfigOptions">http://wiki.openstack.org/NovaConfigOptions</link>.</para> + <literallayout class="monospaced">network_manager=nova.network.manager.FlatDHCPManager +fixed_range=192.168.100.0/24 +flat_network_dhcp_start=192.168.100.2 +public_interface=eth0 +flat_interface=eth0 +flat_network_bridge=br100</literallayout> <para>Here is an example nova.conf with commented sections:</para> <para><literallayout class="monospaced"><xi:include parse="text" href="samples/nova.conf"/> diff --git a/doc/src/docbkx/openstack-install/compute-sys-requirements.xml b/doc/src/docbkx/openstack-install/compute-sys-requirements.xml index eef9e5eacb..b8096cd9e6 100644 --- a/doc/src/docbkx/openstack-install/compute-sys-requirements.xml +++ b/doc/src/docbkx/openstack-install/compute-sys-requirements.xml @@ -83,13 +83,11 @@ </table> <para><emphasis role="bold">Operating System</emphasis>: OpenStack currently has packages for the following distributions: - Ubuntu, RHEL, SUSE, Debian, and Fedora. These packages are - maintained by community members, refer to <link + CentOS, Debian, Fedora, RHEL, Debian, and Ubuntu. These + packages are maintained by community members, refer to <link xlink:href="http://wiki.openstack.org/Packaging" >http://wiki.openstack.org/Packaging</link> for additional - links. This guide refers to packages from two community - sources: Rackspace Cloud Builder packages for Ubuntu Maverick, - Natty, or Oneiric and Managed IT packages for Oneiric.</para> + links.</para> <para><emphasis role="bold">Database</emphasis>: For OpenStack Compute, you need access to either a PostgreSQL or MySQL database, or you can install it as part of the diff --git a/doc/src/docbkx/openstack-install/compute-verifying-install.xml b/doc/src/docbkx/openstack-install/compute-verifying-install.xml index f63cc0cb44..6bcf874103 100644 --- a/doc/src/docbkx/openstack-install/compute-verifying-install.xml +++ b/doc/src/docbkx/openstack-install/compute-verifying-install.xml @@ -16,7 +16,8 @@ nova-compute ubuntu nova enabled command:</para> <literallayout class="monospaced">sudo nova-manage version list</literallayout> - <para>The version number 2011.3 corresponds with the Diablo release of Compute.</para> + <para>The version number 2012.1 corresponds with the Essex + release of Compute.</para> - <literallayout class="monospaced">2011.3 (2011.3-LOCALBRANCH:LOCALREVISION)</literallayout> + <literallayout class="monospaced">2012.1 (2012.1-LOCALBRANCH:LOCALREVISION)</literallayout> </section> diff --git a/doc/src/docbkx/openstack-install/dashboard-verify.xml b/doc/src/docbkx/openstack-install/dashboard-verify.xml index c880a715fd..a53bd7ded6 100644 --- a/doc/src/docbkx/openstack-install/dashboard-verify.xml +++ b/doc/src/docbkx/openstack-install/dashboard-verify.xml @@ -7,10 +7,10 @@ <para>To validate the Dashboard installation, point your browser at http://192.168.206.130. Note that you cannot use VNC Console from a Chrome browser. You need both Flash installed and a - Firefox browser . Once you connect to the Dashboard with the + Firefox browser. Once you connect to the Dashboard with the URL, you should see a login window. Enter the credentials for users you created with the Identity Service, Keystone. For - example, enter "admin" for the username and "secretword" as + example, enter "adminUser" for the username and "secretword" as the password.</para> <mediaobject> <imageobject role="fo"> diff --git a/doc/src/docbkx/openstack-install/figures/dashboard-overview.png b/doc/src/docbkx/openstack-install/figures/dashboard-overview.png index 1d1fb0d7ceb701271efcfad63d28c95ea450027f..3d26cb5d709447493aefd58a3160885cda789046 100644 GIT binary patch literal 72173 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 literal 88796 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 Zm>fJv*iaRi{SUxLLPS=$N>I=Le*qi1A*=uZ diff --git a/doc/src/docbkx/openstack-install/identity-config-keystone.xml b/doc/src/docbkx/openstack-install/identity-config-keystone.xml index 90eb236e19..af601e0e1e 100644 --- a/doc/src/docbkx/openstack-install/identity-config-keystone.xml +++ b/doc/src/docbkx/openstack-install/identity-config-keystone.xml @@ -2,47 +2,41 @@ <section xml:id="identity-configure-keystone" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" - xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"><title>Defining Roles and Users in the Identity Service (Keystone)</title> + xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> + <title>Defining Roles and Users in the Identity Service (Keystone)</title> <para>Before you begin, ensure that the OpenStack Compute and Image services are installed and connect all databases prior to configuring the Identity Service endpoints. </para> - <para>Next you add the default tenant, an administrator, roles, - and users to get a working installation started. The initial - tenant, username, and password is openstackdemo, admin, and - secretword.</para> -<para>First, add two tenants, one named openstackDemo, one named - adminTenant.</para> -<literallayout class="monospaced">sudo keystone-manage tenant add openstackDemo -sudo keystone-manage tenant add adminTenant</literallayout> - <para>In return for these commands, you should see a SUCCESS - message, such as:</para> - <para> - <literallayout class="monospaced">SUCCESS: Tenant openstackDemo created.</literallayout> - </para> -<para>Now, add users and assign their passwords.</para> -<literallayout class="monospaced">sudo keystone-manage user add adminUser secretword -sudo keystone-manage user add demoUser secretword</literallayout> -<para>Now add an invented token (any combination of numbers and - letters will do) to the admin user for the openstackdemo - tenant and ensure there's an expiration date assigned. This - one expires in about four years.</para> -<literallayout class="monospaced">sudo keystone-manage token add 11121314151617181920 adminUser adminTenant 2015-02-05T00:0 </literallayout> - <para>If you see an error like "Creating a token requires a token - id, user, tenant, and expiration" it's possible you're missing - the expiration date. </para> -<para>Create the Admin role and the Member role.</para> -<literallayout class="monospaced">sudo keystone-manage role add Admin -sudo keystone-manage role add Member</literallayout> -<para>Grant the Admin role to the admin user and then grant the Member - role to the demo user.</para> -<literallayout class="monospaced">sudo keystone-manage role grant Admin adminUser -sudo keystone-manage role grant Member demoUser</literallayout> -<para>Grant the Admin role to the adminUser user for the openstackDemo - and adminTenant tenant. Grant the Member role to the demoUser - for the openstackDemo tenant.</para> -<literallayout class="monospaced">sudo keystone-manage role grant Admin adminUser openstackDemo -sudo keystone-manage role grant Admin adminUser adminTenant -sudo keystone-manage role grant Member demoUser openstackDemo</literallayout> + <para>Create tenants first. Here is an example set.</para> + <literallayout class="monospaced">ADMIN_TENANT=$(get_id keystone tenant-create --name=admin) + SERVICE_TENANT=$(get_id keystone tenant-create --name=$SERVICE_TENANT_NAME) + DEMO_TENANT=$(get_id keystone tenant-create --name=demo) + INVIS_TENANT=$(get_id keystone tenant-create --name=invisible_to_admin)</literallayout> + <para>Next, create users.</para> + <literallayout class="monospaced">ADMIN_USER=$(get_id keystone user-create --name=admin \ + --pass="$ADMIN_PASSWORD" \ + --email=admin@example.com) + DEMO_USER=$(get_id keystone user-create --name=demo \ + --pass="$ADMIN_PASSWORD" \ + --email=demo@example.com)</literallayout> + <para>Here are some roles to create.</para> + <literallayout class="monospaced">ADMIN_ROLE=$(get_id keystone role-create --name=admin) + KEYSTONEADMIN_ROLE=$(get_id keystone role-create --name=KeystoneAdmin) + KEYSTONESERVICE_ROLE=$(get_id keystone role-create --name=KeystoneServiceAdmin) + SYSADMIN_ROLE=$(get_id keystone role-create --name=sysadmin) + NETADMIN_ROLE=$(get_id keystone role-create --name=netadmin)</literallayout> + <para>Add Roles to Users in Tenants</para> + <literallayout class="monospaced">keystone user-role-add --user $ADMIN_USER --role $ADMIN_ROLE --tenant_id $ADMIN_TENANT + keystone user-role-add --user $ADMIN_USER --role $ADMIN_ROLE --tenant_id $DEMO_TENANT + keystone user-role-add --user $DEMO_USER --role $SYSADMIN_ROLE --tenant_id $DEMO_TENANT + keystone user-role-add --user $DEMO_USER --role $NETADMIN_ROLE --tenant_id $DEMO_TENANT + keystone user-role-add --user $ADMIN_USER --role $KEYSTONEADMIN_ROLE --tenant_id $ADMIN_TENANT + keystone user-role-add --user $ADMIN_USER --role $KEYSTONESERVICE_ROLE --tenant_id $ADMIN_TENANT + </literallayout> + <para>Also, the Member role is used by Horizon and Swift so we need to continue creating it:</para> + <literallayout class="monospaced">MEMBER_ROLE=$(get_id keystone role-create --name=Member) + keystone user-role-add --user $DEMO_USER --role $MEMBER_ROLE --tenant_id $DEMO_TENANT + keystone user-role-add --user $DEMO_USER --role $MEMBER_ROLE --tenant_id $INVIS_TENANT</literallayout> <section xml:id="identity-define-services-endpoints"> <title>Define Services and Endpoints</title> @@ -50,24 +44,38 @@ sudo keystone-manage role grant Member demoUser openstackDemo</literallayout> been created, let's move on to endpoints. </para> <para>First add all the services you want to have the Identity service connected with. Here's an example using all the - available services in this example. You may see an - IntegrityError error when using the Manage IT packages and - issuing these - commands.<literallayout class="monospaced">sudo keystone-manage service add nova compute "Nova Compute Service" -sudo keystone-manage service add glance image "Glance Image Service" -sudo keystone-manage service add keystone identity "Keystone Identity Service"<!--sudo keystone-manage service add swift object-store "Swift Object Storage Service"--></literallayout></para> - <para>Now add endpoint templates each of these now-named services, - which put together the IP addresses, port values, and API - version number to make an entire endpoint. - <literallayout class="monospaced">sudo keystone-manage endpointTemplates add RegionOne nova http://192.168.206.130:8774/v1.1/%tenant_id% http://192.168.206.130:8774/v1.1/%tenant_id% http://192.168.206.130:8774/v1.1/%tenant_id% 1 1 -sudo keystone-manage endpointTemplates add RegionOne glance http://192.168.206.130:9292/v1 http://192.168.206.130:9292/v1 http://192.168.206.130:9292/v1 1 1 -sudo keystone-manage endpointTemplates add RegionOne keystone http://192.168.206.130:5000/v2.0 http://192.168.206.130:35357/v2.0 http://192.168.206.130:5000/v2.0 1 1<!--sudo keystone-manage endpointTemplates add RegionOne glance http://192.168.206.130:9292/v1.1/%tenant_id% http://192.168.206.130:9292/v1.1/%tenant_id% http://192.168.206.130:9292/v1.1/%tenant_id% 1 1 --><!--sudo keystone-manage endpointTemplates add RegionOne swift http://192.168.206.130:8080/v1/AUTH_%tenant_id% http://192.168.206.130:8080/ http://192.168.206.130:8080/v1/AUTH_%tenant_id% 1 1--></literallayout></para> + available services in this example.</para> + + <literallayout class="monospaced">keystone service-create --name=keystone \ + --type=identity \ + --description="Keystone Identity Service" -<para>Optionally, you can add EC2 credentials to the Identity Service for any commands you may want to use euca2ools for.</para> - <literallayout class="monospaced">sudo keystone-manage credentials add adminUser EC2 'secretword' adminTenant -sudo keystone-manage credentials add demoUser EC2 'secretword' openstackDemo</literallayout> +keystone service-create --name=nova \ + --type=compute \ + --description="Nova Compute Service" +NOVA_USER=$(get_id keystone user-create --name=nova \ + --pass="$SERVICE_PASSWORD" \ + --tenant_id $SERVICE_TENANT \ + --email=nova@example.com) +keystone user-role-add --tenant_id $SERVICE_TENANT \ + --user $NOVA_USER \ + --role $ADMIN_ROLE + +keystone service-create --name=ec2 \ + --type=ec2 \ + --description="EC2 Compatibility Layer" + +keystone service-create --name=glance \ + --type=image \ + --description="Glance Image Service" +GLANCE_USER=$(get_id keystone user-create --name=glance \ + --pass="$SERVICE_PASSWORD" \ + --tenant_id $SERVICE_TENANT \ + --email=glance@example.com) +keystone user-role-add --tenant_id $SERVICE_TENANT \ + --user $GLANCE_USER \ + --role $ADMIN_ROLE</literallayout> <para>The Identity Service, Keystone, is now configured and ready to accept requests.</para> </section> - </section> diff --git a/doc/src/docbkx/openstack-install/identity-install-keystone.xml b/doc/src/docbkx/openstack-install/identity-install-keystone.xml index d8bb57d8bd..43f8562af4 100644 --- a/doc/src/docbkx/openstack-install/identity-install-keystone.xml +++ b/doc/src/docbkx/openstack-install/identity-install-keystone.xml @@ -4,69 +4,239 @@ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> <title>Installing and Configuring the Identity Service</title> - - <para>Install the Identity service:</para> + <para>Install the Identity service on any server that is + accessible to the other servers you intend to use for OpenStack + services:</para> <literallayout class="monospaced">sudo apt-get install keystone</literallayout> - <para>Install curl, a command-line tool for running REST API - requests:</para> - <literallayout class="monospaced">sudo apt-get install curl</literallayout> - <para>After installing, you need to delete the sqlite database it - creates, then change the configuration to point to the mysql - database. </para> - <para>Delete the keystone.db file created in the - /var/lib/keystone/ - directory.<literallayout class="monospaced">sudo rm /var/lib/keystone/keystone.db</literallayout></para> - <para>Configure the production-ready backend data store. For - Compute you must use a SQLAlchemy-compatible database, such as - MySQL or PostgreSQL. This example shows MySQL.</para> - <para>First, install MySQL with: - <literallayout class="monospaced">sudo apt-get install python-mysqldb mysql-server</literallayout></para> - <para>During the install, you'll be prompted for the mysql root + <para>After installing, you need to delete the sqlite database it + creates, then change the configuration to point to the mysql + database. </para> + <para>Delete the keystone.db file created in the + /var/lib/keystone/ + directory.<literallayout class="monospaced">sudo rm /var/lib/keystone/keystone.db</literallayout></para> + <para>Configure the production-ready backend data store. For + Compute you must use a SQLAlchemy-compatible database, such as + MySQL or PostgreSQL. This example shows MySQL.</para> + <para>First, install MySQL with: + <literallayout class="monospaced">sudo apt-get install python-mysqldb mysql-server</literallayout></para> + <para>During the install, you'll be prompted for the mysql root password. Enter a password of your choice and verify it.</para> - <para>Edit /etc/mysql/my.cnf to change "bind-address" from - localhost (127.0.0.1) to any (0.0.0.0) and restart the mysql - service: </para> - <para> - <literallayout class="monospaced">sudo sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf + <para>Edit /etc/mysql/my.cnf to change "bind-address" from + localhost (127.0.0.1) to any (0.0.0.0) and restart the mysql + service: </para> + <para> + <literallayout class="monospaced">sudo sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf sudo service mysql restart</literallayout></para> - <para>For MySQL, create a MySQL database named "keystone" and a - MySQL user named "keystone". Grant the "keystone" user full - access to the "keystone" MySQL database.</para> - - <para>Start the mysql command line client by running:</para> - <para><literallayout class="monospaced">mysql -u root -p</literallayout></para> - <para>Enter the mysql root user's password when prompted.</para> - <para>To configure the MySQL database, create the keystone database. </para> - <para><literallayout class="monospaced">mysql> CREATE DATABASE keystone;</literallayout></para> - <para>Create a MySQL user for the newly-created keystone database that - has full control of the database. </para> - <para><literallayout class="monospaced">mysql> GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'yourpassword';</literallayout></para> - <para>Enter quit at the mysql> prompt to exit MySQL.</para> - <para><literallayout class="monospaced">mysql> quit</literallayout></para> - <para>Edit /etc/keystone/keystone.conf to include the - --sql_connection to use the backend data store you just - created. Ensure that it is owned by root and chmod is set to - 0640 since it contains your mysql password. (You do leave the "default_store" as sqlite, however.) </para> - <literallayout class="monospaced">sudo nano /etc/keystone/keystone.conf -sudo chown keystone:root /etc/keystone/keystone.conf -sudo chmod 0640 /etc/keystone/keystone.conf - </literallayout> - <para>Here is an - example section:</para> - <literallayout class="monospaced">[keystone.backends.sqlalchemy] -# SQLAlchemy connection string for the reference implementation registry -# server. Any valid SQLAlchemy connection string is fine. -# See: http://bit.ly/ideIpI -sql_connection = mysql://keystone:yourpassword@192.168.206.130/keystone -backend_entities = ['UserRoleAssociation', 'Endpoints', 'Role', 'Tenant', - 'User', 'Credentials', 'EndpointTemplates', 'Token', - 'Service']</literallayout> - <para>Edit /etc/keystone/keystone.conf to use the IP address and - ports for your environment. Here is an example keystone.conf. Ensure that the ports for keystone are correct, since the default keystone auth port changed from 5001 to 35357 - and the packages install a conf file with 5001 for the auth_port setting. - <literallayout class="monospaced"><xi:include parse="text" href="samples/keystone.conf"></xi:include></literallayout></para> - <para>Restart the Identity Service. </para> - <literallayout class="monospaced">sudo service keystone restart</literallayout> -<para>Next, you configure the Identity Service by defining roles and - users. </para> -</section> + <para>For MySQL, create a MySQL database named "keystone" and a + MySQL user named "keystone". Grant the "keystone" user full + access to the "keystone" MySQL database.</para> + + <para>Start the mysql command line client by running:</para> + <para><literallayout class="monospaced">mysql -u root -p</literallayout></para> + <para>Enter the mysql root user's password when prompted.</para> + <para>To configure the MySQL database, create the keystone database. </para> + <para><literallayout class="monospaced">mysql> CREATE DATABASE keystone;</literallayout></para> + <para>Create a MySQL user for the newly-created keystone database that + has full control of the database. </para> + <para><literallayout class="monospaced">mysql> GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'yourpassword';</literallayout></para> + <para>Enter quit at the mysql> prompt to exit MySQL.</para> + <para><literallayout class="monospaced">mysql> quit</literallayout></para> + <para>Once Keystone is installed, it is configured via a primary + configuration file + (<literal>etc/keystone/keystone.conf</literal>), and by + initializing data into keystone using the command line client. By + default, Keystone's data store is sqlite. To change the data store + to mysql, change the line defining "connection" in + <filename>etc/keystone/keystone.conf</filename> like + so:<screen>connection = mysql://keystone:yourpassword@localhost/keystone</screen></para> + <para>Next, restart the keystone service so that it picks up the new + database configuration. + <screen>sudo service keystone restart</screen></para> + <para>Lastly, initialize the new keystone + database:<screen>sudo keystone-manage db_sync</screen></para> + <section xml:id="configure-keystone"> + <title>Configuring Services to work with Keystone</title> + <para> Once Keystone is installed and running, you set up users and + tenants and services to be configured to work with it. </para> + <section xml:id="setting-up-tenants-users-and-roles"> + <title>Setting up tenants, users, and roles</title> + <para> + You need to minimally define a tenant, user, and role to link + the tenant and user as the most basic set of details to get + other services authenticating and authorizing with keystone. + </para> + <para> First, create a default tenant, we'll name it + openstackDemo in this example.</para> + <screen><prompt>$ </prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 tenant-create --name openstackDemo --description "Default Tenant" --enabled true</userinput></screen> +<programlisting> +-------------+----------------------------------+ + | Property | Value | + +-------------+----------------------------------+ + | description | Default Tenant | + | enabled | true | + | id | 9ae969031816484a8e2172c3700cbfcc | + | name | openstackDemo | + +-------------+----------------------------------+</programlisting> + + <para>Create a default user named adminUser. </para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-create --tenant_id $tenant_id_from_value_above --name adminUser --pass secretword --enabled true</userinput></screen> +<programlisting> +----------+-------------------------------------------------------------------------------------------------------------------------+ + | Property | Value | + +----------+-------------------------------------------------------------------------------------------------------------------------+ + | email | None | + | enabled | true | + | id | a4c2d43f80a549a19864c89d759bb3fe | + | name | admin | + | password | $6$rounds=40000$MsFWIgIfbAHnhUH8$vvSK9/Uy3P5BTdH0kn.0MH.xFHAR2pWQCpTRLTENPs.3w53jb5BbbkIKHnkTbzWW3xVwqsb3W5e./3EIaNPeP0 | + | tenantId | b5815b046cfe47bb891a7b64119e7f80 | + +----------+-------------------------------------------------------------------------------------------------------------------------+</programlisting> + + <para>Create the default roles, adminRole and memberRole.</para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 role-create --name adminRole</userinput></screen> +<programlisting> +----------+----------------------------------+ + | Property | Value | + +----------+----------------------------------+ + | id | e3d9d157cc95410ea45d23bbbc2e5c10 | + | name | adminRole | + +----------+----------------------------------+</programlisting> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 role-create --name memberRole</userinput></screen> +<programlisting> +----------+----------------------------------+ + | Property | Value | + +----------+----------------------------------+ + | id | cffc2edea9c74b4a8779cc0d7a22fc21 | + | name | memberRole | + +----------+----------------------------------+</programlisting> + + <para>Grant the 'adminRole' role to the 'adminUser' user in the + 'openstack' tenant with "user-role-add".</para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-role-add --user a4c2d43f80a549a19864c89d759bb3fe --tenant_id b5815b046cfe47bb891a7b64119e7f80 --role e3d9d157cc95410ea45d23bbbc2e5c10</userinput></screen> + <para>There is no output to this command.</para> + <para>Create a Service Tenant. This tenant contains all the + services that we make known to the service catalog. </para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 tenant-create --name service --description "Service Tenant" --enabled true</userinput></screen> + <programlisting> +-------------+----------------------------------+ + | Property | Value | + +-------------+----------------------------------+ + | description | Service Tenant | + | enabled | true | + | id | eb7e0c10a99446cfa14c244374549e9d | + | name | service | + +-------------+----------------------------------+</programlisting> + + <para>Create a Glance Service User in the Service Tenant. You'll do this for any service you add to be in the Keystone service catalog.</para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-create --tenant_id eb7e0c10a99446cfa14c244374549e9d --name glance --pass glance --enabled true</userinput></screen> +<programlisting> +----------+-------------------------------------------------------------------------------------------------------------------------+ + | Property | Value | + +----------+-------------------------------------------------------------------------------------------------------------------------+ + | email | None | + | enabled | true | + | id | 46b2667a7807483d983e0b4037a1623b | + | name | glance | + | password | $6$rounds=40000$kf1ENaCoy7wOfRjx$LKQtsQbBqSBr2ZH7fwToAut0EYYz6M278N16Xg4Va2vTEOFabvTVXCdCP4hA5ikdCQO8Mh1nJvuFMEvGHaht3/ | + | tenantId | eb7e0c10a99446cfa14c244374549e9d | + +----------+-------------------------------------------------------------------------------------------------------------------------+</programlisting> + + <para>Grant the 'admin' role to the 'glance' user in the 'service' tenant.</para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-role-add --user 46b2667a7807483d983e0b4037a1623b --tenant_id eb7e0c10a99446cfa14c244374549e9d --role e3d9d157cc95410ea45d23bbbc2e5c10</userinput></screen> + <para>There is no output to this command. + </para> + <para>Create a Nova Service User in the Service Tenant. </para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-create --tenant_id eb7e0c10a99446cfa14c244374549e9d --name nova --pass nova --enabled true</userinput></screen> + <programlisting> +----------+-------------------------------------------------------------------------------------------------------------------------+ + | Property | Value | + +----------+-------------------------------------------------------------------------------------------------------------------------+ + | email | None | + | enabled | true | + | id | 54b3776a8707834d983e0b4037b1345c | + | name | nova | + | password | $6$rounds=40000$kf1ENaCoy7wOfRjx$LKQtsQbBqSBr2ZH7fwToAut0EYYz6M278N16Xg4Va2vTEOFabvTVXCdCP4hA5ikdCQO8Mh1nJvuFMEvGHaht3/ | + | tenantId | eb7e0c10a99446cfa14c244374549e9d | + +----------+-------------------------------------------------------------------------------------------------------------------------+</programlisting> + + <para>Grant the 'admin' role to the 'nova' user in the 'service' tenant.</para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-role-add --user 46b2667a7807483d983e0b4037a1623b --tenant_id eb7e0c10a99446cfa14c244374549e9d --role e3d9d157cc95410ea45d23bbbc2e5c10</userinput></screen> + <para>There is no output to this command. + </para> + <para>Create an EC2 Service User in the Service Tenant. </para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-create --tenant_id eb7e0c10a99446cfa14c244374549e9d --name ec2 --pass ec2 --enabled true</userinput></screen> + <programlisting> +----------+-------------------------------------------------------------------------------------------------------------------------+ + | Property | Value | + +----------+-------------------------------------------------------------------------------------------------------------------------+ + | email | None | + | enabled | true | + | id | 32e7668b8707834d983e0b4037b1345c | + | name | ec2 | + | password | $6$rounds=40000$kf1ENaCoy7wOfRjx$LKQtsQbBqSBr2ZH7fwToAut0EYYz6M278N16Xg4Va2vTEOFabvTVXCdCP4hA5ikdCQO8Mh1nJvuFMEvGHaht3/ | + | tenantId | eb7e0c10a99446cfa14c244374549e9d | + +----------+-------------------------------------------------------------------------------------------------------------------------+</programlisting> + <para>Grant the 'admin' role to the 'nova' user in the 'service' + tenant.</para> + <screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-role-add --user 46b2667a7807483d983e0b4037a1623b --tenant_id eb7e0c10a99446cfa14c244374549e9d --role e3d9d157cc95410ea45d23bbbc2e5c10</userinput></screen> + <para>There is no output to this command.</para> + <para>Next you create definitions for the services.</para> + </section> + </section> + <section xml:id="defining-services"> + <title>Defining Services</title> + <para>Keystone also acts as a service catalog to let other + OpenStack systems know where relevant API endpoints exist for + OpenStack Services. The OpenStack Dashboard, in particular, uses + the service catalog heavily - and this <emphasis role="strong" + >must</emphasis> be configured for the OpenStack Dashboard to + properly function. </para> + <para>The endpoints for these services are defined in a template, + an example of which is in the project as the file + <literal>etc/default_catalog.templates</literal>, which you + can edit yourself or configure your keystone.conf file to use + SQL as a backend for the endpoint templates. </para> + <para> Here's how we define the services when using SQL as a + backend, which we are doing for this walkthrough: </para> + <screen> +keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 service-create --name=nova \ + --type=compute \ + --description="Nova Compute Service" +keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 service-create --name=ec2 \ + --type=ec2 \ + --description="EC2 Compatibility Layer" +keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 service-create --name=glance \ + --type=image \ + --description="Glance Image Service" +keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 service-create --name=keystone \ + --type=identity \ + --description="Keystone Identity Service"</screen> + <para>In return for each of these commands, you see a listing of + property and value for each creation. + <programlisting>+-------------+----------------------------------+ +| Property | Value | ++-------------+----------------------------------+ +| description | Nova Compute Service | +| id | abc0f03c02904c24abdcc3b7910e2eed | +| name | nova | +| type | compute | ++-------------+----------------------------------+</programlisting>Next, + create an endpoint for each service you just created using the + id values returned by each service-create command. Here's an + example for the nova service endpoint. + <screen>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 endpoint-create \ + --region RegionOne \ + --service_id=abc0f03c02904c24abdcc3b7910e2eed \ + --publicurl http://192.168.206.130:5000/v2 \ + --adminurl http://192.168.206.130:5000/v2 \ + --internalurl http://192.168.206.130:5000/v2</screen> + In return for each of these commands, you see a listing of + property and value for each creation. + <programlisting>+-------------+----------------------------------+ +| Property | Value | ++-------------+----------------------------------+ +| adminurl | http://192.168.206.130:5000/v2 | +| id | 935fd37b6fa74b2f9fba6d907fa95825 | +| internalurl | http://192.168.206.130:5000/v2 | +| publicurl | http://192.168.206.130:5000/v2 | +| region | RegionOne | +| service_id | abc0f03c02904c24abdcc3b7910e2eed | ++-------------+----------------------------------+</programlisting> + Substitute the service IDs for each in the --service_id + parameter, and ensure the URLs contain correct port values and + the correct version number of the API. </para> + + </section> + </section> diff --git a/doc/src/docbkx/openstack-install/identity-verify-install.xml b/doc/src/docbkx/openstack-install/identity-verify-install.xml index 0d63257091..272602b290 100644 --- a/doc/src/docbkx/openstack-install/identity-verify-install.xml +++ b/doc/src/docbkx/openstack-install/identity-verify-install.xml @@ -4,7 +4,9 @@ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> <title>Verifying the Identity Service Installation</title> - + <para>Install curl, a command-line tool for running REST API + requests:</para> + <literallayout class="monospaced">sudo apt-get install curl</literallayout> <para>Here is a curl command you can use to ensure that the Identity service is working:</para> <literallayout class="monospaced">curl -d '{"auth": {"tenantName": "adminTenant", "passwordCredentials":{"username": "adminUser", "password": "secretword"}}}' -H "Content-type: application/json" http://192.168.206.130:35357/v2.0/tokens | python -mjson.tool</literallayout> <para>In return, you should receive the token you created for the diff --git a/doc/src/docbkx/openstack-install/images-verifying-install.xml b/doc/src/docbkx/openstack-install/images-verifying-install.xml index f9039e76d0..9c9bcd1e94 100644 --- a/doc/src/docbkx/openstack-install/images-verifying-install.xml +++ b/doc/src/docbkx/openstack-install/images-verifying-install.xml @@ -8,20 +8,45 @@ glance --version command:</para> <literallayout class="monospaced">glance --version</literallayout> - <para>The version number 2011.3 corresponds with the Diablo + <para>The version number 2012.1 corresponds with the Essex release.</para> - <literallayout class="monospaced">glance 2011.3</literallayout> - <para>Another verification at this point for the Glance - installation working with Keystone is to issue a glance - details command with a token from Keystone assigned to the - adminUser. The one below is just an example. You use a curl - command to get a token for the adminUser. If you get no errors - (and no response) it means that the token is accepted by - Keystone and no images are yet loaded to Glance. If you get a - "NotAuthorized" error, check your configuration files, check - your environment variables, and ensure the Keystone endpoints - are accurate with "sudo keystone-manage endpointTemplates - list".</para> - <literallayout class="monospaced">glance details -A d1819479-be8b-451d-8682-82c654502ddb</literallayout> + <literallayout class="monospaced">glance 2012.1</literallayout> + <para>Obtain a test image.</para> + <screen>mkdir /tmp/images + cd /tmp/images/ + wget http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz + tar -zxvf ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz </screen> + <para>Upload the kernel.</para> + <screen>glance --username=adminUser --password=secretword --tenant=openstackDemo --auth_url=http://127.0.0.1:5000/v2.0 add name="tty-linux-kernel" disk_format=aki container_format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz</screen> + <programlisting>Uploading image 'tty-linux-kernel' + =================================================================================================================================================================[100%] 41.8M/s, ETA 0h 0m 0s + Added new image with ID: 599907ff-296d-4042-a671-d015e34317d2</programlisting> + + <para>Upload the initrd.</para> + <screen>glance --username=admin --password=secrete --tenant=openstack --auth_url=http://127.0.0.1:5000/v2.0 add name="tty-linux-ramdisk" disk_format=ari container_format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader </screen> + <programlisting>Uploading image 'tty-linux-ramdisk' + ===========================================================================================================================================================[100%] 937.483441K/s, ETA 0h 0m 0s + Added new image with ID: 7d9f0378-1640-4e43-8959-701f248d999d</programlisting> + + <para>Upload the image.</para> + <screen>glance --username=admin --password=secrete --tenant=openstack --auth_url=http://127.0.0.1:5000/v2.0 add name="tty-linux" disk_format=ami container_format=ami kernel_id=599907ff-296d-4042-a671-d015e34317d2 ramdisk_id=7d9f0378-1640-4e43-8959-701f248d999d < ttylinux-uec-amd64-12.1_2.6.35-22_1.img </screen> + <programlisting>Uploading image 'tty-linux' + ===========================================================================================================================================================[100%] 118.480514M/s, ETA 0h 0m 0s + Added new image with ID: 21b421e5-44d4-4903-9db0-4f134fdd0793</programlisting> + + + <para>Now a glance index should show a legitimate image.</para> + <programlisting>glance --username=admin --password=secrete --tenant=openstack --auth_url=http://127.0.0.1:5000/v2.0 index + ID Name Disk Format Container Format Size + ------------------------------------ ------------------------------ -------------------- -------------------- -------------- + 21b421e5-44d4-4903-9db0-4f134fdd0793 tty-linux ami ami 25165824 + 7d9f0378-1640-4e43-8959-701f248d999d tty-linux-ramdisk ari ari 96629 + 599907ff-296d-4042-a671-d015e34317d2 tty-linux-kernel aki aki 4404752</programlisting> + <note><para>This example shows inputting --username, --password, --tenant, --auth_url on the command line for reference. You could also use the OS_* environment variables by + setting them in an openrc file: + </para> + <programlisting><xi:include parse="text" href="samples/openrc.txt"/></programlisting> + <para>Then you would source these environment variables by running <userinput>source openrc</userinput>.</para></note> + </section> diff --git a/doc/src/docbkx/openstack-install/install-config-glance.xml b/doc/src/docbkx/openstack-install/install-config-glance.xml index c6fe8b6295..31af47ea90 100644 --- a/doc/src/docbkx/openstack-install/install-config-glance.xml +++ b/doc/src/docbkx/openstack-install/install-config-glance.xml @@ -2,54 +2,66 @@ <section xml:id="install-glance" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" - xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:html="http://www.w3.org/1999/xhtml" + version="5.0"> <title>Installing and Configuring the Image Service</title> - <para>Install the Image service:</para> - <literallayout class="monospaced">sudo apt-get install glance</literallayout> - <para xmlns:svg="http://www.w3.org/2000/svg" - xmlns:html="http://www.w3.org/1999/xhtml">After installing, + <para>Install the Image service.</para> + <screen>sudo apt-get install glance</screen> + <para>After installing, you need to delete the sqlite database it creates, then change the configuration to point to the mysql database. </para> - <para xmlns:svg="http://www.w3.org/2000/svg" - xmlns:html="http://www.w3.org/1999/xhtml">Delete the glance.db - file created in the /var/lib/glance/ - directory.<literallayout class="monospaced">sudo rm /var/lib/glance/glance.sqlite</literallayout></para> - <section xml:id="configure-glance"><title>Configuring the Image Service</title> + <para>Delete the <filename>glance.db</filename> file created in the /var/lib/glance/ + directory.</para> + <screen>sudo rm /var/lib/glance/glance.sqlite</screen> + <section xml:id="configure-glance-mysql"><title>Configuring the Image Service database backend</title> <para>Configure the backend data store. For MySQL, create a glance MySQL database and a glance MySQL user. Grant the "glance" user full access to the glance MySQL database.</para><para>Start the MySQL command line client by running:</para> <para><literallayout class="monospaced">mysql -u root -p</literallayout></para><para>Enter the mysql root user's password when prompted.</para> <para>To configure the MySQL database, create the glance database. </para><para><literallayout class="monospaced">mysql> CREATE DATABASE glance;</literallayout> </para><para>Create a MySQL user for the newly-created glance database that has full control of the database. </para> <para><literallayout class="monospaced">mysql> GRANT ALL ON glance.* TO 'glance'@'%' IDENTIFIED BY 'yourpassword';</literallayout></para> - <para>Enter quit at the mysql> prompt to exit MySQL.</para><para><literallayout class="monospaced">mysql> quit</literallayout></para> - - <para>Edit /etc/glance/glance-registry.conf: </para> - <literallayout class="monospaced">sudo nano /etc/glance/glance-registry.conf</literallayout> - <para>An example <link linkend="glance-registry-conf-file">glance-registry.conf file</link> is included in the - Appendix.</para> - <para>At the bottom of the glance-registry.conf file, change - the admin_token to the one you created with Keystone - previously. </para> - <para>Edit /etc/glance/glance-api.conf: </para> - <literallayout class="monospaced">sudo nano /etc/glance/glance-api.conf</literallayout> - <para>Ensure that the auth sections match the ones in the - included <link linkend="glance-api-conf-file">glance-api.conf example file</link> found in the - Appendix. </para> - <para>Restart the glance service after changing the settings - in the glance-registry.conf and glance-api.conf. </para> - <para>If you change the database you also update - <link linkend="glance-scrubber-conf-file">glance-scrubber.conf</link> to point to the MySQL database. </para> - - <literallayout class="monospaced">sudo nano /etc/glance/glance-scrubber.conf</literallayout> - - <para>Any time you change the .conf files, restart the - corresponding service:</para> - <literallayout class="monospaced">sudo restart glance-registry -sudo restart glance-api</literallayout> - <para>The database tables are created when you restart glance-registry, so there is no need to run a database sync command.</para> + <para>Enter quit at the mysql> prompt to exit MySQL.</para><para><literallayout class="monospaced">mysql> quit</literallayout></para></section> + <section xml:id="configure-glance-files"><title>Edit the Glance configuration files and paste ini middleware files</title> + <para> + Update <filename>/etc/glance/glance-api-paste.ini</filename>, configure the admin_* values under [filter:authtoken].</para> + <screen>[filter:authtoken] + admin_tenant_name = service + admin_user = glance + admin_password = glance</screen> + + <para>Add this to the end of <filename>/etc/glance/glance-api.conf</filename>.</para> + <screen>[paste_deploy] + flavor = keystone</screen> + + <para>Restart glance-api to pick up these changed settings.</para> + <screen>service glance-api restart</screen> + + <para>Add this to the end of <filename>/etc/glance/glance-registry.conf</filename>.</para> + <screen>[paste_deploy] + flavor = keystone</screen> + + <para>Update <filename>/etc/glance/glance-registry-paste.ini</filename>, configure the admin_* vaules under [filter:authtoken]:</para> + <screen>[filter:authtoken] + admin_tenant_name = service + admin_user = glance + admin_password = glance</screen> + + <para>Restart glance-registry.</para> + <screen>service glance-registry restart</screen> + <note><para>Any time you change the .conf files, restart the + corresponding service.</para></note> + <para>The database tables are created when you restart + glance-registry, so there is no need to run a database + sync command. </para> + <note><para>Also note that this guide does not configure image + caching, refer to <link + xlink:href="http://glance.openstack.org" + >http://glance.openstack.org</link> for more + information.</para></note></section> <!--<para>Create the tables in your backend data store:</para> <literallayout class="monospaced">sudo glance-manage db_sync</literallayout> - <para>Now you can load your initial image. </para>--></section> -</section> + <para>Now you can load your initial image. </para>--></section> diff --git a/doc/src/docbkx/openstack-install/installing-additional-compute-nodes.xml b/doc/src/docbkx/openstack-install/installing-additional-compute-nodes.xml index 8e121e9611..43624492d1 100644 --- a/doc/src/docbkx/openstack-install/installing-additional-compute-nodes.xml +++ b/doc/src/docbkx/openstack-install/installing-additional-compute-nodes.xml @@ -4,31 +4,20 @@ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> <title>Installing Additional Compute Nodes</title> - <para>There are many different ways to perform a multinode install of Compute. In - this case, you can install all the nova- packages and dependencies as you did - for the Cloud Controller node, or just install nova-network and nova-compute. - Your installation can run any nova- services anywhere, so long as the service - can access nova.conf so it knows where the rabbitmq server is installed.</para> - <para>The Compute Node is where you configure the Compute network, the networking - between your instances. </para> - <para>On the additional Compute nodes, install the required - nova- packages, and dependencies are automatically - installed. Add the deb http://ops.rcb.me/packages natty - diablo-final packages to your sources and run apt-get - update to get consistent packages.</para> - <literallayout class="monospaced">sudo apt-key adv --keyserver hkp://subkeys.pgp.net --recv F87CBDE0</literallayout> - <para>Now, create a new sources.list and add a pointer to the - Rackspace Cloud Builders packages for a finalized Diablo - release.</para> - <literallayout class="monospaced">sudo nano /etc/apt/sources.list.d/rcb-sources.list </literallayout> - <para>Paste the following line into the newly created - rcb-sources.list file. The options are maverick, natty, or - oneiric for the operating system and diablo-d5 or - diablo-final:</para> - <literallayout class="monospaced">deb http://ops.rcb.me/packages natty diablo-final</literallayout> - <para>Now update to pick up this repository.</para> - <literallayout class="monospaced">sudo apt-get update </literallayout> - <para>Because you may need to query the database from the Compute node and learn more information about instances, euca2ools and MySQL client or PostgresSQL client packages should be installed on any additional Compute nodes.</para> - <literallayout class="monospaced">sudo apt-get install nova-network nova-compute euca2ools mysql-client</literallayout> + <para>There are many different ways to perform a multinode install + of Compute in order to scale out your deployment and run more + . </para> + <para>In this case, you can install all the nova- packages and + dependencies as you did for the Cloud Controller node, or just + install nova-network and nova-compute. Your installation can + run any nova- services anywhere, so long as the service can + access <filename>nova.conf</filename> so it knows where the + Rabbitmq or Qpid messaging server is installed.</para> + <para>The Compute Node is where you configure the Compute network, + the networking between your instances. </para> + <para>Because you may need to query the database from the Compute + node and learn more information about instances, the nova + client and MySQL client or PostgresSQL client packages should + be installed on any additional Compute nodes.</para> <para>Copy the nova.conf from your controller node to all additional compute nodes.</para> </section> diff --git a/doc/src/docbkx/openstack-install/pom.xml b/doc/src/docbkx/openstack-install/pom.xml index cac315fd17..e2d7050d23 100644 --- a/doc/src/docbkx/openstack-install/pom.xml +++ b/doc/src/docbkx/openstack-install/pom.xml @@ -116,7 +116,7 @@ <move failonerror="false" file="${basedir}/target/docbkx/pdf/bk_openstackinstallguide.pdf" - tofile="${basedir}/target/docbkx/webhelp/trunk/openstack-compute/install/openstack-install-guide-diablo.pdf"/> + tofile="${basedir}/target/docbkx/webhelp/trunk/openstack-compute/install/openstack-install-guide-trunk.pdf"/> <!--Deletes leftover uneeded directories --> diff --git a/doc/src/docbkx/openstack-install/samples/glance-api-paste.ini b/doc/src/docbkx/openstack-install/samples/glance-api-paste.ini new file mode 100644 index 0000000000..dd6e4f05af --- /dev/null +++ b/doc/src/docbkx/openstack-install/samples/glance-api-paste.ini @@ -0,0 +1,43 @@ +[pipeline:glance-api] +#pipeline = versionnegotiation context apiv1app +# NOTE: use the following pipeline for keystone +pipeline = versionnegotiation authtoken auth-context apiv1app + +# To enable Image Cache Management API replace pipeline with below: +# pipeline = versionnegotiation context imagecache apiv1app +# NOTE: use the following pipeline for keystone auth (with caching) +# pipeline = versionnegotiation authtoken auth-context imagecache apiv1app + +[app:apiv1app] +paste.app_factory = glance.common.wsgi:app_factory +glance.app_factory = glance.api.v1.router:API + +[filter:versionnegotiation] +paste.filter_factory = glance.common.wsgi:filter_factory +glance.filter_factory = glance.api.middleware.version_negotiation:VersionNegotiationFilter + +[filter:cache] +paste.filter_factory = glance.common.wsgi:filter_factory +glance.filter_factory = glance.api.middleware.cache:CacheFilter + +[filter:cachemanage] +paste.filter_factory = glance.common.wsgi:filter_factory +glance.filter_factory = glance.api.middleware.cache_manage:CacheManageFilter + +[filter:context] +paste.filter_factory = glance.common.wsgi:filter_factory +glance.filter_factory = glance.common.context:ContextMiddleware + +[filter:authtoken] +paste.filter_factory = keystone.middleware.auth_token:filter_factory +auth_host = 192.168.206.130 +auth_port = 35357 +auth_protocol = http +auth_uri = http://192.168.206.130:5000/ +admin_tenant_name = service +admin_user = glance +admin_password = ccc1da26c11cab131f29 + +[filter:auth-context] +paste.filter_factory = glance.common.wsgi:filter_factory +glance.filter_factory = keystone.middleware.glance_auth_token:KeystoneContextMiddleware diff --git a/doc/src/docbkx/openstack-install/samples/glance-cache-paste.ini b/doc/src/docbkx/openstack-install/samples/glance-cache-paste.ini new file mode 100644 index 0000000000..35ab371555 --- /dev/null +++ b/doc/src/docbkx/openstack-install/samples/glance-cache-paste.ini @@ -0,0 +1,15 @@ +[app:glance-pruner] +paste.app_factory = glance.common.wsgi:app_factory +glance.app_factory = glance.image_cache.pruner:Pruner + +[app:glance-prefetcher] +paste.app_factory = glance.common.wsgi:app_factory +glance.app_factory = glance.image_cache.prefetcher:Prefetcher + +[app:glance-cleaner] +paste.app_factory = glance.common.wsgi:app_factory +glance.app_factory = glance.image_cache.cleaner:Cleaner + +[app:glance-queue-image] +paste.app_factory = glance.common.wsgi:app_factory +glance.app_factory = glance.image_cache.queue_image:Queuer diff --git a/doc/src/docbkx/openstack-install/samples/glance-cache.conf b/doc/src/docbkx/openstack-install/samples/glance-cache.conf new file mode 100644 index 0000000000..8985ea5c38 --- /dev/null +++ b/doc/src/docbkx/openstack-install/samples/glance-cache.conf @@ -0,0 +1,40 @@ +[DEFAULT] +# Show more verbose log output (sets INFO log level output) +verbose = True + +# Show debugging output in logs (sets DEBUG log level output) +debug = False + +log_file = /var/log/glance/image-cache.log + +# Send logs to syslog (/dev/log) instead of to file specified by `log_file` +use_syslog = False + +# Directory that the Image Cache writes data to +image_cache_dir = /var/lib/glance/image-cache/ + +# Number of seconds after which we should consider an incomplete image to be +# stalled and eligible for reaping +image_cache_stall_time = 86400 + +# image_cache_invalid_entry_grace_period - seconds +# +# If an exception is raised as we're writing to the cache, the cache-entry is +# deemed invalid and moved to <image_cache_datadir>/invalid so that it can be +# inspected for debugging purposes. +# +# This is number of seconds to leave these invalid images around before they +# are elibible to be reaped. +image_cache_invalid_entry_grace_period = 3600 + +# Max cache size in bytes +image_cache_max_size = 10737418240 + +# Address to find the registry server +registry_host = 0.0.0.0 + +# Port the registry server is listening on +registry_port = 9191 + +# Admin token to use if using Keystone +# admin_token = 123 diff --git a/doc/src/docbkx/openstack-install/samples/glance-registry-paste.ini b/doc/src/docbkx/openstack-install/samples/glance-registry-paste.ini new file mode 100644 index 0000000000..4aa0e42818 --- /dev/null +++ b/doc/src/docbkx/openstack-install/samples/glance-registry-paste.ini @@ -0,0 +1,28 @@ +[pipeline:glance-registry] +#pipeline = context registryapp +# NOTE: use the following pipeline for keystone +pipeline = authtoken auth-context context registryapp + +[app:registryapp] +paste.app_factory = glance.common.wsgi:app_factory +glance.app_factory = glance.registry.api.v1:API + +[filter:context] +context_class = glance.registry.context.RequestContext +paste.filter_factory = glance.common.wsgi:filter_factory +glance.filter_factory = glance.common.context:ContextMiddleware + +[filter:authtoken] +paste.filter_factory = keystone.middleware.auth_token:filter_factory +auth_host = 192.168.206.130 +auth_port = 35357 +auth_protocol = http +auth_uri = http://192.168.206.130:5000/ +admin_tenant_name = service +admin_user = glance +admin_password = ccc1da26c11cab131f29 + +[filter:auth-context] +context_class = glance.registry.context.RequestContext +paste.filter_factory = glance.common.wsgi:filter_factory +glance.filter_factory = keystone.middleware.glance_auth_token:KeystoneContextMiddleware diff --git a/doc/src/docbkx/openstack-install/samples/glance-scrubber-paste.ini b/doc/src/docbkx/openstack-install/samples/glance-scrubber-paste.ini new file mode 100644 index 0000000000..ac342f8f75 --- /dev/null +++ b/doc/src/docbkx/openstack-install/samples/glance-scrubber-paste.ini @@ -0,0 +1,3 @@ +[app:glance-scrubber] +paste.app_factory = glance.common.wsgi:app_factory +glance.app_factory = glance.store.scrubber:Scrubber diff --git a/doc/src/docbkx/openstack-install/samples/keystone.conf b/doc/src/docbkx/openstack-install/samples/keystone.conf index 1847f66cb0..1ac8b57122 100644 --- a/doc/src/docbkx/openstack-install/samples/keystone.conf +++ b/doc/src/docbkx/openstack-install/samples/keystone.conf @@ -1,93 +1,107 @@ [DEFAULT] -# Show more verbose log output (sets INFO log level output) -verbose = False - -# Show debugging output in logs (sets DEBUG log level output) -debug = False - -# Which backend store should Keystone use by default. -# Default: 'sqlite' -# Available choices are 'sqlite' [future will include LDAP, PAM, etc] -default_store = sqlite - -# Log to this file. Make sure you do not set the same log -# file for both the API and registry servers! -log_dir = /var/log/keystone -log_file = keystone.log - -# List of backends to be configured -backends = keystone.backends.sqlalchemy -#For LDAP support, add: ,keystone.backends.ldap - -# Dictionary Maps every service to a header.Missing services would get header -# X_(SERVICE_NAME) Key => Service Name, Value => Header Name -service-header-mappings = { - 'nova' : 'X-Server-Management-Url', - 'swift' : 'X-Storage-Url', - 'cdn' : 'X-CDN-Management-Url'} - -# Address to bind the API server -# TODO Properties defined within app not available via pipeline. -service_host = 0.0.0.0 - -# Port the bind the API server to -service_port = 5000 - -# Address to bind the Admin API server -admin_host = 0.0.0.0 - -# Port the bind the Admin API server to +bind_host = 0.0.0.0 +public_port = 5000 admin_port = 35357 +admin_token = 012345SECRET99TOKEN012345 +compute_port = 8774 +verbose = True +debug = True +log_config = /etc/keystone/logging.conf -#Role that allows to perform admin operations. -keystone-admin-role = Admin +# ================= Syslog Options ============================ +# Send logs to syslog (/dev/log) instead of to file specified +# by `log-file` +use_syslog = False -#Role that allows to perform service admin operations. -keystone-service-admin-role = KeystoneServiceAdmin +# Facility to use. If unset defaults to LOG_USER. +# syslog_log_facility = LOG_LOCAL0 -#Tells whether password user need to be hashed in the backend -hash-password = True +[sql] +connection = mysql://keystone:yourpassword@192.168.127.143/keystone +idle_timeout = 200 +min_pool_size = 5 +max_pool_size = 10 +pool_timeout = 200 -[keystone.backends.sqlalchemy] -# SQLAlchemy connection string for the reference implementation registry -# server. Any valid SQLAlchemy connection string is fine. -# See: http://bit.ly/ideIpI -sql_connection = mysql://keystone:yourpassword@192.168.206.130/keystone -backend_entities = ['UserRoleAssociation', 'Endpoints', 'Role', 'Tenant', - 'User', 'Credentials', 'EndpointTemplates', 'Token', - 'Service'] - -# Period in seconds after which SQLAlchemy should reestablish its connection -# to the database. -sql_idle_timeout = 30 +[ldap] +#url = ldap://localhost +#tree_dn = dc=example,dc=com +#user_tree_dn = ou=Users,dc=example,dc=com +#role_tree_dn = ou=Roles,dc=example,dc=com +#tenant_tree_dn = ou=Groups,dc=example,dc=com +#user = dc=Manager,dc=example,dc=com +#password = freeipa4all +#suffix = cn=example,cn=com -[pipeline:admin] -pipeline = - urlrewritefilter - d5_compat - admin_api - -[pipeline:keystone-legacy-auth] -pipeline = - urlrewritefilter - legacy_auth - d5_compat - service_api +[identity] +driver = keystone.identity.backends.sql.Identity -[app:service_api] -paste.app_factory = keystone.server:service_app_factory +[catalog] +driver = keystone.catalog.backends.sql.Catalog -[app:admin_api] -paste.app_factory = keystone.server:admin_app_factory +[token] +driver = keystone.token.backends.sql.Token -[filter:urlrewritefilter] -paste.filter_factory = keystone.middleware.url:filter_factory +# Amount of time a token should remain valid (in seconds) +expiration = 86400 -[filter:legacy_auth] -paste.filter_factory = keystone.frontends.legacy_token_auth:filter_factory +[policy] +driver = keystone.policy.backends.rules.Policy -[filter:d5_compat] -paste.filter_factory = keystone.frontends.d5_compat:filter_factory +[ec2] +driver = keystone.contrib.ec2.backends.sql.Ec2 [filter:debug] -paste.filter_factory = keystone.common.wsgi:debug_filter_factory +paste.filter_factory = keystone.common.wsgi:Debug.factory + +[filter:token_auth] +paste.filter_factory = keystone.middleware:TokenAuthMiddleware.factory + +[filter:admin_token_auth] +paste.filter_factory = keystone.middleware:AdminTokenAuthMiddleware.factory + +[filter:xml_body] +paste.filter_factory = keystone.middleware:XmlBodyMiddleware.factory + +[filter:json_body] +paste.filter_factory = keystone.middleware:JsonBodyMiddleware.factory + +[filter:crud_extension] +paste.filter_factory = keystone.contrib.admin_crud:CrudExtension.factory + +[filter:ec2_extension] +paste.filter_factory = keystone.contrib.ec2:Ec2Extension.factory + +[app:public_service] +paste.app_factory = keystone.service:public_app_factory + +[app:admin_service] +paste.app_factory = keystone.service:admin_app_factory + +[pipeline:public_api] +pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension public_service + +[pipeline:admin_api] +pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension crud_extension admin_service + +[app:public_version_service] +paste.app_factory = keystone.service:public_version_app_factory + +[app:admin_version_service] +paste.app_factory = keystone.service:admin_version_app_factory + +[pipeline:public_version_api] +pipeline = xml_body public_version_service + +[pipeline:admin_version_api] +pipeline = xml_body admin_version_service + +[composite:main] +use = egg:Paste#urlmap +/v2.0 = public_api +/ = public_version_api + +[composite:admin] +use = egg:Paste#urlmap +/v2.0 = admin_api +/ = admin_version_api \ No newline at end of file diff --git a/doc/src/docbkx/openstack-install/samples/nova.conf b/doc/src/docbkx/openstack-install/samples/nova.conf index 3cf9b3ae29..b7c070b202 100644 --- a/doc/src/docbkx/openstack-install/samples/nova.conf +++ b/doc/src/docbkx/openstack-install/samples/nova.conf @@ -1,46 +1,34 @@ -# DATABASE ---sql_connection=mysql://nova:yourpassword@192.168.206.130/nova - -# LOGS/STATE ---verbose ---dhcpbridge_flagfile=/etc/nova/nova.conf ---dhcpbridge=/usr/bin/nova-dhcpbridge ---logdir=/var/log/nova ---state_path=/var/lib/nova ---lock_path=/var/lock/nova - -# RABBITMQ ---rabbit_password=guest ---rabbit_port=5672 ---rabbit_host=192.168.206.130 - -# SCHEDULER ---scheduler_driver=nova.scheduler.simple.SimpleScheduler - -# NETWORK ---network_manager=nova.network.manager.FlatDHCPManager ---fixed_range=192.168.100.0/24 ---flat_network_dhcp_start=192.168.100.2 ---public_interface=eth0 ---flat_interface=eth0 ---flat_network_bridge=br100 - -# GLANCE ---image_service=nova.image.glance.GlanceImageService ---glance_api_servers=192.168.206.130:9292 - -# COMPUTE ---compute_manager=nova.compute.manager.ComputeManager ---libvirt_type=qemu - -# VNCPROXY ---vncproxy_url=http://192.168.206.130:6080 ---vncproxy_wwwroot=/var/lib/nova/noVNC - -# MISC ---use_deprecated_auth=false ---allow_admin_api=true ---enable_zone_routing=true - -# KEYSTONE ---keystone_ec2_url=http://192.168.206.130:5000/v2.0/ec2tokens \ No newline at end of file +[DEFAULT] +verbose=True +auth_strategy=keystone +allow_resize_to_same_host=True +compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler +dhcpbridge_flagfile=/etc/nova/nova.conf +fixed_range=10.0.0.0/24 +s3_host=192.168.206.130 +network_manager=nova.network.manager.FlatDHCPManager +volume_group=nova-volumes +volume_name_template=volume-%08x +iscsi_helper=tgtadm +osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions +my_ip=192.168.206.130 +public_interface=br100 +vlan_interface=eth0 +flat_network_bridge=br100 +flat_interface=eth0 +sql_connection=mysql://root:yourpassword@localhost/nova +libvirt_type=qemu +instance_name_template=instance-%08x +novncproxy_base_url=http://192.168.206.130:6080/vnc_auto.html +xvpvncproxy_base_url=http://192.168.206.130:6081/console +vncserver_listen=127.0.0.1 +vncserver_proxyclient_address=127.0.0.1 +api_paste_config=/etc/nova/api-paste.ini +image_service=nova.image.glance.GlanceImageService +ec2_dmz_host=192.168.206.130 +rabbit_host=localhost +rabbit_password=yourpassword +glance_api_servers=192.168.206.130:9292 +force_dhcp_release=True +connection_type=libvirt +firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver diff --git a/doc/src/docbkx/openstack-install/samples/openrc.txt b/doc/src/docbkx/openstack-install/samples/openrc.txt index f48ff25458..a8609c2b57 100644 --- a/doc/src/docbkx/openstack-install/samples/openrc.txt +++ b/doc/src/docbkx/openstack-install/samples/openrc.txt @@ -2,6 +2,4 @@ export OS_USERNAME=adminUser export OS_TENANT_NAME=openstackDemo export OS_PASSWORD=secretword export OS_AUTH_URL=http://192.168.206.130:5000/v2.0/ -export OS_REGION_NAME=RegionOne -export OS_AUTH_STRATEGY=keystone -export NOVA_VERSION=1.1 +export OS_REGION_NAME=RegionOne \ No newline at end of file