Change to show which nova services should run on the controller and the compute nodes

Patchset to fix bug 1085411, separate nova.conf with qpid settings
Also updates Object Storage version to 1.8.0

Change-Id: I05b63f7e23acb739a5ee6050906d7cf49c3cbd25
This commit is contained in:
philhopkins-a 2013-04-03 11:46:54 -05:00 committed by annegentle
parent 76bc4cfe14
commit 25afe181e9
8 changed files with 119 additions and 130 deletions

View File

@ -62,7 +62,8 @@
</listitem>
</itemizedlist></para>
<literallayout class="monospaced"><xi:include parse="text" href="samples/nova.conf"/></literallayout></section>
<literallayout os="ubuntu" class="monospaced"><xi:include parse="text" href="samples/nova.conf"/></literallayout>
<literallayout os="rhel;centos;fedora" class="monospaced"><xi:include parse="text" href="samples/nova.conf-yum"/></literallayout></section>
<section xml:id="api-paste-ini-file"><title>api-paste.ini</title><para>The /etc/nova/api-paste.ini file is a middleware configuration file used by the EC2 API and
OpenStack Compute API. You should not need to edit it.</para>
<literallayout class="monospaced"> <xi:include parse="text" href="samples/api-paste.ini"/></literallayout></section>

View File

@ -25,10 +25,10 @@
<year>2013</year>
<holder>OpenStack Foundation</holder>
</copyright>
<releaseinfo>Grizzly, Compute 2013.1, Network 2013.1, Object Storage
1.7.6</releaseinfo>
<releaseinfo>Grizzly, 2013.1 (Object Storage
1.8.0)</releaseinfo>
<productname>OpenStack</productname>
<pubdate>2013-03-26</pubdate>
<pubdate>2013-04-03</pubdate>
<legalnotice role="apache2">
<annotation>
<remark>Copyright details are filled in by the template.</remark>
@ -53,6 +53,18 @@
as well as sample configuration files. </para>
</abstract>
<revhistory>
<revision>
<date>2013-04-03</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Updates RHEL/CentOS/Fedora
information for Grizzly
release.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2013-03-26</date>
<revdescription>

View File

@ -3,10 +3,13 @@
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>Installing the Cloud Controller</title>
<para>Install the required nova- packages, and dependencies are automatically
installed.</para>
<screen os="ubuntu">sudo apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-consoleauth nova-doc nova-scheduler nova-network</screen>
<title>Installing Compute Services</title>
<para>On both the controller and compute nodes install the required nova- packages, and
dependencies are automatically installed.</para>
<para os="ubuntu">On the controller node: </para>
<screen os="ubuntu">sudo apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-consoleauth nova-doc nova-scheduler nova-network nova-conductor</screen>
<para os="ubuntu">On the compute node: </para>
<screen os="ubuntu">sudo apt-get install nova-compute nova-network</screen>
<para os="ubuntu">If you see the error:
<screen>E: Unable to locate package nova-novncproxy</screen>ensure
that you have installed the Ubuntu Cloud Archive packages by

View File

@ -6,6 +6,10 @@
<para>Create the tables in your backend data store by running
the following command:</para>
<literallayout class="monospaced">sudo nova-manage db sync</literallayout>
<para>
<screen os="ubuntu">sudo nova-manage db sync</screen>
</para>
<screen os="rhel;fedora;centos"> <prompt>#</prompt>nova-manage db sync</screen>
<para>If you see any response, you can look in
/var/log/nova/nova-manage.log to see the problem. No
response means the command completed correctly and your
@ -13,11 +17,11 @@
<note><title>Deprecation warnings</title>
<para>Note that if while running this command you see warnings such as <literal> SADeprecationWarning: The 'listeners' argument to Pool (and create_engine()) is deprecated. Use event.listen().</literal>, these will be fixed in future version of the libraries and can be safely ignored.</para></note>
<para>Restart all services in total, just to cover the entire
spectrum: </para>
<para>Restart all services in total, just to cover the entire spectrum. On the controller node
run:</para>
<para>
<screen os="ubuntu">sudo start nova-api
sudo start nova-compute
sudo start nova-conductor
sudo start nova-network
sudo start nova-scheduler
sudo start nova-novncproxy
@ -26,7 +30,15 @@ sudo start libvirt-bin
sudo /etc/init.d/rabbitmq-server restart </screen>
</para>
<screen os="rhel;fedora;centos">
<prompt>$></prompt> <userinput>for svc in api objectstore compute network volume scheduler cert; do sudo service openstack-nova-$svc start ; sudo chkconfig openstack-nova-$svc on ; done</userinput>
<prompt>#</prompt> <userinput>for svc in api objectstore conductor network volume scheduler cert; do sudo service openstack-nova-$svc start; done</userinput>
</screen>
<para>On the compute node run:</para>
<para>
<screen os="ubuntu">sudo start nova-compute
sudo start nova-network</screen>
</para>
<screen os="rhel;fedora;centos">
<prompt>#</prompt> <userinput>for svc in compute network; do sudo service openstack-nova-$svc start; done</userinput>
</screen>
<para>All nova services are now installed and started. If the
"start" command doesn't work, your services may not be

View File

@ -1,65 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<section xml:id="compute-minimum-configuration-settings"
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">
<section xml:id="compute-minimum-configuration-settings" 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>Configuring OpenStack Compute</title>
<simplesect><title>Overview</title>
<para>This section describes the relevant <filename>api-paste.ini</filename> and
<filename>nova.conf</filename> settings for getting a minimal install running. Refer to
the OpenStack Compute Administration Manual for guidance on more configuration
options.</para>
</simplesect>
<simplesect>
<title>api-paste.ini</title>
<para>OpenStack Compute uses an <filename>/etc/nova/api-paste.ini</filename> file to
configure various middleware components. In general, you should not need to modify this
file, with one important exception, described below.</para>
<para>Configuration options for authenticating against the OpenStack Identity Service can be
specified in either the <filename>api-paste.ini</filename> file
(<literal>filter:authtoken</literal> section) in or the
<filename>nova.conf</filename> file (<literal>keystone_authtoken</literal> section).
We recommend you specify this information in the <filename>nova.conf</filename> file so
that all of your deployment-specific configuration options are contained in a single
file. Unfortunately, the default <filename>api-paste.ini</filename> file is pre-filled
with authentication fields. If these fields are not removed, OpenStack Compute services
will not function properly even if the authentication configuration has been specified
in <filename>nova.conf</filename>.</para>
<para>Therefore, we recommend that you delete authentication options from your
<filename>api-paste.ini</filename> file. The following options should be deleted
from the <literal>filter:authtoken</literal> section of <literal>api-paste.ini</literal>.<itemizedlist>
<listitem>
<para><literal>auth_host</literal></para>
</listitem>
<listitem>
<para><literal>auth_port</literal></para>
</listitem>
<listitem>
<para><literal>auth_protocol</literal></para>
</listitem>
<listitem>
<para><literal>admin_tenant_name</literal></para>
</listitem>
<listitem>
<para><literal>admin_user</literal></para>
</listitem>
<listitem>
<para><literal>admin_password</literal></para>
</listitem>
<listitem>
<para><literal>signing_dirname</literal></para>
</listitem>
</itemizedlist>After deleting these options, the <literal>filter:authtoken</literal>
section should contain only the following
options:<programlisting>[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
# Workaround for https://bugs.launchpad.net/nova/+bug/1154809
auth_version = v2.0</programlisting></para>
</simplesect>
<simplesect>
<title>nova.conf</title>
<para>In general, you can use the same <filename>nova.conf</filename> file across the controller and compute nodes.
However, the following configuration options need to be changed on each compute host: <itemizedlist>
<para>This section describes the relevant <filename>nova.conf</filename> settings for getting a
minimal install running. Refer to the OpenStack Compute Administration Manual for guidance
on more configuration options.</para>
<para>In general, you can use the same <filename>nova.conf</filename> file across the controller
and compute nodes. However, the following configuration options need to be changed on each
compute host: <itemizedlist>
<listitem>
<para><literal>my_ip</literal></para>
</listitem>
@ -70,50 +19,45 @@ auth_version = v2.0</programlisting></para>
<para><literal>vncserver_proxyclient_address</literal></para>
</listitem>
</itemizedlist>For the above configuration options, you must use the IP address of the
specific compute host, not the cloud controller.
</para>
<para>The packages automatically do these steps for a user
named nova, but if you are installing as another user you
should ensure that the <filename>nova.conf</filename> file should have its
owner set to <literal>root:nova</literal>, and mode set to <literal>0640</literal>, since the
file contains your MySQL servers username and password.
</para>
<note><para>If you are installing as another user, you should set permissions correctly.
This packaged install ensures that the nova user belongs
to the nova group and that the .conf file permissions are
set, but here are the manual commands, which should be run as root:</para>
<screen>
specific compute host, not the cloud controller. </para>
<para>The packages automatically do these steps for a user named nova, but if you are installing
as another user you should ensure that the <filename>nova.conf</filename> file should have
its owner set to <literal>root:nova</literal>, and mode set to <literal>0640</literal>,
since the file contains your MySQL servers username and password. </para>
<note>
<para>If you are installing as another user, you should set permissions correctly. This
packaged install ensures that the nova user belongs to the nova group and that the .conf
file permissions are set, but here are the manual commands, which should be run as
root:</para>
<screen>
<prompt># </prompt><userinput>groupadd nova</userinput>
<prompt># </prompt><userinput>usermod -g nova nova</userinput>
<prompt># </prompt><userinput>chown -R nova:nova /etc/nova</userinput>
<prompt># </prompt><userinput>chmod 640 /etc/nova/nova.conf</userinput>
</screen>
</note>
<para>The hypervisor is set by editing <filename>/etc/nova/nova.conf</filename>.
The hypervisor defaults to <literal>kvm</literal>, but if you are
working within a VM already, switch to <literal>qemu</literal> on the <literal>libvirt_type=</literal> line. To use Xen, refer
<para>The hypervisor is set by editing <filename>/etc/nova/nova.conf</filename>. The hypervisor
defaults to <literal>kvm</literal>, but if you are working within a VM already, switch to
<literal>qemu</literal> on the <literal>libvirt_type=</literal> line. To use Xen, refer
to the overview in this book for where to install nova components. </para>
<note><para>You can also configure the nova-compute service
(and, for example configure a hypervisor-per-compute-node) with a
separate <filename>nova-compute.conf</filename> file and then referring to
<filename>nova-compute.conf</filename> in the <filename>nova.conf</filename> file.
</para></note>
<para>Ensure the database connection defines your backend data
store by adding a <literal>sql_connection</literal> line to <filename>nova.conf</filename>:
<literal>sql_connection=mysql://<replaceable>[user]</replaceable>:<replaceable>[pass]</replaceable>@<replaceable>[primary IP]</replaceable>/<replaceable>[db
name]</replaceable></literal>, such as
<literal>sql_connection=mysql://nova:yourpassword@192.168.206.130/nova</literal>.</para>
<para>Add these settings to
<filename>/etc/nova/nova.conf</filename> for the network
configuration assumptions made for this installation scenario.
You can place comments in the <filename>nova.conf</filename>
file by entering a new line with a <literal>#</literal> sign
at the beginning of the line. To see a listing of all possible
configuration option settings, see <link
<note>
<para>You can also configure the nova-compute service (and, for example configure a
hypervisor-per-compute-node) with a separate <filename>nova-compute.conf</filename> file
and then referring to <filename>nova-compute.conf</filename> in the
<filename>nova.conf</filename> file. </para>
</note>
<para>Ensure the database connection defines your backend data store by adding a
<literal>sql_connection</literal> line to <filename>nova.conf</filename>:
<literal>sql_connection=mysql://<replaceable>[user]</replaceable>:<replaceable>[pass]</replaceable>@<replaceable>[primary
IP]</replaceable>/<replaceable>[db name]</replaceable></literal>, such as
<literal>sql_connection=mysql://nova:yourpassword@192.168.206.130/nova</literal>.</para>
<para>Add these settings to <filename>/etc/nova/nova.conf</filename> for the network
configuration assumptions made for this installation scenario. You can place comments in the
<filename>nova.conf</filename> file by entering a new line with a <literal>#</literal>
sign at the beginning of the line. To see a listing of all possible configuration option
settings, see <link
xlink:href="http://docs.openstack.org/trunk/openstack-compute/admin/content/compute-options-reference.html"
>the reference in the OpenStack Compute Administration Manual</link>.
</para>
>the reference in the OpenStack Compute Administration Manual</link>. </para>
<programlisting>
auth_strategy=keystone
network_manager=nova.network.manager.FlatDHCPManager
@ -121,30 +65,40 @@ fixed_range=192.168.100.0/24
public_interface=eth0
flat_interface=eth0
flat_network_bridge=br100</programlisting>
<para>Here is an example <filename>nova.conf</filename> with commented
sections:</para>
<para><programlisting><xi:include parse="text" href="samples/nova.conf"/>
</programlisting></para>
<para>Here is an example <filename>nova.conf</filename> with commented sections:</para>
<para>
<programlisting os="ubuntu"><xi:include parse="text" href="samples/nova.conf"/>
</programlisting>
<programlisting os="rhel;centos;fedora"><xi:include parse="text" href="samples/nova.conf-yum"/>
</programlisting>
</para>
<para>
<note>
<para>The <literal>my_ip</literal> configuration option will be different for each host,
edit it accordingly.</para>
</note>
</para>
<para>Stop the nova- services prior to running db sync, by running
stop commands as root. Otherwise your logs show errors because
the database has not yet been populated:</para>
<screen os="ubuntu">
<para>The controller node will run the nova-api, nova-scheduler, nova-cert, nova-consoleauth,
nova-conductor and optionally nova-network services. The compute node will run the
nova-compute and nova-network services. Stop the nova- services prior to running db sync, by
running stop commands as root. Otherwise your logs show errors because the database has not
yet been populated. On the controller node run:</para>
<screen os="ubuntu">
<prompt>#</prompt> <userinput>stop nova-api</userinput>
<prompt>#</prompt> <userinput>stop nova-compute</userinput>
<prompt>#</prompt> <userinput>stop nova-conductor</userinput>
<prompt>#</prompt> <userinput>stop nova-network</userinput>
<prompt>#</prompt> <userinput>stop nova-scheduler</userinput>
<prompt>#</prompt> <userinput>stop nova-novncproxy</userinput>
<prompt>#</prompt> <userinput>stop nova-volume</userinput>
</screen>
<screen os="rhel;fedora;centos">
<prompt>$></prompt> <userinput>for svc in api objectstore compute network volume scheduler cert; do sudo service openstack-nova-$svc stop ; sudo chkconfig openstack-nova-$svc on ; done</userinput>
<prompt>$></prompt> <userinput>for svc in api objectstore conductor network volume scheduler cert; do sudo service openstack-nova-$svc stop ; sudo chkconfig openstack-nova-$svc on ; done</userinput>
</screen>
<para>On the compute node run:</para>
<screen os="ubuntu"><prompt>#</prompt> <userinput>stop nova-compute</userinput>
<prompt>#</prompt> <userinput>stop nova-network</userinput>
</screen>
<screen os="rhel;fedora;centos">
<prompt>$></prompt> <userinput>for svc in api compute network; do sudo service openstack-nova-$svc stop ; sudo chkconfig openstack-nova-$svc on ; done</userinput>
</screen>
</simplesect>
</section>

View File

@ -51,13 +51,12 @@
</imageobject>
</inlinemediaobject></para>
<para>An alternative architecture would be to add more messaging servers
if you notice a lot of back up in the messaging queue causing performance
problems. In that case you would add an additional RabbitMQ server in
addition to or instead of scaling up the database server. Your
installation can run any nova- service on any server as long as the
<filename>nova.conf</filename> is configured to point to the RabbitMQ
server and the server can send messages to the server.</para>
<para>An alternative architecture would be to add more messaging servers if you notice a lot of
back up in the messaging queue causing performance problems. In that case you would add an
additional messaging server in addition to or instead of scaling up the database server.
Your installation can run any nova- service on any server as long as the
<filename>nova.conf</filename> is configured to point to the messaging server and the
server can send messages to the server.</para>
<para>Multiple installation architectures are possible, here is another
example illustration.</para>

View File

@ -91,8 +91,16 @@
<programlisting>admin_token = 012345SECRET99TOKEN012345</programlisting>
<screen os="rhel;centos;fedora"><prompt>$</prompt> <userinput>export ADMIN_TOKEN=$(openssl rand -hex 10)</userinput>
<prompt>$</prompt> <userinput>sudo openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN</userinput></screen>
<para>Next, restart the keystone service so that it picks up the new
database configuration.</para>
<para>By default the keystone will use ssl encryption between it and all of the other services. To
create the encryption certificates run:</para>
<para>
<screen os="ubuntu">sudo keystone-manage pki_setup
sudo chown -R keystone:keystone /etc/keystone/*</screen>
</para>
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>keystone-manage pki_setup</userinput>
<prompt>#</prompt> <userinput>chown -R keystone:keystone /etc/keystone/*</userinput></screen>
<para> Next, restart the keystone service so that it picks up the new database
configuration.</para>
<screen os="ubuntu"><prompt>#</prompt> <userinput>sudo service keystone restart</userinput></screen>
<screen os="rhel;fedora;centos"><prompt>$</prompt> <userinput>sudo service openstack-keystone start &amp;&amp; sudo chkconfig openstack-keystone on</userinput></screen>
<para>Lastly, initialize the new keystone database, as root:</para>

View File

@ -10,7 +10,7 @@
<para>Install the Image service, as root:</para>
<screen os="ubuntu"><prompt>#</prompt> <userinput>sudo apt-get install glance</userinput></screen>
<screen os="rhel;centos;fedora"><prompt>$</prompt> <userinput>sudo yum install openstack-nova openstack-glance</userinput></screen>
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-glance</userinput></screen>
<note os="ubuntu"><para>10/10/12: When using the Ubuntu Cloud Archive, you need to
re-install the <literal>python-keystoneclient</literal> after installing the
glance packages listed above, otherwise you see an