Replace all references from quantum to neutron
Verify paths for all config files Include www/sitemap.xml Include Install Guide Fix bug 1198464 Change-Id: I4fbe158e06238fc8e3b42bb14e76d1813d5124aa
This commit is contained in:
parent
e8d2ddbc5c
commit
800517b8c4
|
@ -8,8 +8,8 @@
|
|||
<title>OpenStack Grizzly deployment guide for Ubuntu Precise,
|
||||
Single node installation. </title>
|
||||
<para>ASSUMPTION: Currently guide uses Nova-Network will be
|
||||
updated for Quantum soon, although we have created database
|
||||
and endpoint for the Quantum service.</para>
|
||||
updated for Neutron soon, although we have created database
|
||||
and endpoint for the Neutron service.</para>
|
||||
<section xml:id="osfolubuntu-prerquisite">
|
||||
<title>Prerequisites</title>
|
||||
<para>One server with two NICs</para>
|
||||
|
@ -153,7 +153,7 @@ restrict ::1
|
|||
<prompt>$</prompt> <userinput>mysql -u root -proot -e "create database glance;"</userinput>
|
||||
<prompt>$</prompt> <userinput>mysql -u root -proot -e "create database cinder;"</userinput>
|
||||
<prompt>$</prompt> <userinput>mysql -u root -proot -e "create database keystone;"</userinput>
|
||||
<prompt>$</prompt> <userinput>mysql -u root -proot -e "create database ovs_quantum;"</userinput> </screen>Add
|
||||
<prompt>$</prompt> <userinput>mysql -u root -proot -e "create database ovs_neutron;"</userinput> </screen>Add
|
||||
mysql permissions for the created
|
||||
databases.<screen> <userinput>mysql > grant all privileges on nova.* to nova@"localhost" identified by "openstack";</userinput>
|
||||
<userinput>mysql > grant all privileges on nova.* to nova@"%" identified by "openstack";</userinput>
|
||||
|
@ -163,8 +163,8 @@ restrict ::1
|
|||
<userinput>mysql > grant all privileges on cinder.* to cinder@"%" identified by "openstack";</userinput>
|
||||
<userinput>mysql > grant all privileges on keystone.* to keystone@"localhost" identified by "openstack";</userinput>
|
||||
<userinput>mysql > grant all privileges on keystone.* to keystone@"%" identified by "openstack";</userinput>
|
||||
<userinput>mysql > grant all privileges on ovs_quantum.* to ovs_quantum@"localhost" identified by "openstack";</userinput>
|
||||
<userinput>mysql > grant all privileges on ovs_quantum.* to ovs_quantum@"%" identified by "openstack";</userinput></screen></para>
|
||||
<userinput>mysql > grant all privileges on ovs_neutron.* to ovs_neutron@"localhost" identified by "openstack";</userinput>
|
||||
<userinput>mysql > grant all privileges on ovs_neutron.* to ovs_neutron@"%" identified by "openstack";</userinput></screen></para>
|
||||
|
||||
|
||||
</section>
|
||||
|
@ -195,7 +195,7 @@ export SERVICE_ENDPOINT=http://10.211.55.20:35357/v2.0/</programlisting>Source
|
|||
<prompt>$</prompt> <userinput>keystone user-create --name glance --pass openstack --email glance@foobar.com</userinput>
|
||||
<prompt>$</prompt> <userinput>keystone user-create --name swift --pass openstack --email swift@foobar.com</userinput>
|
||||
<prompt>$</prompt> <userinput>keystone user-create --name cinder --pass openstack --email cinder@foobar.com</userinput>
|
||||
<prompt>$</prompt> <userinput>keystone user-create --name quantum --pass openstack --email quantum@foobar.com</userinput></screen>Create
|
||||
<prompt>$</prompt> <userinput>keystone user-create --name neutron --pass openstack --email neutron@foobar.com</userinput></screen>Create
|
||||
roles.<screen><prompt>$</prompt> <userinput>keystone role-create --name admin</userinput>
|
||||
<prompt>$</prompt> <userinput>keystone role-create --name Member</userinput></screen></para>
|
||||
<para>Create
|
||||
|
@ -209,7 +209,7 @@ export SERVICE_ENDPOINT=http://10.211.55.20:35357/v2.0/</programlisting>Source
|
|||
<prompt>$</prompt> <userinput>keystone service-create --name keystone --type identity --description "OpenStack Identity Service"</userinput>
|
||||
<prompt>$</prompt> <userinput>keystone service-create --name ec2 --type ec2 --description "EC2 Service"</userinput>
|
||||
<prompt>$</prompt> <userinput>keystone service-create --name cinder --type volume --description "Cinder Service"</userinput>
|
||||
<prompt>$</prompt> <userinput>keystone service-create --name quantum --type network --description "OpenStack Networking service"</userinput></screen>Create
|
||||
<prompt>$</prompt> <userinput>keystone service-create --name neutron --type network --description "OpenStack Networking service"</userinput></screen>Create
|
||||
endpoints.<programlisting># For Nova-api</programlisting></para>
|
||||
<para>
|
||||
<screen><prompt>$</prompt> <userinput>keystone endpoint-create --region myregion --service_id bbbd1945908f4fae90530e8721df650d --publicurl "http://172.16.30.20:8774/v2/%(tenant_id)s" --adminurl "http://10.211.55.20:8774/v2/%(tenant_id)s" --internalurl "http://10.211.55.20:8774/v2/%(tenant_id)s"
|
||||
|
@ -236,7 +236,7 @@ export SERVICE_ENDPOINT=http://10.211.55.20:35357/v2.0/</programlisting>Source
|
|||
<screen><prompt>$</prompt> <userinput>keystone endpoint-create --region myregion --service_id 65a888cf384d4c68b595196661cee87d --publicurl "http://172.16.30.20:8776/v1/%(tenant_id)s" --adminurl "http://10.211.55.20:8776/v1/%(tenant_id)s" --internalurl "http://10.211.55.20:8776/v1/%(tenant_id)s"
|
||||
</userinput></screen>
|
||||
</para>
|
||||
<programlisting>#For Quantum</programlisting>
|
||||
<programlisting>#For Neutron</programlisting>
|
||||
<screen><prompt>$</prompt> <userinput>keystone endpoint-create --region myregion --service-id 59877a8f97f04a2aad1e8164e14d7450 --publicurl "http://172.16.30.20:9696" --adminurl "http://10.211.55.20:9696" --internalurl "http://10.211.55.20:9696"</userinput></screen>
|
||||
<para>Retrieve all the
|
||||
ids.<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput></screen></para>
|
||||
|
@ -252,7 +252,7 @@ export SERVICE_ENDPOINT=http://10.211.55.20:35357/v2.0/</programlisting>Source
|
|||
| id | name | enabled | email |
|
||||
+----------------------------------+---------+---------+--------------------+
|
||||
| 1d64219fcdeb41c3a163a761c61ef280 | nova | True | nova@foobar.com |
|
||||
| 223c1711de5446f9b99c71803fc488db | quantum | True | quantum@foobar.com |
|
||||
| 223c1711de5446f9b99c71803fc488db | neutron | True | neutron@foobar.com |
|
||||
| 45e9461fa61e48f99de1adcd0b38eae7 | admin | True | admin@foobar.com |
|
||||
| af4a1747e71d48c7834c408678f27316 | cinder | True | cinder@foobar.com |
|
||||
| ceade796dee047b8b3488661a29f23cd | glance | True | glance@foobar.com |
|
||||
|
@ -276,7 +276,7 @@ export SERVICE_ENDPOINT=http://10.211.55.20:35357/v2.0/</programlisting>Source
|
|||
| 53a8ae206b3645368daa9db4fe149ee5 | volume | volume | OpenStack Volume Service |
|
||||
| 58e531e33059482f940de8ba9e97e5d1 | ec2 | ec2 | EC2 Service |
|
||||
| 65a888cf384d4c68b595196661cee87d | cinder | volume | Cinder Service |
|
||||
| 72c2cd62020f4c349e64a383b05daf8b | quantum | network | OpenStack Networking service |
|
||||
| 72c2cd62020f4c349e64a383b05daf8b | neutron | network | OpenStack Networking service |
|
||||
| bbbd1945908f4fae90530e8721df650d | nova | compute | OpenStack Compute Service |
|
||||
+----------------------------------+----------+--------------+------------------------------+</programlisting>
|
||||
<para>Adding roles.</para>
|
||||
|
@ -297,7 +297,7 @@ export SERVICE_ENDPOINT=http://10.211.55.20:35357/v2.0/</programlisting>Source
|
|||
<programlisting> # User cinder <> role admin <> tenant service</programlisting>
|
||||
<screen><prompt>$</prompt> <userinput>keystone user-role-add --user_id af4a1747e71d48c7834c408678f27316 --role_id e45af7cf33be4dac8070aa8310144ce3 --tenant_id 2a76a11b872e4ca18adb3162924735af
|
||||
</userinput></screen>
|
||||
<programlisting># User quantum <> role admin <> tenant service </programlisting>
|
||||
<programlisting># User neutron <> role admin <> tenant service </programlisting>
|
||||
<screen><prompt>$</prompt> <userinput>keystone user-role-add --user_id 223c1711de5446f9b99c71803fc488db --role_id e45af7cf33be4dac8070aa8310144ce3 --tenant_id 2a76a11b872e4ca18adb3162924735af
|
||||
</userinput></screen>
|
||||
<programlisting> # User swift <> role Member <> tenant service</programlisting>
|
||||
|
@ -442,10 +442,10 @@ nova-cert ubuntu-precise nova enabled :-) 2012-09-1
|
|||
<title>Installing and configuring Dashboard</title>
|
||||
<para>Install the
|
||||
packages.<screen><prompt>$</prompt> <userinput>sudo apt-get install openstack-dashboard memcached</userinput></screen>Disable
|
||||
the quantum endpoint, as of now in our setup we are not
|
||||
using Quantum to do so Edit
|
||||
the neutron endpoint, as of now in our setup we are not
|
||||
using Neutron to do so Edit
|
||||
/etc/openstack-dashboard/local_settings.py - under
|
||||
TEMPLATE_DEBUG.<programlisting>QUANTUM_ENABLED = False</programlisting></para>
|
||||
TEMPLATE_DEBUG.<programlisting>NEUTRON_ENABLED = False</programlisting></para>
|
||||
<note>
|
||||
<para>In order to change the timezone you can use either
|
||||
dashboard or inside
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
start up after a reboot.</para>
|
||||
|
||||
<para>It works with glance- services, nova- services,
|
||||
novnc, and keystone, but not with quantum or swift as
|
||||
novnc, and keystone, but not with neutron or swift as
|
||||
of November 22 2011. Here are the basic steps.</para>
|
||||
<orderedlist>
|
||||
<listitem><para>Ensure you've run ./stack.sh with all the configuration you need for your systems.</para></listitem>
|
||||
|
|
|
@ -122,7 +122,7 @@ msgid "Optional: Upgrade nova-volume to OpenStack Block Storage (Cinder). Please
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_upgrading_from_essex.xml:47(para)
|
||||
msgid "Optional: Upgrade nova-network to OpenStack Networking (Quantum). Please note that nova-network will be deprecated in the following release."
|
||||
msgid "Optional: Upgrade nova-network to OpenStack Networking (Neutron). Please note that nova-network will be deprecated in the following release."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_upgrading_from_essex.xml:53(title)
|
||||
|
@ -178,7 +178,7 @@ msgid "Compute service (Nova) upgrade"
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_upgrading_from_essex.xml:195(para)
|
||||
msgid "We will perform an upgrade of all the nova packages to the Folsom version. However, in this section we do not cover the upgrade to OpenStack Networking (Quantum) and OpenStack Block Storage (Cinder) of the respective and deprecated nova-network and nova-volume packages, as this will be covered in another section."
|
||||
msgid "We will perform an upgrade of all the nova packages to the Folsom version. However, in this section we do not cover the upgrade to OpenStack Networking (Neutron) and OpenStack Block Storage (Cinder) of the respective and deprecated nova-network and nova-volume packages, as this will be covered in another section."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_upgrading_from_essex.xml:202(para)
|
||||
|
@ -214,7 +214,7 @@ msgid "If you are using Libvirt: <placeholder-1/>"
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_upgrading_from_essex.xml:284(para)
|
||||
msgid "Upgrade all the packages to the latest 2012.2 version, using your distribution package manager. Note that we are not migrating nova-network and nova-volume to OpenStack Networking (Quantum) and OpenStack Block Storage (Cinder) in this step, but just upgrade those packages to Folsom."
|
||||
msgid "Upgrade all the packages to the latest 2012.2 version, using your distribution package manager. Note that we are not migrating nova-network and nova-volume to OpenStack Networking (Neutron) and OpenStack Block Storage (Cinder) in this step, but just upgrade those packages to Folsom."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_upgrading_from_essex.xml:291(para)
|
||||
|
@ -306,7 +306,7 @@ msgid "We assume that all the services (including nova-volume) are migrated to F
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_upgrading_from_essex.xml:434(title)
|
||||
msgid "Upgrade nova-network to OpenStack Networking (Quantum)"
|
||||
msgid "Upgrade nova-network to OpenStack Networking (Neutron)"
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_upgrading_from_essex.xml:435(para)
|
||||
|
@ -390,7 +390,7 @@ msgid "Networking"
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_terminology.xml:151(para)
|
||||
msgid "Quantum"
|
||||
msgid "Neutron"
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_terminology.xml:85(para)
|
||||
|
@ -594,7 +594,7 @@ msgid "<literal>SWIFT_ENABLED</literal>: If an Object Storage (Swift) endpoint i
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/dashboard-configure.xml:16(para)
|
||||
msgid "<literal>QUANTUM_ENABLED</literal>: If a Network Connection (Quantum) service is available and configured in the Identity service catalog, set <literal>QUANTUM_ENABLED = True</literal>. Else keep it FALSE if you are not using Quantum."
|
||||
msgid "<literal>NEUTRON_ENABLED</literal>: If a Network Connection (Neutron) service is available and configured in the Identity service catalog, set <literal>NEUTRON_ENABLED = True</literal>. Else keep it FALSE if you are not using Neutron."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_installidentity.xml:6(title)
|
||||
|
@ -1074,7 +1074,7 @@ msgid "The <systemitem class=\"service\">nova-network</systemitem> service depen
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_externals.xml:102(para)
|
||||
msgid "In a future OpenStack release, functionality that is currently implemented by <systemitem class=\"service\">nova-network</systemitem> will be available through a separate OpenStack project, codenamed Quantum."
|
||||
msgid "In a future OpenStack release, functionality that is currently implemented by <systemitem class=\"service\">nova-network</systemitem> will be available through a separate OpenStack project, codenamed Neutron."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ch_externals.xml:108(para)
|
||||
|
@ -1444,7 +1444,7 @@ msgid "An Object Store (<emphasis role=\"italic\">Swift</emphasis>) endpoint."
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/dashboard-system-reqs.xml:23(para)
|
||||
msgid "A <link href=\"http://wiki.openstack.org/Quantum\">Quantum</link> (networking) endpoint."
|
||||
msgid "A <link href=\"http://wiki.openstack.org/Neutron\">Neutron</link> (networking) endpoint."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/compute-config-guest-network.xml:6(title)
|
||||
|
@ -2024,7 +2024,7 @@ msgid "The OpenStack™ system has several key projects that are separate instal
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/bk_openstackinstallguide.xml:61(para)
|
||||
msgid "Adds chapter about Essex to Folsom upgrade for Compute and related services (excludes OpenStack Object Storage (Swift) and OpenStack Networking (Quantum)."
|
||||
msgid "Adds chapter about Essex to Folsom upgrade for Compute and related services (excludes OpenStack Object Storage (Swift) and OpenStack Networking (Neutron)."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/bk_openstackinstallguide.xml:71(date)
|
||||
|
@ -3157,7 +3157,7 @@ msgid "OpenStack Grizzly deployment guide for Ubuntu Precise, Single node instal
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ap_installingfolsom.xml:10(para)
|
||||
msgid "ASSUMPTION: Currently guide uses Nova-Network will be updated for Quantum soon, although we have created database and endpoint for the Quantum service."
|
||||
msgid "ASSUMPTION: Currently guide uses Nova-Network will be updated for Neutron soon, although we have created database and endpoint for the Neutron service."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ap_installingfolsom.xml:15(para)
|
||||
|
@ -3297,7 +3297,7 @@ msgid "Installing and configuring Dashboard"
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ap_installingfolsom.xml:446(para)
|
||||
msgid "Install the packages.<placeholder-1/>Disable the quantum endpoint, as of now in our setup we are not using Quantum to do so Edit /etc/openstack-dashboard/local_settings.py - under TEMPLATE_DEBUG.<placeholder-2/>"
|
||||
msgid "Install the packages.<placeholder-1/>Disable the neutron endpoint, as of now in our setup we are not using Neutron to do so Edit /etc/openstack-dashboard/local_settings.py - under TEMPLATE_DEBUG.<placeholder-2/>"
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/ap_installingfolsom.xml:453(para)
|
||||
|
@ -3615,7 +3615,7 @@ msgid "Once you have tested stack.sh and tailored it to your system, you can con
|
|||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/compute-scripted-ubuntu-install.xml:46(para)
|
||||
msgid "It works with glance- services, nova- services, novnc, and keystone, but not with quantum or swift as of November 22 2011. Here are the basic steps."
|
||||
msgid "It works with glance- services, nova- services, novnc, and keystone, but not with neutron or swift as of November 22 2011. Here are the basic steps."
|
||||
msgstr ""
|
||||
|
||||
#: ./doc/src/docbkx/openstack-install/compute-scripted-ubuntu-install.xml:50(para)
|
||||
|
|
|
@ -216,7 +216,7 @@ pip|https://github.com/openstack/python-keystoneclient|0a8c96073c3dd76df346c2628
|
|||
pip|https://github.com/openstack/python-novaclient.git|bfb0f70f40fdea6ee7b75dc2fb44baeadceb646d
|
||||
pip|python-openid|2.2.5
|
||||
pip|https://github.com/openstack/python-openstackclient.git|cd140091b5db30e9e3c95929cb5024c3b54ab139
|
||||
pip|python-quantumclient|2.1
|
||||
pip|python-neutronclient|2.1
|
||||
pip|python-swiftclient|1.2.0
|
||||
pip|pytz|2012d
|
||||
pip|qpid-python|0.12
|
||||
|
@ -232,4 +232,4 @@ pip|unittest2|0.5.1
|
|||
pip|virtualenv|1.7.1.2
|
||||
pip|warlock|0.4.0
|
||||
pip|wsgiref|0.1.2
|
||||
pip|xattr|0.6.2
|
||||
pip|xattr|0.6.2
|
||||
|
|
|
@ -6,10 +6,9 @@
|
|||
<title>Core Configuration File Options</title>
|
||||
<section xml:id="quantum_conf">
|
||||
<?dbhtml stop-chunking?>
|
||||
<title>quantum.conf</title>
|
||||
<para>Find the configuration settings for the OpenStack
|
||||
Networking services in
|
||||
<filename>/etc/quantum/quantum.conf</filename>.</para>
|
||||
<title>neutron.conf</title>
|
||||
<para>Find the configuration settings for the OpenStack Networking services in
|
||||
<filename>/etc/neutron/neutron.conf</filename>.</para>
|
||||
<section xml:id="debug_options">
|
||||
<title>Debugging Options</title>
|
||||
<table rules="all">
|
||||
|
@ -94,18 +93,13 @@
|
|||
|
||||
<section xml:id="auth_options">
|
||||
<title>Authentication Options</title>
|
||||
<para>The auth_token middleware for keystone now enables
|
||||
you to configure auth_token in the
|
||||
<filename>quantum.conf</filename> file. You no
|
||||
longer have to edit the
|
||||
<filename>api-paste.ini</filename> file. This
|
||||
change does not break backward compatibility. The
|
||||
auth_token middleware first tries the configurations
|
||||
in <filename>/etc/quantum/api-paste.ini</filename> and
|
||||
then tries the <filename>quantum.conf</filename>
|
||||
configuration. If you currently use
|
||||
<filename>api-paste.ini</filename>, you do not
|
||||
need to change it.</para>
|
||||
<para>The auth_token middleware for keystone now enables you to configure auth_token in
|
||||
the <filename>neutron.conf</filename> file. You no longer have to edit the
|
||||
<filename>api-paste.ini</filename> file. This change does not break backward
|
||||
compatibility. The auth_token middleware first tries the configurations in
|
||||
<filename>/etc/neutron/api-paste.ini</filename> and then tries the
|
||||
<filename>neutron.conf</filename> configuration. If you currently use
|
||||
<filename>api-paste.ini</filename>, you do not need to change it.</para>
|
||||
|
||||
<table rules="all">
|
||||
<caption>Authentication Options</caption>
|
||||
|
@ -146,8 +140,7 @@
|
|||
administrative user.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>signing_dir =
|
||||
/var/lib/quantum/keystone-signing</td>
|
||||
<td>signing_dir = /var/lib/neutron/keystone-signing</td>
|
||||
<td>(StrOpt) The signing directory. </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -198,8 +191,7 @@
|
|||
‘keystone’ and ‘noauth’. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
core_plugin=quantum.plugins.sample.SamplePlugin.FakePlugin </td>
|
||||
<td> core_plugin=neutron.plugins.sample.SamplePlugin.FakePlugin </td>
|
||||
<td>(StrOpt) The plugin to be loaded by the
|
||||
service. </td>
|
||||
</tr>
|
||||
|
@ -255,15 +247,11 @@
|
|||
enabled, native emulated sorting will
|
||||
be enabled automatically.</para>
|
||||
<note>
|
||||
<para>If the plugin supports native
|
||||
pagination, the plugin will returns
|
||||
the maximum limit of items as
|
||||
request. If the plugin didn't
|
||||
support that, quantum API can
|
||||
emulate the pagination behavior.
|
||||
The performance of native
|
||||
pagination is better than emulated
|
||||
pagination. </para>
|
||||
<para>If the plugin supports native pagination, the plugin will
|
||||
returns the maximum limit of items as request. If the plugin
|
||||
didn't support that, neutron API can emulate the pagination
|
||||
behavior. The performance of native pagination is better than
|
||||
emulated pagination. </para>
|
||||
</note>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -274,14 +262,10 @@
|
|||
native sorting, it will enable
|
||||
emulated sorting.</para>
|
||||
<note>
|
||||
<para>If the plugin supports native
|
||||
sorting, the plugin will returns
|
||||
ordered items as request. If the
|
||||
plugin didn't support that, quantum
|
||||
API can emulate the sorting
|
||||
behavior. The performance of native
|
||||
sorting is better than emulated
|
||||
sorting. </para>
|
||||
<para>If the plugin supports native sorting, the plugin will returns
|
||||
ordered items as request. If the plugin didn't support that,
|
||||
neutron API can emulate the sorting behavior. The performance of
|
||||
native sorting is better than emulated sorting. </para>
|
||||
</note>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -323,17 +307,14 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>control_exchange=quantum </td>
|
||||
<td>control_exchange=neutron </td>
|
||||
<td>(StrOpt) AMQP exchange to connect to if
|
||||
using RabbitMQ or QPID. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
rpc_back_end=quantum.openstack.common.rpc.impl_kombu </td>
|
||||
<td>(StrOpt) The messaging module to use,
|
||||
defaults to kombu. For qpid, make use of
|
||||
quantum.openstack.common.rpc.impl_qpid.
|
||||
</td>
|
||||
<td> rpc_back_end=neutron.openstack.common.rpc.impl_kombu </td>
|
||||
<td>(StrOpt) The messaging module to use, defaults to kombu. For qpid, make
|
||||
use of neutron.openstack.common.rpc.impl_qpid. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rpc_thread_pool_size=64 </td>
|
||||
|
@ -350,8 +331,7 @@
|
|||
from call or multi call.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
allowed_rpc_exception_modules='quantum.openstack.common.exception',
|
||||
<td> allowed_rpc_exception_modules='neutron.openstack.common.exception',
|
||||
'nova.exception' </td>
|
||||
<td>(ListOpt) Modules of exceptions that are
|
||||
permitted to be recreated upon receiving
|
||||
|
@ -530,8 +510,7 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
notification_driver=quantum.openstack.common.notifier.list_notifier </td>
|
||||
<td> notification_driver=neutron.openstack.common.notifier.list_notifier </td>
|
||||
<td>(MultiStrOpt) Driver or drivers to handle
|
||||
sending notifications. The default is set
|
||||
as notifier as the DHCP agent makes use of
|
||||
|
@ -549,7 +528,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
list_notifier_drivers='quantum.openstack.common.notifier.no_op_notifier' </td>
|
||||
list_notifier_drivers='neutron.openstack.common.notifier.no_op_notifier' </td>
|
||||
<td>(MultiStrOpt) List of drivers to send
|
||||
notifications. </td>
|
||||
</tr>
|
||||
|
@ -574,13 +553,11 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quota_driver=quantum.quota.ConfDriver </td>
|
||||
<td>(StrOpt) Default driver to use for quota
|
||||
checks. If the default driver is used then
|
||||
the configuration values below are in
|
||||
effect. To limit quotas per tenant then
|
||||
use:
|
||||
<literal>quantum.db.quota_db.DbQuotaDriver</literal>
|
||||
<td>quota_driver=neutron.quota.ConfDriver </td>
|
||||
<td>(StrOpt) Default driver to use for quota checks. If the default driver
|
||||
is used then the configuration values below are in effect. To limit
|
||||
quotas per tenant then use:
|
||||
<literal>neutron.db.quota_db.DbQuotaDriver</literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -615,7 +592,7 @@
|
|||
</section>
|
||||
<section xml:id="ovs_quantum_plugin">
|
||||
<?dbhtml stop-chunking?>
|
||||
<title>ovs_quantum_plugin.ini</title>
|
||||
<title>ovs_neutron_plugin.ini</title>
|
||||
<para>For information about the Open vSwitch plugin
|
||||
configurations, see <link
|
||||
xlink:href="http://wiki.openstack.org/ConfigureOpenvswitch"
|
||||
|
@ -633,14 +610,11 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>sql_connection=sqlite:// </td>
|
||||
<td><para>(StrOpt) The details of the database
|
||||
connection. For example
|
||||
mysql://root:nova@127.0.0.1:3306/ovs_quantum.
|
||||
Replace 127.0.0.1 above with the IP
|
||||
address of the database used by the
|
||||
main OpenStack Networking server.
|
||||
(Leave it as is if the database runs
|
||||
on this host.).</para>
|
||||
<td><para>(StrOpt) The details of the database connection. For example
|
||||
mysql://root:nova@127.0.0.1:3306/ovs_neutron. Replace 127.0.0.1
|
||||
above with the IP address of the database used by the main OpenStack
|
||||
Networking server. (Leave it as is if the database runs on this
|
||||
host.).</para>
|
||||
<note>
|
||||
<para>Change this line to ensure that
|
||||
the database values are persistent.
|
||||
|
@ -757,16 +731,12 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>rpc=True </td>
|
||||
<td>(BoolOpt) If <literal>True</literal>, the
|
||||
agent communicates with the plugin through
|
||||
the OpenStack RPC, which is configured in
|
||||
<filename>quantum.conf.</filename> If
|
||||
<literal>False</literal>, the agent
|
||||
polls the database for changes. If
|
||||
<literal>False</literal>, you must
|
||||
update the relevant database settings on
|
||||
the agent so that it can access the
|
||||
database. </td>
|
||||
<td>(BoolOpt) If <literal>True</literal>, the agent communicates with the
|
||||
plugin through the OpenStack RPC, which is configured in
|
||||
<filename>neutron.conf.</filename> If <literal>False</literal>, the
|
||||
agent polls the database for changes. If <literal>False</literal>, you
|
||||
must update the relevant database settings on the agent so that it can
|
||||
access the database. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>polling_interval=2 </td>
|
||||
|
@ -800,14 +770,11 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>sql_connection=sqlite:// </td>
|
||||
<td><para>(StrOpt) The details of the
|
||||
database connection. For example
|
||||
mysql://root:nova@127.0.0.1:3306/ovs_quantum.
|
||||
Replace 127.0.0.1 above with the IP
|
||||
address of the database used by the
|
||||
main OpenStack Networking server.
|
||||
(Leave it as is if the database
|
||||
runs on this host.).</para>
|
||||
<td><para>(StrOpt) The details of the database connection. For example
|
||||
mysql://root:nova@127.0.0.1:3306/ovs_neutron. Replace 127.0.0.1
|
||||
above with the IP address of the database used by the main
|
||||
OpenStack Networking server. (Leave it as is if the database
|
||||
runs on this host.).</para>
|
||||
<note>
|
||||
<para>This line must be changed to
|
||||
ensure that the database values are
|
||||
|
@ -896,17 +863,12 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>rpc=True </td>
|
||||
<td>(BoolOpt) If <literal>True</literal>,
|
||||
the agent communicates with the plugin
|
||||
through the OpenStack RPC, which is
|
||||
configured in
|
||||
<filename>quantum.conf</filename>.
|
||||
If <literal>False</literal>, the agent
|
||||
polls the database for changes. If
|
||||
<literal>False</literal>, you must
|
||||
update the relevant database settings
|
||||
on the agent so that it can access the
|
||||
database. </td>
|
||||
<td>(BoolOpt) If <literal>True</literal>, the agent communicates with
|
||||
the plugin through the OpenStack RPC, which is configured in
|
||||
<filename>neutron.conf</filename>. If <literal>False</literal>,
|
||||
the agent polls the database for changes. If
|
||||
<literal>False</literal>, you must update the relevant database
|
||||
settings on the agent so that it can access the database. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>polling_interval=2 </td>
|
||||
|
@ -949,7 +911,7 @@
|
|||
more details. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>dhcp_driver=quantum.agent.linux.dhcp.Dnsmasq </td>
|
||||
<td>dhcp_driver=neutron.agent.linux.dhcp.Dnsmasq </td>
|
||||
<td>(StrOpt) The driver used to manage the
|
||||
DHCP server. </td>
|
||||
</tr>
|
||||
|
@ -1112,11 +1074,11 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>metadata_proxy_shared_secret= </td>
|
||||
<td>(StrOpt) When proxying metadata requests, Quantum signs the Instance-ID
|
||||
<td>(StrOpt) When proxying metadata requests, Neutron signs the Instance-ID
|
||||
header with a shared secret to prevent spoofing. You may select any
|
||||
string for a secret, but it must match here and in the configuration
|
||||
used by the Nova Metadata Server. NOTE: Nova uses a different key:
|
||||
quantum_metadata_proxy_shared_secret </td>
|
||||
neutron_metadata_proxy_shared_secret </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>admin_user= </td>
|
||||
|
@ -1234,14 +1196,10 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>resync_interval=30 </td>
|
||||
<td>(IntOpt) If an exception occurs on the
|
||||
quantum-server service, the DHCP agent
|
||||
ensures that it syncs with the
|
||||
<filename>quantum.conf</filename>
|
||||
configuration. The validation about
|
||||
syncing occurs every
|
||||
<literal>resync_interval</literal>
|
||||
seconds. </td>
|
||||
<td>(IntOpt) If an exception occurs on the neutron-server service, the DHCP
|
||||
agent ensures that it syncs with the <filename>neutron.conf</filename>
|
||||
configuration. The validation about syncing occurs every
|
||||
<literal>resync_interval</literal> seconds. </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></para>
|
||||
|
|
|
@ -84,12 +84,10 @@
|
|||
addition to this there should be an image.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>OpenStack Identity is installed, configured and
|
||||
running. An OpenStack Networking user <emphasis
|
||||
role="bold">quantum</emphasis> should be created
|
||||
on tenant <emphasis role="bold"
|
||||
>servicetenant</emphasis> with password <emphasis
|
||||
role="bold">servicepassword</emphasis>.</para>
|
||||
<para>OpenStack Identity is installed, configured and running. An OpenStack Networking
|
||||
user <emphasis role="bold">neutron</emphasis> should be created on tenant <emphasis
|
||||
role="bold">servicetenant</emphasis> with password <emphasis role="bold"
|
||||
>servicepassword</emphasis>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Additional services <itemizedlist>
|
||||
|
@ -121,37 +119,31 @@
|
|||
<para>Install the OpenStack Networking server.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Create database <emphasis
|
||||
role="bold">ovs_quantum</emphasis>.
|
||||
See the section on the <link
|
||||
linkend="arch_overview">Core
|
||||
Plugins</link> for the exact
|
||||
details.</para>
|
||||
<para>Create database <emphasis role="bold">ovs_neutron</emphasis>.
|
||||
See the section on the <link linkend="arch_overview">Core
|
||||
Plugins</link> for the exact details.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the OpenStack Networking configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis>
|
||||
setting plugin choice and Identity Service user
|
||||
as necessary:</para>
|
||||
<para>Update the OpenStack Networking configuration file, <emphasis
|
||||
role="bold">/etc/neutron/neutron.conf</emphasis> setting
|
||||
plugin choice and Identity Service user as necessary:</para>
|
||||
<screen><computeroutput>[DEFAULT]
|
||||
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
|
||||
control_exchange = quantum
|
||||
core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
|
||||
control_exchange = neutron
|
||||
rabbit_host = controlnode
|
||||
notification_driver = quantum.openstack.common.notifier.rabbit_notifier
|
||||
notification_driver = neutron.openstack.common.notifier.rabbit_notifier
|
||||
|
||||
[keystone_authtoken]
|
||||
admin_tenant_name=servicetenant
|
||||
admin_user=quantum
|
||||
admin_user=neutron
|
||||
admin_password=servicepassword
|
||||
</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the plugin configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</emphasis>:</para>
|
||||
<para>Update the plugin configuration file, <emphasis role="bold"
|
||||
>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</emphasis>:</para>
|
||||
<screen><computeroutput>[database]
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_quantum?charset=utf8
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_neutron?charset=utf8
|
||||
[ovs]
|
||||
network_vlan_ranges = physnet1
|
||||
bridge_mappings = physnet1:br-eth0
|
||||
|
@ -172,14 +164,14 @@ bridge_mappings = physnet1:br-eth0
|
|||
file, <emphasis role="bold"
|
||||
>/etc/nova/nova.conf. Make sure the following is at the end of this file</emphasis>:</para>
|
||||
<screen><computeroutput>
|
||||
network_api_class=nova.network.quantumv2.api.API
|
||||
network_api_class=nova.network.neutronv2.api.API
|
||||
|
||||
quantum_admin_username=quantum
|
||||
quantum_admin_password=servicepassword
|
||||
quantum_admin_auth_url=http://controlnode:35357/v2.0/
|
||||
quantum_auth_strategy=keystone
|
||||
quantum_admin_tenant_name=servicetenant
|
||||
quantum_url=http://controlnode:9696/
|
||||
neutron_admin_username=neutron
|
||||
neutron_admin_password=servicepassword
|
||||
neutron_admin_auth_url=http://controlnode:35357/v2.0/
|
||||
neutron_auth_strategy=keystone
|
||||
neutron_admin_tenant_name=servicetenant
|
||||
neutron_url=http://controlnode:9696/
|
||||
|
||||
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver</computeroutput></screen>
|
||||
</listitem>
|
||||
|
@ -201,21 +193,19 @@ libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver</computero
|
|||
<screen><computeroutput>sudo ovs-vsctl add-br br-int</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the OpenStack Networking configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis>:</para>
|
||||
<para>Update the OpenStack Networking configuration file, <emphasis
|
||||
role="bold">/etc/neutron/neutron.conf</emphasis>:</para>
|
||||
<screen><computeroutput>[DEFAULT]
|
||||
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
|
||||
control_exchange = quantum
|
||||
core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
|
||||
control_exchange = neutron
|
||||
rabbit_host = controlnode
|
||||
notification_driver = quantum.openstack.common.notifier.rabbit_notifier</computeroutput></screen>
|
||||
notification_driver = neutron.openstack.common.notifier.rabbit_notifier</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the plugin configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</emphasis>:</para>
|
||||
<para>Update the plugin configuration file, <emphasis role="bold"
|
||||
>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</emphasis>:</para>
|
||||
<screen><computeroutput>[database]
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_quantum?charset=utf8
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_neutron?charset=utf8
|
||||
[ovs]
|
||||
network_vlan_ranges = physnet1
|
||||
bridge_mappings = physnet1:br-eth0</computeroutput></screen>
|
||||
|
@ -240,20 +230,18 @@ sudo ovs-vsctl add-port br-eth0 eth0</computeroutput></screen>
|
|||
<para>Install the DHCP agent.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the OpenStack Networking configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis>:</para>
|
||||
<para>Update the OpenStack Networking configuration file, <emphasis
|
||||
role="bold">/etc/neutron/neutron.conf</emphasis>:</para>
|
||||
<screen><computeroutput>[DEFAULT]
|
||||
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
|
||||
control_exchange = quantum
|
||||
core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
|
||||
control_exchange = neutron
|
||||
rabbit_host = controlnode
|
||||
notification_driver = quantum.openstack.common.notifier.rabbit_notifier</computeroutput></screen>
|
||||
notification_driver = neutron.openstack.common.notifier.rabbit_notifier</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the DHCP configuration
|
||||
file <emphasis role="bold"
|
||||
>/etc/quantum/dhcp_agent.ini</emphasis>:</para>
|
||||
<screen><computeroutput>interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver</computeroutput></screen>
|
||||
<para>Update the DHCP configuration file <emphasis role="bold"
|
||||
>/etc/neutron/dhcp_agent.ini</emphasis>:</para>
|
||||
<screen><computeroutput>interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Start the DHCP agent</para>
|
||||
|
@ -312,7 +300,7 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</computeroutput></screen>
|
|||
<para>Create a internal shared network on the
|
||||
demo tenant ($TENANT_ID will be
|
||||
b7445f221cda4f4a8ac7db6b218b1339):</para>
|
||||
<screen><computeroutput>quantum net-create --tenant-id $TENANT_ID sharednet1 --shared --provider:network_type flat --provider:physical_network physnet1</computeroutput></screen>
|
||||
<screen><computeroutput>neutron net-create --tenant-id $TENANT_ID sharednet1 --shared --provider:network_type flat --provider:physical_network physnet1</computeroutput></screen>
|
||||
<screen><computeroutput>Created a new network:
|
||||
+---------------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -333,7 +321,7 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</computeroutput></screen>
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>Create a subnet on the network:</para>
|
||||
<screen><computeroutput>quantum subnet-create --tenant-id $TENANT_ID sharednet1 30.0.0.0/24</computeroutput></screen>
|
||||
<screen><computeroutput>neutron subnet-create --tenant-id $TENANT_ID sharednet1 30.0.0.0/24</computeroutput></screen>
|
||||
<screen><computeroutput>Created a new subnet:
|
||||
+------------------+--------------------------------------------+
|
||||
| Field | Value |
|
||||
|
|
|
@ -38,9 +38,8 @@ format="PNG" />
|
|||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="app_demo_multi_dhcp_agents">
|
||||
<title>Scalable and Highly Available DHCP Agents</title>
|
||||
<para>This section describes how to use the agent management (alias agent) and scheduler (alias agent_scheduler) extensions for DHCP agents scalability and HA</para>
|
||||
<note><para>Use the ext-list quantum client command to check if
|
||||
these extensions are enabled:
|
||||
<screen><computeroutput>$ quantum ext-list -c name -c alias
|
||||
<note><para>Use the ext-list neutron client command to check if these extensions are enabled:
|
||||
<screen><computeroutput>$ neutron ext-list -c name -c alias
|
||||
+-----------------+--------------------------+
|
||||
| alias | name |
|
||||
+-----------------+--------------------------+
|
||||
|
@ -49,9 +48,9 @@ format="PNG" />
|
|||
| quotas | Quota management support |
|
||||
| agent | agent |
|
||||
| provider | Provider Network |
|
||||
| router | Quantum L3 Router |
|
||||
| router | Neutron L3 Router |
|
||||
| lbaas | LoadBalancing service |
|
||||
| extraroute | Quantum Extra Route |
|
||||
| extraroute | Neutron Extra Route |
|
||||
+-----------------+--------------------------+
|
||||
</computeroutput></screen></para></note>
|
||||
<informalfigure>
|
||||
|
@ -72,19 +71,15 @@ format="PNG" />
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>OpenStack Controller host - controlnode</td>
|
||||
<td>Runs the Quantum service, Keystone and all of
|
||||
the Nova services that are required to deploy
|
||||
VMs. The node must have at least one
|
||||
network interface, this should be connected to
|
||||
the "Management Network". <emphasis
|
||||
role="bold">Note</emphasis> nova-network
|
||||
should not be running since it is
|
||||
replaced by Quantum.</td>
|
||||
<td>Runs the Neutron service, Keystone and all of the Nova services that are
|
||||
required to deploy VMs. The node must have at least one network interface,
|
||||
this should be connected to the "Management Network". <emphasis role="bold"
|
||||
>Note</emphasis> nova-network should not be running since it is replaced
|
||||
by Neutron.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>HostA</td>
|
||||
<td>Runs Nova compute, the Quantum L2 agent and
|
||||
DCHP agent</td>
|
||||
<td>Runs Nova compute, the Neutron L2 agent and DCHP agent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>HostB</td>
|
||||
|
@ -97,13 +92,13 @@ format="PNG" />
|
|||
<para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><emphasis role="bold">controlnode - Quantum Server</emphasis></para><orderedlist>
|
||||
<para><emphasis role="bold">controlnode - Neutron Server</emphasis></para><orderedlist>
|
||||
<listitem>
|
||||
<para>Quantum configuration
|
||||
file <emphasis role="bold">/etc/quantum/quantum.conf</emphasis>:</para>
|
||||
<para>Neutron configuration file <emphasis role="bold"
|
||||
>/etc/neutron/neutron.conf</emphasis>:</para>
|
||||
<screen><computeroutput>
|
||||
[DEFAULT]
|
||||
core_plugin = quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2
|
||||
core_plugin = neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2
|
||||
rabbit_host = controlnode
|
||||
allow_overlapping_ips = True
|
||||
host = controlnode
|
||||
|
@ -111,14 +106,14 @@ agent_down_time = 5
|
|||
</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the plugin configuration
|
||||
file <emphasis role="bold">/etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini</emphasis>:</para>
|
||||
<para>Update the plugin configuration file <emphasis role="bold"
|
||||
>/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini</emphasis>:</para>
|
||||
<screen><computeroutput>
|
||||
[vlans]
|
||||
tenant_network_type = vlan
|
||||
network_vlan_ranges = physnet1:1000:2999
|
||||
[database]
|
||||
sql_connection = mysql://root:root@127.0.0.1:3306/quantum_linux_bridge
|
||||
sql_connection = mysql://root:root@127.0.0.1:3306/neutron_linux_bridge
|
||||
reconnect_interval = 2
|
||||
[linux_bridge]
|
||||
physical_interface_mappings = physnet1:eth0
|
||||
|
@ -129,8 +124,8 @@ physical_interface_mappings = physnet1:eth0
|
|||
<listitem>
|
||||
<para><emphasis role="bold">HostA and HostB - L2 Agent</emphasis></para><orderedlist>
|
||||
<listitem>
|
||||
<para>Quantum configuration
|
||||
file <emphasis role="bold">/etc/quantum/quantum.conf</emphasis>:</para>
|
||||
<para>Neutron configuration file <emphasis role="bold"
|
||||
>/etc/neutron/neutron.conf</emphasis>:</para>
|
||||
<screen><computeroutput>
|
||||
[DEFAULT]
|
||||
rabbit_host = controlnode
|
||||
|
@ -140,14 +135,14 @@ host = HostA
|
|||
</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the plugin configuration
|
||||
file <emphasis role="bold">/etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini</emphasis>:</para>
|
||||
<para>Update the plugin configuration file <emphasis role="bold"
|
||||
>/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini</emphasis>:</para>
|
||||
<screen><computeroutput>
|
||||
[vlans]
|
||||
tenant_network_type = vlan
|
||||
network_vlan_ranges = physnet1:1000:2999
|
||||
[database]
|
||||
sql_connection = mysql://root:root@127.0.0.1:3306/quantum_linux_bridge
|
||||
sql_connection = mysql://root:root@127.0.0.1:3306/neutron_linux_bridge
|
||||
reconnect_interval = 2
|
||||
[linux_bridge]
|
||||
physical_interface_mappings = physnet1:eth0</computeroutput></screen>
|
||||
|
@ -157,14 +152,14 @@ physical_interface_mappings = physnet1:eth0</computeroutput></screen>
|
|||
file <emphasis role="bold"
|
||||
>/etc/nova/nova.conf</emphasis>:</para>
|
||||
<screen><computeroutput>[DEFAULT]
|
||||
network_api_class=nova.network.quantumv2.api.API
|
||||
network_api_class=nova.network.neutronv2.api.API
|
||||
|
||||
quantum_admin_username=quantum
|
||||
quantum_admin_password=servicepassword
|
||||
quantum_admin_auth_url=http://controlnode:35357/v2.0/
|
||||
quantum_auth_strategy=keystone
|
||||
quantum_admin_tenant_name=servicetenant
|
||||
quantum_url=http://100.1.1.10:9696/
|
||||
neutron_admin_username=neutron
|
||||
neutron_admin_password=servicepassword
|
||||
neutron_admin_auth_url=http://controlnode:35357/v2.0/
|
||||
neutron_auth_strategy=keystone
|
||||
neutron_admin_tenant_name=servicetenant
|
||||
neutron_url=http://100.1.1.10:9696/
|
||||
firewall_driver=nova.virt.firewall.NoopFirewallDriver
|
||||
</computeroutput></screen>
|
||||
</listitem>
|
||||
|
@ -173,12 +168,11 @@ firewall_driver=nova.virt.firewall.NoopFirewallDriver
|
|||
<listitem>
|
||||
<para><emphasis role="bold">HostA and HostB - DHCP Agent</emphasis></para><orderedlist>
|
||||
<listitem>
|
||||
<para>Update the DHCP configuration
|
||||
file <emphasis role="bold"
|
||||
>/etc/quantum/dhcp_agent.ini</emphasis>:</para>
|
||||
<para>Update the DHCP configuration file <emphasis role="bold"
|
||||
>/etc/neutron/dhcp_agent.ini</emphasis>:</para>
|
||||
<screen><computeroutput>
|
||||
[DEFAULT]
|
||||
interface_driver = quantum.agent.linux.interface.BridgeInterfaceDriver
|
||||
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
|
||||
</computeroutput></screen>
|
||||
</listitem>
|
||||
|
||||
|
@ -202,7 +196,8 @@ export OS_AUTH_URL=http://controlnode:5000/v2.0/</computeroutput></screen>
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><emphasis role="bold">Settings</emphasis></para>
|
||||
<para>We need some VMs and a quantum network to experiment. Here they are:</para>
|
||||
<para>We need some VMs and a neutron network to experiment. Here they
|
||||
are:</para>
|
||||
<screen><computeroutput>$ nova list
|
||||
+--------------------------------------+-----------+--------+---------------+
|
||||
| ID | Name | Status | Networks |
|
||||
|
@ -211,7 +206,7 @@ export OS_AUTH_URL=http://controlnode:5000/v2.0/</computeroutput></screen>
|
|||
| 2d604e05-9a6c-4ddb-9082-8a1fbdcc797d | myserver2 | ACTIVE | net1=10.0.1.4 |
|
||||
| c7c0481c-3db8-4d7a-a948-60ce8211d585 | myserver3 | ACTIVE | net1=10.0.1.5 |
|
||||
+--------------------------------------+-----------+--------+---------------+
|
||||
$ quantum net-list
|
||||
$ neutron net-list
|
||||
+--------------------------------------+------+--------------------------------------+
|
||||
| id | name | subnets |
|
||||
+--------------------------------------+------+--------------------------------------+
|
||||
|
@ -220,13 +215,14 @@ $ quantum net-list
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis role="bold">Manage agents in quantum deployment</emphasis></para>
|
||||
<para>Every agent which supports these extensions will register itself with the quantum server when
|
||||
it starts up.</para>
|
||||
<para><emphasis role="bold">Manage agents in neutron
|
||||
deployment</emphasis></para>
|
||||
<para>Every agent which supports these extensions will register itself with the
|
||||
neutron server when it starts up.</para>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>List all agents:</para>
|
||||
<screen><computeroutput>$ quantum agent-list
|
||||
<screen><computeroutput>$ neutron agent-list
|
||||
+--------------------------------------+--------------------+-------+-------+----------------+
|
||||
| id | agent_type | host | alive | admin_state_up |
|
||||
+--------------------------------------+--------------------+-------+-------+----------------+
|
||||
|
@ -236,11 +232,13 @@ $ quantum net-list
|
|||
| f28aa126-6edb-4ea5-a81e-8850876bc0a8 | DHCP agent | HostB | :-) | True |
|
||||
+--------------------------------------+--------------------+-------+-------+----------------+
|
||||
</computeroutput></screen>
|
||||
<para>Just as shown, we have four agents now, and they have reported their state.
|
||||
The <literal>'alive'</literal> will be <literal>':-)'</literal> if the agent reported its state
|
||||
within the period defined by the option <literal>'agent_down_time'</literal> in quantum server's quantum.conf.
|
||||
Otherwise the <literal>'alive'</literal> is <literal>'xxx'</literal>.
|
||||
</para>
|
||||
<para>Just as shown, we have four agents now, and they have reported
|
||||
their state. The <literal>'alive'</literal> will be
|
||||
<literal>':-)'</literal> if the agent reported its state within
|
||||
the period defined by the option
|
||||
<literal>'agent_down_time'</literal> in neutron server's
|
||||
neutron.conf. Otherwise the <literal>'alive'</literal> is
|
||||
<literal>'xxx'</literal>. </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>List the DHCP agents hosting a given network</para>
|
||||
|
@ -254,7 +252,7 @@ $ quantum net-list
|
|||
more than one network. Let's first go
|
||||
with command that lists DHCP agents
|
||||
hosting a given network.</para>
|
||||
<screen><computeroutput>$ quantum dhcp-agent-list-hosting-net net1
|
||||
<screen><computeroutput>$ neutron dhcp-agent-list-hosting-net net1
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
| id | host | admin_state_up | alive |
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
|
@ -266,7 +264,7 @@ $ quantum net-list
|
|||
<para>List the networks hosted by a
|
||||
given DHCP agent.</para>
|
||||
<para>This command is to show which networks a given dhcp agent is managing.</para>
|
||||
<screen><computeroutput>$ quantum net-list-on-dhcp-agent a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
<screen><computeroutput>$ neutron net-list-on-dhcp-agent a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
+--------------------------------------+------+---------------------------------------------------+
|
||||
| id | name | subnets |
|
||||
+--------------------------------------+------+---------------------------------------------------+
|
||||
|
@ -283,18 +281,18 @@ $ quantum net-list
|
|||
information of an agent, we can use
|
||||
'agent-show'.</para>
|
||||
<screen><computeroutput>
|
||||
$ quantum agent-show a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
$ neutron agent-show a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
+---------------------+----------------------------------------------------------+
|
||||
| Field | Value |
|
||||
+---------------------+----------------------------------------------------------+
|
||||
| admin_state_up | True |
|
||||
| agent_type | DHCP agent |
|
||||
| alive | False |
|
||||
| binary | quantum-dhcp-agent |
|
||||
| binary | neutron-dhcp-agent |
|
||||
| configurations | { |
|
||||
| | "subnets": 1, |
|
||||
| | "use_namespaces": true, |
|
||||
| | "dhcp_driver": "quantum.agent.linux.dhcp.Dnsmasq", |
|
||||
| | "dhcp_driver": "neutron.agent.linux.dhcp.Dnsmasq", |
|
||||
| | "networks": 1, |
|
||||
| | "dhcp_lease_time": 120, |
|
||||
| | "ports": 3 |
|
||||
|
@ -308,25 +306,20 @@ $ quantum agent-show a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
|||
| topic | dhcp_agent |
|
||||
+---------------------+----------------------------------------------------------+
|
||||
</computeroutput></screen>
|
||||
<para>In the above output,
|
||||
<literal>'heartbeat_timestamp'</literal> is the time on
|
||||
quantum server. So we don't need
|
||||
all agents synced to quantum
|
||||
server's time for this extension to
|
||||
run well. <literal>'configurations'</literal> is about
|
||||
the agent's static configuration
|
||||
or run time data. We can see that this
|
||||
agent is a DHCP agent, and it is
|
||||
hosting one network, one subnet and 3
|
||||
ports.</para>
|
||||
<para>In the above output, <literal>'heartbeat_timestamp'</literal>
|
||||
is the time on neutron server. So we don't need all agents synced to
|
||||
neutron server's time for this extension to run well.
|
||||
<literal>'configurations'</literal> is about the agent's static
|
||||
configuration or run time data. We can see that this agent is a DHCP
|
||||
agent, and it is hosting one network, one subnet and 3 ports.</para>
|
||||
<para>Different type of agents has different detail. Below is information for
|
||||
a <literal>'Linux bridge agent'</literal></para>
|
||||
<screen><computeroutput>$ quantum agent-show ed96b856-ae0f-4d75-bb28-40a47ffd7695
|
||||
<screen><computeroutput>$ neutron agent-show ed96b856-ae0f-4d75-bb28-40a47ffd7695
|
||||
+---------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+---------------------+--------------------------------------+
|
||||
| admin_state_up | True |
|
||||
| binary | quantum-linuxbridge-agent |
|
||||
| binary | neutron-linuxbridge-agent |
|
||||
| configurations | { |
|
||||
| | "physnet1": "eth0", |
|
||||
| | "devices": "4" |
|
||||
|
@ -361,10 +354,10 @@ $ quantum agent-show a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
|||
(We can design more sophisticated
|
||||
scheduling algorithm just like we do
|
||||
in nova-schedule later.)</para>
|
||||
<screen><computeroutput>$ quantum net-create net2
|
||||
$ quantum subnet-create net2 9.0.1.0/24 --name subnet2
|
||||
$ quantum port-create net2
|
||||
$ quantum dhcp-agent-list-hosting-net net2
|
||||
<screen><computeroutput>$ neutron net-create net2
|
||||
$ neutron subnet-create net2 9.0.1.0/24 --name subnet2
|
||||
$ neutron port-create net2
|
||||
$ neutron dhcp-agent-list-hosting-net net2
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
| id | host | admin_state_up | alive |
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
|
@ -382,9 +375,9 @@ $ quantum dhcp-agent-list-hosting-net net2
|
|||
<para>Assign a network to a given DHCP
|
||||
agent.</para>
|
||||
<para>We have two DHCP agents, and we want another DHCP agent to host the network too.</para>
|
||||
<screen><computeroutput>$ quantum dhcp-agent-network-add f28aa126-6edb-4ea5-a81e-8850876bc0a8 net2
|
||||
<screen><computeroutput>$ neutron dhcp-agent-network-add f28aa126-6edb-4ea5-a81e-8850876bc0a8 net2
|
||||
Added network net2 to dhcp agent
|
||||
$ quantum dhcp-agent-list-hosting-net net2
|
||||
$ neutron dhcp-agent-list-hosting-net net2
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
| id | host | admin_state_up | alive |
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
|
@ -401,9 +394,9 @@ $ quantum dhcp-agent-list-hosting-net net2
|
|||
command for the previous one.
|
||||
Let's remove <literal>'net2'</literal> from HostA's DHCP
|
||||
agent.</para>
|
||||
<screen><computeroutput>$ quantum dhcp-agent-network-remove a0c1c21c-d4f4-4577-9ec7-908f2d48622d net2
|
||||
<screen><computeroutput>$ neutron dhcp-agent-network-remove a0c1c21c-d4f4-4577-9ec7-908f2d48622d net2
|
||||
Removed network net2 to dhcp agent
|
||||
$ quantum dhcp-agent-list-hosting-net net2
|
||||
$ neutron dhcp-agent-list-hosting-net net2
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
| id | host | admin_state_up | alive |
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
|
@ -422,7 +415,7 @@ $ quantum dhcp-agent-list-hosting-net net2
|
|||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Boot a VM on net2.</para>
|
||||
<screen><computeroutput>$ quantum net-list
|
||||
<screen><computeroutput>$ neutron net-list
|
||||
+--------------------------------------+------+--------------------------------------------------+
|
||||
| id | name | subnets |
|
||||
+--------------------------------------+------+--------------------------------------------------+
|
||||
|
@ -445,7 +438,7 @@ $ nova list
|
|||
<para>Make sure both DHCP agents
|
||||
hosting 'net2'.</para>
|
||||
<para>We can use commands shown before to assign the network to agents.</para>
|
||||
<screen><computeroutput>$ quantum dhcp-agent-list-hosting-net net2
|
||||
<screen><computeroutput>$ neutron dhcp-agent-list-hosting-net net2
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
| id | host | admin_state_up | alive |
|
||||
+--------------------------------------+-------+----------------+-------+
|
||||
|
@ -458,8 +451,9 @@ $ nova list
|
|||
<para>Testing the HA.</para>
|
||||
<para>Step 1. Login to the <literal>'myserver4'</literal>
|
||||
VM, and run <literal>'udhcpc'</literal>, <literal>'dhclient'</literal> or other DHCP client.</para>
|
||||
<para>Step 2. Stop the DHCP agent on HostA (Beside stopping the quantum-dhcp-agent binary,
|
||||
we must make sure dnsmasq processes are gone too.)</para>
|
||||
<para>Step 2. Stop the DHCP agent on HostA (Beside stopping the
|
||||
neutron-dhcp-agent binary, we must make sure dnsmasq processes are
|
||||
gone too.)</para>
|
||||
<para>Step 3. Run a DHCP client in VM. We can see it can get the wanted IP.</para>
|
||||
<para>Step 4. Stop the DHCP agent on HostB too.</para>
|
||||
<para>Step 5. Run <literal>'udhcpc'</literal> in VM. We can see it cannot get the wanted IP.</para>
|
||||
|
@ -481,8 +475,8 @@ $ nova list
|
|||
We should remove the resources on
|
||||
the agent before we delete the agent
|
||||
itself. </para><para>To run the commands below, we need first stop the DHCP agent on HostA.</para>
|
||||
<screen><computeroutput>$ quantum agent-update --admin-state-up False a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
$ quantum agent-list
|
||||
<screen><computeroutput>$ neutron agent-update --admin-state-up False a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
$ neutron agent-list
|
||||
+--------------------------------------+--------------------+-------+-------+----------------+
|
||||
| id | agent_type | host | alive | admin_state_up |
|
||||
+--------------------------------------+--------------------+-------+-------+----------------+
|
||||
|
@ -491,9 +485,9 @@ $ quantum agent-list
|
|||
| ed96b856-ae0f-4d75-bb28-40a47ffd7695 | Linux bridge agent | HostB | :-) | True |
|
||||
| f28aa126-6edb-4ea5-a81e-8850876bc0a8 | DHCP agent | HostB | :-) | True |
|
||||
+--------------------------------------+--------------------+-------+-------+----------------+
|
||||
$ quantum agent-delete a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
$ neutron agent-delete a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
Deleted agent: a0c1c21c-d4f4-4577-9ec7-908f2d48622d
|
||||
$ quantum agent-list
|
||||
$ neutron agent-list
|
||||
+--------------------------------------+--------------------+-------+-------+----------------+
|
||||
| id | agent_type | host | alive | admin_state_up |
|
||||
+--------------------------------------+--------------------+-------+-------+----------------+
|
||||
|
|
|
@ -100,10 +100,9 @@
|
|||
addition to this there should be an image named tty.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>OpenStack Identity is installed, configured and running. A
|
||||
OpenStack Networking user named <emphasis role="bold">quantum</emphasis>
|
||||
should be created on tenant <emphasis role="bold"
|
||||
>servicetenant</emphasis> with password <emphasis
|
||||
<para>OpenStack Identity is installed, configured and running. A OpenStack Networking
|
||||
user named <emphasis role="bold">neutron</emphasis> should be created on tenant
|
||||
<emphasis role="bold">servicetenant</emphasis> with password <emphasis
|
||||
role="bold">servicepassword</emphasis>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -136,36 +135,31 @@
|
|||
<para>Install the OpenStack Networking server.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Create database <emphasis
|
||||
role="bold">ovs_quantum</emphasis>.
|
||||
See the section on the <link
|
||||
linkend="arch_overview">Core
|
||||
Plugins</link> for the exact
|
||||
details.</para>
|
||||
<para>Create database <emphasis role="bold">ovs_neutron</emphasis>.
|
||||
See the section on the <link linkend="arch_overview">Core
|
||||
Plugins</link> for the exact details.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the OpenStack Networking configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis>, with plugin
|
||||
choice and Identity Service user as necessary:</para>
|
||||
<para>Update the OpenStack Networking configuration file, <emphasis
|
||||
role="bold">/etc/neutron/neutron.conf</emphasis>, with
|
||||
plugin choice and Identity Service user as necessary:</para>
|
||||
<screen><computeroutput>[DEFAULT]
|
||||
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
|
||||
control_exchange = quantum
|
||||
core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
|
||||
control_exchange = neutron
|
||||
rabbit_host = controlnode
|
||||
notification_driver = quantum.openstack.common.notifier.rabbit_notifier
|
||||
notification_driver = neutron.openstack.common.notifier.rabbit_notifier
|
||||
|
||||
[keystone_authtoken]
|
||||
admin_tenant_name=servicetenant
|
||||
admin_user=quantum
|
||||
admin_user=neutron
|
||||
admin_password=servicepassword
|
||||
</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the plugin configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</emphasis>:</para>
|
||||
<para>Update the plugin configuration file, <emphasis role="bold"
|
||||
>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</emphasis>:</para>
|
||||
<screen><computeroutput>[database]
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_quantum?charset=utf8
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_neutron?charset=utf8
|
||||
[ovs]
|
||||
tenant_network_type = gre
|
||||
tunnel_id_ranges = 1:1000
|
||||
|
@ -178,7 +172,7 @@ enable_tunneling = True
|
|||
The command may be different to start the service on different operating systems.
|
||||
One example of the command to run the OpenStack Networking server directly is:</para>
|
||||
<screen><computeroutput>
|
||||
sudo quantum-server --config-file /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini --config-file /etc/quantum/quantum.conf
|
||||
sudo neutron-server --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini --config-file /etc/neutron/neutron.conf
|
||||
</computeroutput></screen>
|
||||
</listitem>
|
||||
</orderedlist></para>
|
||||
|
@ -193,14 +187,14 @@ enable_tunneling = True
|
|||
file, <emphasis role="bold"
|
||||
>/etc/nova/nova.conf. Make sure the following is at the end of this file</emphasis>:</para>
|
||||
<screen><computeroutput>
|
||||
network_api_class=nova.network.quantumv2.api.API
|
||||
network_api_class=nova.network.neutronv2.api.API
|
||||
|
||||
quantum_admin_username=quantum
|
||||
quantum_admin_password=servicepassword
|
||||
quantum_admin_auth_url=http://controlnode:35357/v2.0/
|
||||
quantum_auth_strategy=keystone
|
||||
quantum_admin_tenant_name=servicetenant
|
||||
quantum_url=http://controlnode:9696/
|
||||
neutron_admin_username=neutron
|
||||
neutron_admin_password=servicepassword
|
||||
neutron_admin_auth_url=http://controlnode:35357/v2.0/
|
||||
neutron_auth_strategy=keystone
|
||||
neutron_admin_tenant_name=servicetenant
|
||||
neutron_url=http://controlnode:9696/
|
||||
|
||||
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver</computeroutput></screen>
|
||||
</listitem>
|
||||
|
@ -222,22 +216,20 @@ libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver</computero
|
|||
<screen><computeroutput>sudo ovs-vsctl add-br br-int</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the OpenStack Networking configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis></para>
|
||||
<para>Update the OpenStack Networking configuration file, <emphasis
|
||||
role="bold">/etc/neutron/neutron.conf</emphasis></para>
|
||||
<screen><computeroutput>[DEFAULT]
|
||||
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
|
||||
control_exchange = quantum
|
||||
core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
|
||||
control_exchange = neutron
|
||||
rabbit_host = controlnode
|
||||
notification_driver = quantum.openstack.common.notifier.rabbit_notifier</computeroutput></screen>
|
||||
notification_driver = neutron.openstack.common.notifier.rabbit_notifier</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the plugin configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</emphasis>.</para>
|
||||
<para>Update the plugin configuration file, <emphasis role="bold"
|
||||
>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</emphasis>.</para>
|
||||
<para>Compute Node:</para>
|
||||
<screen><computeroutput>[database]
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_quantum?charset=utf8
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_neutron?charset=utf8
|
||||
[ovs]
|
||||
tenant_network_type = gre
|
||||
tunnel_id_ranges = 1:1000
|
||||
|
@ -245,7 +237,7 @@ enable_tunneling = True
|
|||
local_ip = 9.181.89.202</computeroutput></screen>
|
||||
<para>Network Node:</para>
|
||||
<screen><computeroutput>[database]
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_quantum?charset=utf8
|
||||
sql_connection = mysql://root:root@controlnode:3306/ovs_neutron?charset=utf8
|
||||
[ovs]
|
||||
tenant_network_type = gre
|
||||
tunnel_id_ranges = 1:1000
|
||||
|
@ -265,7 +257,7 @@ local_ip = 9.181.89.203</computeroutput></screen>
|
|||
The command may be different to start the service on different operating systems.
|
||||
However the command to run it directly is kind of like:</para>
|
||||
<screen><computeroutput>
|
||||
sudo quantum-openvswitch-agent --config-file /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini --config-file /etc/quantum/quantum.conf
|
||||
sudo neutron-openvswitch-agent --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini --config-file /etc/neutron/neutron.conf
|
||||
</computeroutput></screen>
|
||||
</listitem>
|
||||
</orderedlist></para>
|
||||
|
@ -276,23 +268,21 @@ sudo quantum-openvswitch-agent --config-file /etc/quantum/plugins/openvswitch/ov
|
|||
<para>Install the DHCP agent.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the OpenStack Networking configuration
|
||||
file, <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis></para>
|
||||
<para>Update the OpenStack Networking configuration file, <emphasis
|
||||
role="bold">/etc/neutron/neutron.conf</emphasis></para>
|
||||
<screen><computeroutput>[DEFAULT]
|
||||
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
|
||||
control_exchange = quantum
|
||||
core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
|
||||
control_exchange = neutron
|
||||
rabbit_host = controlnode
|
||||
notification_driver = quantum.openstack.common.notifier.rabbit_notifier
|
||||
notification_driver = neutron.openstack.common.notifier.rabbit_notifier
|
||||
allow_overlapping_ips = True</computeroutput></screen>
|
||||
<para><emphasis role="bold"> We set <literal>allow_overlapping_ips</literal> because we have
|
||||
overlapping subnets for TenantA and TenantC.</emphasis></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the DHCP configuration
|
||||
file <emphasis role="bold"
|
||||
>/etc/quantum/dhcp_agent.ini</emphasis></para>
|
||||
<screen><computeroutput>interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver</computeroutput></screen>
|
||||
<para>Update the DHCP configuration file <emphasis role="bold"
|
||||
>/etc/neutron/dhcp_agent.ini</emphasis></para>
|
||||
<screen><computeroutput>interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Start the DHCP agent</para>
|
||||
|
@ -300,7 +290,7 @@ allow_overlapping_ips = True</computeroutput></screen>
|
|||
The command may be different to start the service on different operating systems.
|
||||
However the command to run it directly is kind of like:</para>
|
||||
<screen><computeroutput>
|
||||
sudo quantum-dhcp-agent --config-file /etc/quantum/quantum.conf --config-file /etc/quantum/dhcp_agent.ini
|
||||
sudo neutron-dhcp-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini
|
||||
</computeroutput></screen>
|
||||
</listitem>
|
||||
</orderedlist></para>
|
||||
|
@ -320,11 +310,10 @@ sudo quantum-dhcp-agent --config-file /etc/quantum/quantum.conf --config-file /e
|
|||
<screen><computeroutput>sudo ovs-vsctl add-port br-ex eth0</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Update the L3 configuration
|
||||
file <emphasis role="bold"
|
||||
>/etc/quantum/l3_agent.ini</emphasis>:</para>
|
||||
<para>Update the L3 configuration file <emphasis role="bold"
|
||||
>/etc/neutron/l3_agent.ini</emphasis>:</para>
|
||||
<screen><computeroutput>[DEFAULT]
|
||||
interface_driver=quantum.agent.linux.interface.OVSInterfaceDriver
|
||||
interface_driver=neutron.agent.linux.interface.OVSInterfaceDriver
|
||||
use_namespaces=True</computeroutput></screen>
|
||||
<para><emphasis role="bold"> We set <literal>use_namespaces</literal> (It is True by default.) because we have
|
||||
overlapping subnets for TenantA and TenantC and we are going to host the routers with one l3 agent network node.</emphasis></para>
|
||||
|
@ -335,7 +324,7 @@ use_namespaces=True</computeroutput></screen>
|
|||
The command may be different to start the service on different operating systems.
|
||||
However the command to run it directly is kind of like:</para>
|
||||
<screen><computeroutput>
|
||||
sudo quantum-l3-agent --config-file /etc/quantum/quantum.conf --config-file /etc/quantum/l3_agent.ini
|
||||
sudo neutron-l3-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini
|
||||
</computeroutput></screen>
|
||||
</listitem>
|
||||
</orderedlist></para>
|
||||
|
@ -392,7 +381,7 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</computeroutput></screen>
|
|||
<para>Create the external network and
|
||||
its subnet by admin user:</para>
|
||||
<screen><computeroutput>
|
||||
quantum net-create Ext-Net --provider:network_type local --router:external true
|
||||
neutron net-create Ext-Net --provider:network_type local --router:external true
|
||||
Created a new network:
|
||||
+---------------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -410,7 +399,7 @@ Created a new network:
|
|||
| tenant_id | b7445f221cda4f4a8ac7db6b218b1339 |
|
||||
+---------------------------+--------------------------------------+
|
||||
|
||||
quantum subnet-create Ext-Net 30.0.0.0/24
|
||||
neutron subnet-create Ext-Net 30.0.0.0/24
|
||||
Created a new subnet:
|
||||
+------------------+--------------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -452,7 +441,7 @@ sudo ip link set br-ex up
|
|||
<listitem>
|
||||
<para>Create a network for TenantA</para>
|
||||
<screen><computeroutput>
|
||||
quantum --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 net-create TenantA-Net
|
||||
neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 net-create TenantA-Net
|
||||
Created a new network:
|
||||
+-----------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -467,7 +456,7 @@ Created a new network:
|
|||
| tenant_id | 247e478c599f45b5bd297e8ddbbc9b6a |
|
||||
+-----------------+--------------------------------------+</computeroutput></screen>
|
||||
<para>After that we can use admin user to query the network's provider network information:</para>
|
||||
<screen><computeroutput> quantum net-show TenantA-Net
|
||||
<screen><computeroutput> neutron net-show TenantA-Net
|
||||
+---------------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+---------------------------+--------------------------------------+
|
||||
|
@ -489,7 +478,7 @@ Created a new network:
|
|||
<listitem>
|
||||
<para>Create a subnet on the network TenantA-Net</para>
|
||||
<screen><computeroutput>
|
||||
quantum --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 subnet-create TenantA-Net 10.0.0.0/24
|
||||
neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 subnet-create TenantA-Net 10.0.0.0/24
|
||||
Created a new subnet:
|
||||
+------------------+--------------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -523,7 +512,7 @@ Created a new subnet:
|
|||
<para>Create and configure a router
|
||||
for TenantA:</para>
|
||||
<screen><computeroutput>
|
||||
quantum --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 router-create TenantA-R1
|
||||
neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 router-create TenantA-R1
|
||||
Created a new router:
|
||||
+-----------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -536,18 +525,18 @@ Created a new router:
|
|||
| tenant_id | 247e478c599f45b5bd297e8ddbbc9b6a |
|
||||
+-----------------------+--------------------------------------+
|
||||
</computeroutput></screen>
|
||||
<screen><computeroutput>quantum --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 router-interface-add TenantA-R1 51e2c223-0492-4385-b6e9-83d4e6d10657
|
||||
<screen><computeroutput>neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 router-interface-add TenantA-R1 51e2c223-0492-4385-b6e9-83d4e6d10657
|
||||
Added interface to router TenantA-R1
|
||||
</computeroutput></screen>
|
||||
<screen><computeroutput>
|
||||
quantum router-gateway-set TenantA-R1 Ext-Net
|
||||
neutron router-gateway-set TenantA-R1 Ext-Net
|
||||
</computeroutput></screen>
|
||||
<para><emphasis role="bold"> We are using admin user to run last command since our external network is owned by admin tenant.</emphasis></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Associate a floating IP for
|
||||
TenantA_VM1</para>
|
||||
<para>1. Create a floating IP</para><screen><computeroutput>quantum --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 floatingip-create Ext-Net
|
||||
<para>1. Create a floating IP</para><screen><computeroutput>neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 floatingip-create Ext-Net
|
||||
Created a new floatingip:
|
||||
+---------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -562,7 +551,7 @@ Created a new floatingip:
|
|||
+---------------------+--------------------------------------+
|
||||
</computeroutput></screen>
|
||||
<para>2. Get the port ID of the VM with ID 7c5e6499-7ef7-4e36-8216-62c2941d21ff</para><screen><computeroutput>
|
||||
quantum --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 port-list -- --device_id 7c5e6499-7ef7-4e36-8216-62c2941d21ff
|
||||
neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 port-list -- --device_id 7c5e6499-7ef7-4e36-8216-62c2941d21ff
|
||||
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
|
||||
| id | name | mac_address | fixed_ips |
|
||||
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
|
||||
|
@ -570,9 +559,9 @@ quantum --os-tenant-name TenantA --os-username UserA --os-password password --os
|
|||
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
|
||||
</computeroutput></screen>
|
||||
<para>3. Associate the floating IP with the VM port</para><screen><computeroutput>
|
||||
quantum --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 floatingip-associate 5a1f90ed-aa3c-4df3-82cb-116556e96bf1 6071d430-c66e-4125-b972-9a937c427520
|
||||
neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 floatingip-associate 5a1f90ed-aa3c-4df3-82cb-116556e96bf1 6071d430-c66e-4125-b972-9a937c427520
|
||||
Associated floatingip 5a1f90ed-aa3c-4df3-82cb-116556e96bf1
|
||||
quantum floatingip-list
|
||||
neutron floatingip-list
|
||||
+--------------------------------------+------------------+---------------------+--------------------------------------+
|
||||
| id | fixed_ip_address | floating_ip_address | port_id |
|
||||
+--------------------------------------+------------------+---------------------+--------------------------------------+
|
||||
|
@ -623,13 +612,13 @@ rtt min/avg/max/mdev = 0.898/15.621/45.027/20.793 ms
|
|||
<listitem>
|
||||
<para>Create networks and subnets for TenantC</para>
|
||||
<screen><computeroutput>
|
||||
quantum --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 net-create TenantC-Net1
|
||||
quantum --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 subnet-create TenantC-Net1 10.0.0.0/24 --name TenantC-Subnet1
|
||||
quantum --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 net-create TenantC-Net2
|
||||
quantum --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 subnet-create TenantC-Net2 10.0.1.0/24 --name TenantC-Subnet2
|
||||
neutron --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 net-create TenantC-Net1
|
||||
neutron --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 subnet-create TenantC-Net1 10.0.0.0/24 --name TenantC-Subnet1
|
||||
neutron --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 net-create TenantC-Net2
|
||||
neutron --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 subnet-create TenantC-Net2 10.0.1.0/24 --name TenantC-Subnet2
|
||||
</computeroutput></screen>
|
||||
<para>After that we can use admin user to query the network's provider network information:</para>
|
||||
<screen><computeroutput> quantum net-show TenantC-Net1
|
||||
<screen><computeroutput> neutron net-show TenantC-Net1
|
||||
+---------------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+---------------------------+--------------------------------------+
|
||||
|
@ -645,7 +634,7 @@ quantum --os-tenant-name TenantC --os-username UserC --os-password password --os
|
|||
| subnets | cf03fd1e-164b-4527-bc87-2b2631634b83 |
|
||||
| tenant_id | 2b4fec24e62e4ff28a8445ad83150f9d |
|
||||
+---------------------------+--------------------------------------+
|
||||
quantum net-show TenantC-Net2
|
||||
neutron net-show TenantC-Net2
|
||||
+---------------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+---------------------------+--------------------------------------+
|
||||
|
@ -697,13 +686,13 @@ quantum net-show TenantC-Net2
|
|||
<para>Create and configure a router
|
||||
for TenantC:</para>
|
||||
<screen><computeroutput>
|
||||
quantum --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 router-create TenantC-R1
|
||||
neutron --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 router-create TenantC-R1
|
||||
</computeroutput></screen>
|
||||
<screen><computeroutput>quantum --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 router-interface-add TenantC-R1 cf03fd1e-164b-4527-bc87-2b2631634b83
|
||||
quantum --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 router-interface-add TenantC-R1 38f0b2f0-9f98-4bf6-9520-f4abede03300
|
||||
<screen><computeroutput>neutron --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 router-interface-add TenantC-R1 cf03fd1e-164b-4527-bc87-2b2631634b83
|
||||
neutron --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 router-interface-add TenantC-R1 38f0b2f0-9f98-4bf6-9520-f4abede03300
|
||||
</computeroutput></screen>
|
||||
<screen><computeroutput>
|
||||
quantum router-gateway-set TenantC-R1 Ext-Net
|
||||
neutron router-gateway-set TenantC-R1 Ext-Net
|
||||
</computeroutput></screen>
|
||||
<para><emphasis role="bold"> We are using admin user to run last command since our external network is owned by admin tenant.</emphasis></para>
|
||||
</listitem>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
Provider Router with Private Networks."</para>
|
||||
<para>We will follow the <link
|
||||
xlink:href="http://docs.openstack.org/grizzly/basic-install/content/basic-install_intro.html"
|
||||
>Basic Install</link> document except for the Quantum,
|
||||
>Basic Install</link> document except for the Neutron,
|
||||
Open-vSwitch, and Virtual Networking sections on each of the
|
||||
nodes. </para>
|
||||
<para>The <emphasis role="bold">Basic Install</emphasis> document
|
||||
|
@ -27,7 +27,7 @@
|
|||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata
|
||||
fileref="figures/Quantum-PhysNet-Diagram.png"
|
||||
fileref="figures/Neutron-PhysNet-Diagram.png"
|
||||
contentwidth="6in"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
@ -90,51 +90,51 @@
|
|||
</table></para>
|
||||
<section xml:id="demo_installions">
|
||||
<title>Installations</title>
|
||||
<section xml:id="controller-install-quantum-server">
|
||||
<section xml:id="controller-install-neutron-server">
|
||||
<title>Controller</title>
|
||||
<procedure>
|
||||
<title>To install and configure the controller
|
||||
node</title>
|
||||
<step>
|
||||
<para>Run the following command:</para>
|
||||
<screen><userinput>apt-get install -y quantum-server</userinput></screen>
|
||||
<screen><userinput>apt-get install -y neutron-server</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Configure Quantum services:</para>
|
||||
<para>Configure Neutron services:</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Edit <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis>
|
||||
>/etc/neutron/neutron.conf</emphasis>
|
||||
file and
|
||||
modify:<screen><userinput>core_plugin = \
|
||||
quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
|
||||
neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
|
||||
auth_strategy = keystone
|
||||
fake_rabbit = False
|
||||
rabbit_password = password</userinput></screen></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Edit <emphasis role="bold"
|
||||
>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</emphasis>
|
||||
>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</emphasis>
|
||||
file and modify:</para>
|
||||
<screen><userinput>[database]
|
||||
sql_connection = mysql://quantum:password@localhost:3306/quantum
|
||||
sql_connection = mysql://neutron:password@localhost:3306/neutron
|
||||
[ovs]
|
||||
tenant_network_type = vlan
|
||||
network_vlan_ranges = physnet1:100:2999</userinput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Edit <emphasis role="bold"
|
||||
>/etc/quantum/api-paste.ini</emphasis>
|
||||
>/etc/neutron/api-paste.ini</emphasis>
|
||||
file and modify:</para>
|
||||
<screen><userinput>admin_tenant_name = service
|
||||
admin_user = quantum
|
||||
admin_user = neutron
|
||||
admin_password = password</userinput></screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</step>
|
||||
<step>
|
||||
<para>Start the services:</para>
|
||||
<screen><userinput>service quantum-server restart</userinput></screen>
|
||||
<screen><userinput>service neutron-server restart</userinput></screen>
|
||||
</step>
|
||||
</procedure>
|
||||
</section>
|
||||
|
@ -146,8 +146,8 @@ admin_password = password</userinput></screen>
|
|||
node</title>
|
||||
<step>
|
||||
<para>Install the packages:</para>
|
||||
<screen><userinput>apt-get install -y quantum-plugin-openvswitch-agent \
|
||||
quantum-dhcp-agent quantum-l3-agent</userinput></screen>
|
||||
<screen><userinput>apt-get install -y neutron-plugin-openvswitch-agent \
|
||||
neutron-dhcp-agent neutron-l3-agent</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Start Open vSwitch:</para>
|
||||
|
@ -161,16 +161,16 @@ quantum-dhcp-agent quantum-l3-agent</userinput></screen>
|
|||
<step>
|
||||
<para>Update the OpenStack Networking
|
||||
configuration file, <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis>:</para>
|
||||
>/etc/neutron/neutron.conf</emphasis>:</para>
|
||||
<screen><userinput>rabbit_password = password
|
||||
rabbit_host = 192.168.0.1</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Update the plugin configuration file,
|
||||
<emphasis role="bold"
|
||||
>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</emphasis>:</para>
|
||||
>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</emphasis>:</para>
|
||||
<screen><userinput>[database]
|
||||
sql_connection = mysql://quantum:password@192.168.0.1:3306/quantum
|
||||
sql_connection = mysql://neutron:password@192.168.0.1:3306/neutron
|
||||
[ovs]
|
||||
tenant_network_type=vlan
|
||||
network_vlan_ranges = physnet1:1:4094
|
||||
|
@ -192,37 +192,37 @@ sudo ovs-vsctl add-port br-ex eth2</userinput></screen>
|
|||
</step>
|
||||
<step>
|
||||
<para>Edit the <emphasis role="bold"
|
||||
>/etc/quantum/l3_agent.ini </emphasis>
|
||||
>/etc/neutron/l3_agent.ini </emphasis>
|
||||
file and modify:</para>
|
||||
<screen><userinput>[DEFAULT]
|
||||
auth_url = http://192.168.0.1:35357/v2.0
|
||||
admin_tenant_name = service
|
||||
admin_user = quantum
|
||||
admin_user = neutron
|
||||
admin_password = password
|
||||
metadata_ip = 192.168.0.1
|
||||
use_namespaces = True</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Edit the <emphasis role="bold"
|
||||
>/etc/quantum/api-paste.ini </emphasis>
|
||||
>/etc/neutron/api-paste.ini </emphasis>
|
||||
file and modify:</para>
|
||||
<screen><userinput>[DEFAULT]
|
||||
auth_host = 192.168.0.1
|
||||
admin_tenant_name = service
|
||||
admin_user = quantum
|
||||
admin_user = neutron
|
||||
admin_password = password</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Edit the <emphasis role="bold"
|
||||
>/etc/quantum/dhcp_agent.ini </emphasis>
|
||||
>/etc/neutron/dhcp_agent.ini </emphasis>
|
||||
file and modify:</para>
|
||||
<screen><userinput>use_namespaces = True</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Restart networking services:</para>
|
||||
<screen><userinput>service quantum-plugin-openvswitch-agent start
|
||||
service quantum-dhcp-agent restart
|
||||
service quantum-l3-agent restart</userinput></screen>
|
||||
<screen><userinput>service neutron-plugin-openvswitch-agent start
|
||||
service neutron-dhcp-agent restart
|
||||
service neutron-l3-agent restart</userinput></screen>
|
||||
</step>
|
||||
</procedure>
|
||||
</section>
|
||||
|
@ -234,7 +234,7 @@ service quantum-l3-agent restart</userinput></screen>
|
|||
node</title>
|
||||
<step>
|
||||
<para>Install the
|
||||
packages:<screen><userinput>apt-get install -y openvswitch-switch quantum-plugin-openvswitch-agent</userinput></screen></para>
|
||||
packages:<screen><userinput>apt-get install -y openvswitch-switch neutron-plugin-openvswitch-agent</userinput></screen></para>
|
||||
</step>
|
||||
<step>
|
||||
<para>Start open vSwitch
|
||||
|
@ -247,16 +247,16 @@ service quantum-l3-agent restart</userinput></screen>
|
|||
<step>
|
||||
<para>Update the OpenStack Networking
|
||||
configuration file, <emphasis role="bold"
|
||||
>/etc/quantum/quantum.conf</emphasis>:</para>
|
||||
>/etc/neutron/neutron.conf</emphasis>:</para>
|
||||
<screen><userinput>rabbit_password = password
|
||||
rabbit_host = 192.168.0.1</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Update the <emphasis role="bold"
|
||||
>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</emphasis>
|
||||
>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</emphasis>
|
||||
file:</para>
|
||||
<screen><userinput>[database]
|
||||
sql_connection = mysql://quantum:password@192.168.0.1:3306/quantum
|
||||
sql_connection = mysql://neutron:password@192.168.0.1:3306/neutron
|
||||
[ovs]
|
||||
tenant_network_type = vlan
|
||||
network_vlan_ranges = physnet1:1:4094
|
||||
|
@ -264,7 +264,7 @@ bridge_mappings = physnet1:br-eth1</userinput></screen>
|
|||
</step>
|
||||
<step>
|
||||
<para>Start the DHCP agent:</para>
|
||||
<screen><userinput>service quantum-plugin-openvswitch-agent restart</userinput></screen>
|
||||
<screen><userinput>service neutron-plugin-openvswitch-agent restart</userinput></screen>
|
||||
</step>
|
||||
</procedure>
|
||||
</section>
|
||||
|
@ -321,7 +321,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
role="bold">net1</emphasis> for tenant_A
|
||||
($TENANT_ID will be
|
||||
e40fa60181524f9f9ee7aa1038748f08):</para>
|
||||
<screen><userinput>quantum net-create --tenant-id $TENANT_ID net1</userinput></screen>
|
||||
<screen><userinput>neutron net-create --tenant-id $TENANT_ID net1</userinput></screen>
|
||||
<screen><computeroutput>+---------------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+---------------------------+--------------------------------------+
|
||||
|
@ -342,7 +342,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
<para>Create a subnet on the network <emphasis
|
||||
role="bold">net1</emphasis> (ID field
|
||||
below is used as $SUBNET_ID later):</para>
|
||||
<screen><userinput>quantum subnet-create --tenant-id $TENANT_ID net1 10.5.5.0/24</userinput></screen>
|
||||
<screen><userinput>neutron subnet-create --tenant-id $TENANT_ID net1 10.5.5.0/24</userinput></screen>
|
||||
<screen><computeroutput>+------------------+--------------------------------------------+
|
||||
| Field | Value |
|
||||
+------------------+--------------------------------------------+
|
||||
|
@ -368,7 +368,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
<para>Create a router named <emphasis role="bold"
|
||||
>router1</emphasis> (ID is used as
|
||||
$ROUTER_ID later):</para>
|
||||
<screen><userinput>quantum router-create router1</userinput></screen>
|
||||
<screen><userinput>neutron router-create router1</userinput></screen>
|
||||
<screen><computeroutput>+-----------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+-----------------------+--------------------------------------+
|
||||
|
@ -391,7 +391,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
>router1</emphasis> and attach it to the
|
||||
subnet from <emphasis role="bold"
|
||||
>net1</emphasis>:</para>
|
||||
<screen><userinput>quantum router-interface-add $ROUTER_ID $SUBNET_ID</userinput></screen>
|
||||
<screen><userinput>neutron router-interface-add $ROUTER_ID $SUBNET_ID</userinput></screen>
|
||||
<screen><computeroutput>Added interface to router 685f64e7-a020-4fdf-a8ad-e41194ae124b</computeroutput></screen>
|
||||
<note>
|
||||
<para>You can repeat this step to add more
|
||||
|
@ -402,7 +402,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
<step>
|
||||
<para>Create the external network named <emphasis
|
||||
role="bold">ext_net</emphasis>:</para>
|
||||
<screen><userinput>quantum net-create ext_net --router:external=True</userinput></screen>
|
||||
<screen><userinput>neutron net-create ext_net --router:external=True</userinput></screen>
|
||||
<screen><computeroutput>+---------------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+---------------------------+--------------------------------------+
|
||||
|
@ -425,7 +425,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
<para>The DHCP service is disabled for this
|
||||
subnet.</para>
|
||||
</note>
|
||||
<screen><userinput>quantum subnet-create ext_net \
|
||||
<screen><userinput>neutron subnet-create ext_net \
|
||||
--allocation-pool start=7.7.7.130,end=7.7.7.150 \
|
||||
--gateway 7.7.7.1 7.7.7.0/24 -- --enable_dhcp=False</userinput></screen>
|
||||
<screen><computeroutput>+------------------+--------------------------------------------------+
|
||||
|
@ -447,7 +447,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
<step>
|
||||
<para>Set the router's gateway to be the external
|
||||
network:</para>
|
||||
<screen><userinput>quantum router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID</userinput></screen>
|
||||
<screen><userinput>neutron router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID</userinput></screen>
|
||||
<screen><computeroutput>Set gateway for router 685f64e7-a020-4fdf-a8ad-e41194ae124b</computeroutput></screen>
|
||||
</step>
|
||||
</procedure></para>
|
||||
|
@ -468,7 +468,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
| 1cdc671d-a296-4476-9a75-f9ca1d92fd26 | testvm | ACTIVE | net1=10.5.5.3 |
|
||||
+--------------------------------------+--------+--------+---------------+
|
||||
</computeroutput>
|
||||
<userinput>quantum port-list -- --device_id 1cdc671d-a296-4476-9a75-f9ca1d92fd26</userinput>
|
||||
<userinput>neutron port-list -- --device_id 1cdc671d-a296-4476-9a75-f9ca1d92fd26</userinput>
|
||||
|
||||
<computeroutput>+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
|
||||
| id | name | mac_address | fixed_ips |
|
||||
|
@ -479,7 +479,7 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
<step>
|
||||
<para>Allocate a floating IP (Used as
|
||||
$FLOATING_ID):</para>
|
||||
<screen><userinput>quantum floatingip-create ext_net</userinput><computeroutput>
|
||||
<screen><userinput>neutron floatingip-create ext_net</userinput><computeroutput>
|
||||
|
||||
+---------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -496,13 +496,13 @@ echo "source novarc">>.bashrc</userinput></screen></para>
|
|||
<step>
|
||||
<para>Associate the floating IP with the VM's
|
||||
port:</para>
|
||||
<screen><userinput>quantum floatingip-associate $FLOATING_ID $PORT_ID</userinput><computeroutput>
|
||||
<screen><userinput>neutron floatingip-associate $FLOATING_ID $PORT_ID</userinput><computeroutput>
|
||||
|
||||
Associated floatingip 40952c83-2541-4d0c-b58e-812c835079a5</computeroutput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Show the floating IP:</para>
|
||||
<screen><userinput>quantum floatingip-show $FLOATING_ID</userinput><computeroutput>
|
||||
<screen><userinput>neutron floatingip-show $FLOATING_ID</userinput><computeroutput>
|
||||
|
||||
+---------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||
status="final" xml:id="Quantum-admin-guide-grizzly">
|
||||
status="final" xml:id="Neutron-admin-guide-grizzly">
|
||||
<title>OpenStack Networking Administration Guide</title>
|
||||
<?rax title.font.size="28px" subtitle.font.size="28px"?>
|
||||
<titleabbrev>OpenStack Networking Administration Guide</titleabbrev>
|
||||
|
@ -83,7 +83,7 @@
|
|||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>Added auth_token parameters to the
|
||||
quantum.conf file description.</para>
|
||||
neutron.conf file description.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</revdescription>
|
||||
|
|
|
@ -4,17 +4,17 @@
|
|||
<title>Advanced Configuration Options</title>
|
||||
<para>This section describes advanced configurations options for various system components (i.e.
|
||||
config options where the default is usually ok, but that the user may want to tweak). After
|
||||
installing from packages, $QUANTUM_CONF_DIR is <filename>/etc/quantum</filename>.</para>
|
||||
installing from packages, $NEUTRON_CONF_DIR is <filename>/etc/neutron</filename>.</para>
|
||||
<section xml:id="quantum_server">
|
||||
<title>OpenStack Networking Server with Plugin</title>
|
||||
<para>This is the web server that runs the OpenStack Networking API Web Server. It is responsible
|
||||
for loading a plugin and passing the API calls to the plugin for processing. The
|
||||
quantum-server should receive one of more configuration files as it its input, for
|
||||
<para>This is the web server that runs the OpenStack Networking API Web Server. It is
|
||||
responsible for loading a plugin and passing the API calls to the plugin for processing.
|
||||
The neutron-server should receive one of more configuration files as it its input, for
|
||||
example:</para>
|
||||
<para>
|
||||
<screen><computeroutput>quantum-server --config-file <quantum config> --config-file <plugin config></computeroutput></screen>
|
||||
<screen><computeroutput>neutron-server --config-file <neutron config> --config-file <plugin config></computeroutput></screen>
|
||||
</para>
|
||||
<para>The quantum config contains the common quantum configuration parameters. The plugin
|
||||
<para>The neutron config contains the common neutron configuration parameters. The plugin
|
||||
config contains the plugin specific flags. The plugin that is run on the service is
|
||||
loaded via the configuration parameter ‘core_plugin’. In some cases a plugin may have an
|
||||
agent that performs the actual networking. Specific configuration details can be seen in
|
||||
|
@ -31,12 +31,12 @@ mysql> create user '<user-name>'@'%' identified by '<user-name>';
|
|||
mysql> grant all on <database-name>.* to '<user-name>'@'%';</computeroutput></screen>
|
||||
<para>Once the above is done you can update the settings in the relevant plugin
|
||||
configuration files. The plugin specific configuration files can be found at
|
||||
$QUANTUM_CONF_DIR/plugins.</para>
|
||||
$NEUTRON_CONF_DIR/plugins.</para>
|
||||
<para>Some plugins have a L2 agent that performs the actual networking. That is, the agent
|
||||
will attach the virtual machine NIC to the OpenStack Networking network. Each node should have an
|
||||
L2 agent running on it. Note that the agent receives the following input
|
||||
parameters:</para>
|
||||
<screen><computeroutput>quantum-plugin-agent --config-file <quantum config> --config-file <plugin config></computeroutput></screen>
|
||||
<screen><computeroutput>neutron-plugin-agent --config-file <neutron config> --config-file <plugin config></computeroutput></screen>
|
||||
<para>Two things need to be done prior to working with the plugin:</para>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -63,40 +63,40 @@ mysql> grant all on <database-name>.* to '<user-name>'@'%';</comp
|
|||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>core_plugin ($QUANTUM_CONF_DIR/quantum.conf)</td>
|
||||
<td>quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2</td>
|
||||
<td>core_plugin ($NEUTRON_CONF_DIR/neutron.conf)</td>
|
||||
<td>neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sql_connection (in the plugin configuration file)</td>
|
||||
<td>mysql://<username>:<password>@localhost/ovs_quantum?charset=utf8</td>
|
||||
<td>mysql://<username>:<password>@localhost/ovs_neutron?charset=utf8</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Plugin Configuration File</td>
|
||||
<td>$QUANTUM_CONF_DIR/plugins/openvswitch/ovs_quantum_plugin.ini</td>
|
||||
<td>$NEUTRON_CONF_DIR/plugins/openvswitch/ovs_neutron_plugin.ini</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Agent </td>
|
||||
<td>quantum-openvswitch-agent</td>
|
||||
<td>neutron-openvswitch-agent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><emphasis role="bold">Linux Bridge</emphasis></td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>core_plugin ($QUANTUM_CONF_DIR/quantum.conf)</td>
|
||||
<td>quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2</td>
|
||||
<td>core_plugin ($NEUTRON_CONF_DIR/neutron.conf)</td>
|
||||
<td>neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sql_connection (in the plugin configuration file)</td>
|
||||
<td>mysql://<username>:<password>@localhost/quantum_linux_bridge?charset=utf8</td>
|
||||
<td>mysql://<username>:<password>@localhost/neutron_linux_bridge?charset=utf8</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Plugin Configuration File</td>
|
||||
<td>$QUANTUM_CONF_DIR/plugins/linuxbridge/linuxbridge_conf.ini</td>
|
||||
<td>$NEUTRON_CONF_DIR/plugins/linuxbridge/linuxbridge_conf.ini</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Agent </td>
|
||||
<td>quantum-linuxbridge-agent</td>
|
||||
<td>neutron-linuxbridge-agent</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></para>
|
||||
|
@ -109,7 +109,7 @@ mysql> grant all on <database-name>.* to '<user-name>'@'%';</comp
|
|||
machines running on the network. When a subnet is created, by default, the
|
||||
subnet has DHCP enabled.</para>
|
||||
<para>The node that runs the DHCP agent should run:</para>
|
||||
<screen><computeroutput>quantum-dhcp-agent --config-file <quantum config>
|
||||
<screen><computeroutput>neutron-dhcp-agent --config-file <neutron config>
|
||||
--config-file <dhcp config></computeroutput></screen>
|
||||
<para>Currently the DHCP agent uses dnsmasq to perform that static address
|
||||
assignment.</para>
|
||||
|
@ -130,16 +130,16 @@ mysql> grant all on <database-name>.* to '<user-name>'@'%';</comp
|
|||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interface_driver ($QUANTUM_CONF_DIR/dhcp_agent.ini)</td>
|
||||
<td>quantum.agent.linux.interface.OVSInterfaceDriver</td>
|
||||
<td>interface_driver ($NEUTRON_CONF_DIR/dhcp_agent.ini)</td>
|
||||
<td>neutron.agent.linux.interface.OVSInterfaceDriver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><emphasis role="bold">Linux Bridge</emphasis></td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interface_driver ($QUANTUM_CONF_DIR/dhcp_agent.ini)</td>
|
||||
<td>quantum.agent.linux.interface.BridgeInterfaceDriver</td>
|
||||
<td>interface_driver ($NEUTRON_CONF_DIR/dhcp_agent.ini)</td>
|
||||
<td>neutron.agent.linux.interface.BridgeInterfaceDriver</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></para>
|
||||
|
@ -161,7 +161,7 @@ mysql> grant all on <database-name>.* to '<user-name>'@'%';</comp
|
|||
<title>L3 Agent</title>
|
||||
<para>There is an option to run a L3 agent that will give enable layer 3 forwarding and
|
||||
floating IP support. The node that runs the L3 agent should run:</para>
|
||||
<screen><computeroutput>quantum-l3-agent --config-file <quantum config>
|
||||
<screen><computeroutput>neutron-l3-agent --config-file <neutron config>
|
||||
--config-file <l3 config></computeroutput></screen>
|
||||
<para>A driver needs to be configured that matches the plugin running on the service. The
|
||||
driver is used to create the routing interface. <table rules="all">
|
||||
|
@ -180,11 +180,11 @@ mysql> grant all on <database-name>.* to '<user-name>'@'%';</comp
|
|||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interface_driver ($QUANTUM_CONF_DIR/l3_agent.ini) </td>
|
||||
<td>quantum.agent.linux.interface.OVSInterfaceDriver </td>
|
||||
<td>interface_driver ($NEUTRON_CONF_DIR/l3_agent.ini) </td>
|
||||
<td>neutron.agent.linux.interface.OVSInterfaceDriver </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>external_network_bridge ($QUANTUM_CONF_DIR/l3_agent.ini) </td>
|
||||
<td>external_network_bridge ($NEUTRON_CONF_DIR/l3_agent.ini) </td>
|
||||
<td>br-ex </td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -192,11 +192,11 @@ mysql> grant all on <database-name>.* to '<user-name>'@'%';</comp
|
|||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interface_driver ($QUANTUM_CONF_DIR/l3_agent.ini) </td>
|
||||
<td>quantum.agent.linux.interface.BridgeInterfaceDriver</td>
|
||||
<td>interface_driver ($NEUTRON_CONF_DIR/l3_agent.ini) </td>
|
||||
<td>neutron.agent.linux.interface.BridgeInterfaceDriver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>external_network_bridge ($QUANTUM_CONF_DIR/l3_agent.ini) </td>
|
||||
<td>external_network_bridge ($NEUTRON_CONF_DIR/l3_agent.ini) </td>
|
||||
<td>This field must be empty (or the bridge name for the external
|
||||
network).</td>
|
||||
</tr>
|
||||
|
@ -240,7 +240,7 @@ router_id = 1064ad16-36b7-4c2f-86f0-daa2bcbd6b2a</computeroutput></screen>
|
|||
<para> To configure it, you need to run the OpenStack Networking service and create a router, and
|
||||
then set an ID of the router created to <emphasis>router_id</emphasis> in the L3
|
||||
agent configuration file. </para>
|
||||
<screen><computeroutput>$ quantum router-create myrouter1
|
||||
<screen><computeroutput>$ neutron router-create myrouter1
|
||||
Created a new router:
|
||||
+-----------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
|
@ -280,9 +280,9 @@ Created a new router:
|
|||
<screen><computeroutput>handle_internal_only_routers = True
|
||||
gateway_external_network_id = 2118b11c-011e-4fa5-a6f1-2ca34d372c35
|
||||
external_network_bridge = br-ex</computeroutput></screen>
|
||||
<screen><computeroutput>python /opt/stack/quantum/bin/quantum-l3-agent
|
||||
--config-file /etc/quantum/quantum.conf
|
||||
--config-file=/etc/quantum/l3_agent.ini</computeroutput></screen>
|
||||
<screen><computeroutput>python /opt/stack/neutron/bin/neutron-l3-agent
|
||||
--config-file /etc/neutron/neutron.conf
|
||||
--config-file=/etc/neutron/l3_agent.ini</computeroutput></screen>
|
||||
<para> For the second (or later) agent, invoke it with the following l3_agent.ini where
|
||||
handle_internal_only_routers is False. </para>
|
||||
<screen><computeroutput>handle_internal_only_routers = False
|
||||
|
|
|
@ -210,23 +210,23 @@
|
|||
<para>Show all attributes of a network, including provider
|
||||
attributes when invoked with the admin role:</para>
|
||||
<para>
|
||||
<programlisting>quantum net-show <name or net-id></programlisting>
|
||||
<programlisting>neutron net-show <name or net-id></programlisting>
|
||||
</para>
|
||||
<para>Create a local provider network (admin-only):</para>
|
||||
<para>
|
||||
<programlisting>quantum net-create <name> --tenant_id <tenant-id> --provider:network_type local</programlisting>
|
||||
<programlisting>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type local</programlisting>
|
||||
</para>
|
||||
<para>Create a flat provider network (admin-only):</para>
|
||||
<para>
|
||||
<programlisting>quantum net-create <name> --tenant_id <tenant-id> --provider:network_type flat --provider:physical_network <phys-net-name></programlisting>
|
||||
<programlisting>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type flat --provider:physical_network <phys-net-name></programlisting>
|
||||
</para>
|
||||
<para>Create a VLAN provider network (admin-only):</para>
|
||||
<para>
|
||||
<programlisting>quantum net-create <name> --tenant_id <tenant-id> --provider:network_type vlan --provider:physical_network <phys-net-name> --provider:segmentation_id <VID></programlisting>
|
||||
<programlisting>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type vlan --provider:physical_network <phys-net-name> --provider:segmentation_id <VID></programlisting>
|
||||
</para>
|
||||
<para>Create a GRE provider network (admin-only):</para>
|
||||
<para>
|
||||
<programlisting>quantum net-create <name> --tenant_id <tenant-id> --provider:network_type gre --provider:segmentation_id <tunnel-id></programlisting>
|
||||
<programlisting>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type gre --provider:segmentation_id <tunnel-id></programlisting>
|
||||
</para>
|
||||
<para>When creating flat networks or VLAN networks,
|
||||
<phys-net-name> must be known to the plugin. See
|
||||
|
@ -415,20 +415,20 @@
|
|||
<section xml:id="l3_workflow">
|
||||
<title>Common L3 Workflow</title>
|
||||
<para>Create external networks (admin-only) </para>
|
||||
<screen><computeroutput>quantum net-create public --router:external=True
|
||||
quantum subnet-create public 172.16.1.0/24 </computeroutput></screen>
|
||||
<screen><computeroutput>neutron net-create public --router:external=True
|
||||
neutron subnet-create public 172.16.1.0/24 </computeroutput></screen>
|
||||
<para>Viewing external networks: </para>
|
||||
<screen><computeroutput>quantum net-list -- --router:external=True</computeroutput></screen>
|
||||
<screen><computeroutput>neutron net-list -- --router:external=True</computeroutput></screen>
|
||||
<para>Creating routers</para>
|
||||
<para>Internal-only router to connect multiple L2 networks
|
||||
privately. </para>
|
||||
<screen><computeroutput>quantum net-create net1
|
||||
quantum subnet-create net1 10.0.0.0/24
|
||||
quantum net-create net2
|
||||
quantum subnet-create net2 10.0.1.0/24
|
||||
quantum router-create router1
|
||||
quantum router-interface-add router1 <subnet1-uuid>
|
||||
quantum router-interface-add router1 <subnet2-uuid></computeroutput></screen>
|
||||
<screen><computeroutput>neutron net-create net1
|
||||
neutron subnet-create net1 10.0.0.0/24
|
||||
neutron net-create net2
|
||||
neutron subnet-create net2 10.0.1.0/24
|
||||
neutron router-create router1
|
||||
neutron router-interface-add router1 <subnet1-uuid>
|
||||
neutron router-interface-add router1 <subnet2-uuid></computeroutput></screen>
|
||||
<para>The router will get an interface with the gateway_ip
|
||||
address of the subnet, and this interface will be
|
||||
attached to a port on the L2 OpenStack Networking
|
||||
|
@ -442,18 +442,18 @@ quantum router-interface-add router1 <subnet2-uuid></computeroutput></scre
|
|||
<para>A router can also be connected to an “external
|
||||
network”, allowing that router to act as a NAT gateway
|
||||
for external connectivity. </para>
|
||||
<screen><computeroutput>quantum router-gateway-set router1 <ext-net-id> </computeroutput></screen>
|
||||
<screen><computeroutput>neutron router-gateway-set router1 <ext-net-id> </computeroutput></screen>
|
||||
<para>Viewing routers:</para>
|
||||
<para>List all routers:
|
||||
<screen><computeroutput>quantum router-list</computeroutput></screen></para>
|
||||
<screen><computeroutput>neutron router-list</computeroutput></screen></para>
|
||||
<para>Show a specific router:
|
||||
<screen><computeroutput>quantum router-show <router_id></computeroutput></screen></para>
|
||||
<screen><computeroutput>neutron router-show <router_id></computeroutput></screen></para>
|
||||
<para>Show all internal interfaces for a router:
|
||||
<screen><computeroutput>quantum port-list -- --device_id=<router_id></computeroutput></screen></para>
|
||||
<screen><computeroutput>neutron port-list -- --device_id=<router_id></computeroutput></screen></para>
|
||||
<para>Associating / Disassociating Floating IPs: </para>
|
||||
<para>First, identify the port-id representing the VM NIC
|
||||
that the floating IP should map to: </para>
|
||||
<screen><computeroutput>quantum port-list -c id -c fixed_ips -- --device_id=ZZZ</computeroutput></screen>
|
||||
<screen><computeroutput>neutron port-list -c id -c fixed_ips -- --device_id=ZZZ</computeroutput></screen>
|
||||
<para>This port must be on an OpenStack Networking subnet
|
||||
that is attached to a router uplinked to the external
|
||||
network that will be used to create the floating IP.
|
||||
|
@ -465,26 +465,26 @@ quantum router-interface-add router1 <subnet2-uuid></computeroutput></scre
|
|||
router). </para>
|
||||
<para>Create floating IP unassociated, then
|
||||
associate</para>
|
||||
<screen><computeroutput>quantum floatingip-create <ext-net-id>
|
||||
quantum floatingip-associate <floatingip-id> <internal VM port-id> </computeroutput></screen>
|
||||
<screen><computeroutput>neutron floatingip-create <ext-net-id>
|
||||
neutron floatingip-associate <floatingip-id> <internal VM port-id> </computeroutput></screen>
|
||||
<para>create floating IP and associate in a single
|
||||
step</para>
|
||||
<screen><computeroutput>quantum floatingip-create --port_id <internal VM port-id> <ext-net-id> </computeroutput></screen>
|
||||
<screen><computeroutput>neutron floatingip-create --port_id <internal VM port-id> <ext-net-id> </computeroutput></screen>
|
||||
<para>Viewing Floating IP State: </para>
|
||||
<screen><computeroutput>quantum floatingip-list</computeroutput></screen>
|
||||
<screen><computeroutput>neutron floatingip-list</computeroutput></screen>
|
||||
<para>Find floating IP for a particular VM port: </para>
|
||||
<screen><computeroutput>quantum floatingip-list -- --port_id=ZZZ</computeroutput></screen>
|
||||
<screen><computeroutput>neutron floatingip-list -- --port_id=ZZZ</computeroutput></screen>
|
||||
<para>Disassociate a Floating IP:</para>
|
||||
<screen><computeroutput>quantum floatingip-disassociate <floatingip-id></computeroutput></screen>
|
||||
<screen><computeroutput>neutron floatingip-disassociate <floatingip-id></computeroutput></screen>
|
||||
<para>L3 Tear Down</para>
|
||||
<para>Delete the Floating IP:</para>
|
||||
<screen><computeroutput>quantum floatingip-delete <floatingip-id> </computeroutput></screen>
|
||||
<screen><computeroutput>neutron floatingip-delete <floatingip-id> </computeroutput></screen>
|
||||
<para>Then clear the gateway: </para>
|
||||
<screen><computeroutput>quantum router-gateway-clear router1</computeroutput></screen>
|
||||
<screen><computeroutput>neutron router-gateway-clear router1</computeroutput></screen>
|
||||
<para>Then remove the interfaces from the router: </para>
|
||||
<screen><computeroutput>quantum router-interface-delete router1 <subnet-id> </computeroutput></screen>
|
||||
<screen><computeroutput>neutron router-interface-delete router1 <subnet-id> </computeroutput></screen>
|
||||
<para>Finally, delete the router: </para>
|
||||
<screen><computeroutput>quantum router-delete router1</computeroutput></screen>
|
||||
<screen><computeroutput>neutron router-delete router1</computeroutput></screen>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="securitygroups">
|
||||
|
@ -500,18 +500,14 @@ quantum floatingip-associate <floatingip-id> <internal VM port-id> <
|
|||
security group. By default this group will drop all
|
||||
ingress traffic and allow all egress. Rules can be added
|
||||
to this group in order to change the behaviour.</para>
|
||||
<para>If one desires to use the OpenStack Compute security
|
||||
group APIs and/or have OpenStack Compute orchestrate the
|
||||
creation of new ports for instances on specific security
|
||||
groups, additional configuration is needed. To enable
|
||||
this, one must configure the following file
|
||||
<filename>/etc/nova/nova.conf</filename> and set the
|
||||
config option security_group_api=quantum on every node
|
||||
running nova-compute and nova-api. After this change is
|
||||
made restart nova-api and nova-compute in order to pick up
|
||||
this change. After this change is made one will be able to
|
||||
use both the OpenStack Compute and OpenStack Network
|
||||
security group API at the same time.</para>
|
||||
<para>If one desires to use the OpenStack Compute security group APIs and/or have OpenStack
|
||||
Compute orchestrate the creation of new ports for instances on specific security groups,
|
||||
additional configuration is needed. To enable this, one must configure the following
|
||||
file <filename>/etc/nova/nova.conf</filename> and set the config option
|
||||
security_group_api=neutron on every node running nova-compute and nova-api. After this
|
||||
change is made restart nova-api and nova-compute in order to pick up this change. After
|
||||
this change is made one will be able to use both the OpenStack Compute and OpenStack
|
||||
Network security group API at the same time.</para>
|
||||
<note>
|
||||
<para>In order to use the OpenStack Compute security group
|
||||
API with OpenStack Networking the OpenStack Networking
|
||||
|
@ -665,24 +661,24 @@ quantum floatingip-associate <floatingip-id> <internal VM port-id> <
|
|||
<title>Common Security Group Commands</title>
|
||||
<para>Create a security group for our web servers:</para>
|
||||
<screen><computeroutput>
|
||||
quantum security-group-create webservers --description "security group for webservers"</computeroutput></screen>
|
||||
neutron security-group-create webservers --description "security group for webservers"</computeroutput></screen>
|
||||
<para>Viewing security groups: </para>
|
||||
<screen><computeroutput>quantum security-group-list</computeroutput></screen>
|
||||
<screen><computeroutput>neutron security-group-list</computeroutput></screen>
|
||||
<para>Creating security group rule to allow port 80
|
||||
ingress:</para>
|
||||
<screen><computeroutput>
|
||||
quantum security-group-rule-create --direction ingress --protocol tcp --port_range_min 80 --port_range_max 80 <security_group_uuid></computeroutput></screen>
|
||||
neutron security-group-rule-create --direction ingress --protocol tcp --port_range_min 80 --port_range_max 80 <security_group_uuid></computeroutput></screen>
|
||||
<para>List security group rules: </para>
|
||||
<screen><computeroutput>quantum security-group-rule-list </computeroutput></screen>
|
||||
<screen><computeroutput>neutron security-group-rule-list </computeroutput></screen>
|
||||
<para>Delete a security group rule:</para>
|
||||
<screen><computeroutput>quantum security-group-rule-delete <security_group_rule_uuid></computeroutput></screen>
|
||||
<screen><computeroutput>neutron security-group-rule-delete <security_group_rule_uuid></computeroutput></screen>
|
||||
<para>Delete security group:</para>
|
||||
<screen><computeroutput>quantum security-group-delete <security_group_uuid> </computeroutput></screen>
|
||||
<screen><computeroutput>neutron security-group-delete <security_group_uuid> </computeroutput></screen>
|
||||
<para>Create a port and associated two security
|
||||
groups:</para>
|
||||
<screen><computeroutput>quantum port-create --security-group <security_group_id1> --security-group <security_group_id2> <network_id></computeroutput></screen>
|
||||
<screen><computeroutput>neutron port-create --security-group <security_group_id1> --security-group <security_group_id2> <network_id></computeroutput></screen>
|
||||
<para>Remove security groups from a port:</para>
|
||||
<screen><computeroutput>quantum port-update --no-security-groups <port_id></computeroutput></screen>
|
||||
<screen><computeroutput>neutron port-update --no-security-groups <port_id></computeroutput></screen>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="lbaas">
|
||||
|
@ -698,24 +694,24 @@ quantum security-group-rule-create --direction ingress --protocol tcp --port_ran
|
|||
<title>Common Load-Balancer-as-a-Service Workflow</title>
|
||||
<para>Create a load balancer pool:</para>
|
||||
<screen><computeroutput>
|
||||
quantum lb-pool-create --lb-method ROUND_ROBIN --name mypool --protocol HTTP --subnet-id <subnet-uuid></computeroutput></screen>
|
||||
neutron lb-pool-create --lb-method ROUND_ROBIN --name mypool --protocol HTTP --subnet-id <subnet-uuid></computeroutput></screen>
|
||||
<para>Associate two web servers with pool:</para>
|
||||
<screen><computeroutput>
|
||||
quantum lb-member-create --address <webserver one IP> --protocol-port 80 mypool
|
||||
quantum lb-member-create --address <webserver two IP> --protocol-port 80 mypool</computeroutput></screen>
|
||||
neutron lb-member-create --address <webserver one IP> --protocol-port 80 mypool
|
||||
neutron lb-member-create --address <webserver two IP> --protocol-port 80 mypool</computeroutput></screen>
|
||||
<para>Create a health monitor which checks to make sure
|
||||
our instances are still running on the specified
|
||||
protocol-port:</para>
|
||||
<screen><computeroutput>
|
||||
quantum lb-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3</computeroutput></screen>
|
||||
neutron lb-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3</computeroutput></screen>
|
||||
<para>Associate health monitor with pool:</para>
|
||||
<screen><computeroutput>
|
||||
quantum lb-healthmonitor-associate <healthmonitor-uuid> mypool</computeroutput></screen>
|
||||
neutron lb-healthmonitor-associate <healthmonitor-uuid> mypool</computeroutput></screen>
|
||||
<para>Create a Virtual IP Address (VIP) that when accessed
|
||||
via the load balancer will direct the requests to one
|
||||
of the pool members:</para>
|
||||
<screen><computeroutput>
|
||||
quantum lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id <subnet-uuid> mypool</computeroutput></screen>
|
||||
neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id <subnet-uuid> mypool</computeroutput></screen>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="plugin_specific_extensions">
|
||||
|
@ -748,17 +744,13 @@ quantum lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-i
|
|||
optimal, a scaling factor from the nova flavor
|
||||
'rxtx_factor' is passed in from OpenStack Compute
|
||||
when creating the port to scale the queue.</para>
|
||||
<para>Lastly, if you want to set a specific baseline
|
||||
QoS policy for the amount of bandwidth a single
|
||||
port can use (unless a network queue is specified
|
||||
with the network a port is created on) a default
|
||||
queue can be created in quantum which then causes
|
||||
ports created to be associated with a queue of
|
||||
that size times the rxtx scaling factor. One thing
|
||||
to note is that after a network queue or default
|
||||
queue is specified this will not add queues to
|
||||
ports previously created and will only create
|
||||
queues for ports created thereafter.</para>
|
||||
<para>Lastly, if you want to set a specific baseline QoS policy for the amount of
|
||||
bandwidth a single port can use (unless a network queue is specified with the
|
||||
network a port is created on) a default queue can be created in neutron which
|
||||
then causes ports created to be associated with a queue of that size times the
|
||||
rxtx scaling factor. One thing to note is that after a network queue or default
|
||||
queue is specified this will not add queues to ports previously created and will
|
||||
only create queues for ports created thereafter.</para>
|
||||
<section xml:id="nicira_nvp_qos_api_abstractions">
|
||||
<title>Nicira NVP QoS API Abstractions</title>
|
||||
<table rules="all">
|
||||
|
@ -836,15 +828,15 @@ quantum lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-i
|
|||
<section xml:id="nicira_nvp_qos_walk_through">
|
||||
<title>Nicira NVP QoS Walk Through</title>
|
||||
<para>Create QoS Queue (admin-only) </para>
|
||||
<screen><computeroutput>quantum queue-create--min 10 --max 1000 myqueue</computeroutput></screen>
|
||||
<screen><computeroutput>neutron queue-create--min 10 --max 1000 myqueue</computeroutput></screen>
|
||||
<para>Associate queue with a network</para>
|
||||
<screen><computeroutput>quantum net-create network --queue_id=<queue_id></computeroutput></screen>
|
||||
<screen><computeroutput>neutron net-create network --queue_id=<queue_id></computeroutput></screen>
|
||||
<para>Create default system queue</para>
|
||||
<screen><computeroutput>quantum queue-create --default True --min 10 --max 2000 default</computeroutput></screen>
|
||||
<screen><computeroutput>neutron queue-create --default True --min 10 --max 2000 default</computeroutput></screen>
|
||||
<para>List QoS Queues: </para>
|
||||
<screen><computeroutput>quantum queue-list</computeroutput></screen>
|
||||
<screen><computeroutput>neutron queue-list</computeroutput></screen>
|
||||
<para>Delete QoS Queue: </para>
|
||||
<screen><computeroutput>quantum queue-delete <queue_id or name>'</computeroutput></screen>
|
||||
<screen><computeroutput>neutron queue-delete <queue_id or name>'</computeroutput></screen>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
|
|
@ -6,10 +6,9 @@
|
|||
<title>Advanced Operational Features</title>
|
||||
<section xml:id="ch_adv_logging">
|
||||
<title>Logging Settings</title>
|
||||
<para>OpenStack Networking components use Python logging
|
||||
module to do logging. Logging configuration can be provided in
|
||||
<filename>quantum.conf</filename> or as command line options. Command options will
|
||||
override ones in <filename>quantum.conf</filename>.</para>
|
||||
<para>OpenStack Networking components use Python logging module to do logging. Logging
|
||||
configuration can be provided in <filename>neutron.conf</filename> or as command line options.
|
||||
Command options will override ones in <filename>neutron.conf</filename>.</para>
|
||||
<para>Two ways to specify the logging configuration for
|
||||
OpenStack Networking components:</para>
|
||||
<orderedlist>
|
||||
|
@ -18,7 +17,7 @@
|
|||
<para>Please see <link xlink:href="http://docs.python.org/howto/logging.html">Python Logging HOWTO</link> for logging configuration file.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Provide logging setting in <filename>quantum.conf</filename></para>
|
||||
<para>Provide logging setting in <filename>neutron.conf</filename></para>
|
||||
<screen>
|
||||
<computeroutput>
|
||||
[DEFAULT]
|
||||
|
@ -48,11 +47,10 @@
|
|||
<title>Notifications</title>
|
||||
<section xml:id="ch_adv_notification_overview">
|
||||
<title>Notification Options</title>
|
||||
<para>Notifications can be sent when OpenStack Networking
|
||||
resources such as network, subnet and port are created,
|
||||
updated or deleted. To support DHCP agent, rpc_notifier driver
|
||||
must be set. To set up the notification, edit notification
|
||||
options in <filename>quantum.conf</filename>:</para>
|
||||
<para>Notifications can be sent when OpenStack Networking resources such as network, subnet
|
||||
and port are created, updated or deleted. To support DHCP agent, rpc_notifier driver must be
|
||||
set. To set up the notification, edit notification options in
|
||||
<filename>neutron.conf</filename>:</para>
|
||||
<screen>
|
||||
<computeroutput>
|
||||
# ============ Notification System Options =====================
|
||||
|
@ -64,11 +62,11 @@
|
|||
|
||||
# Notification_driver can be defined multiple times
|
||||
# Do nothing driver
|
||||
# notification_driver = quantum.openstack.common.notifier.no_op_notifier
|
||||
# notification_driver = neutron.openstack.common.notifier.no_op_notifier
|
||||
# Logging driver
|
||||
# notification_driver = quantum.openstack.common.notifier.log_notifier
|
||||
# notification_driver = neutron.openstack.common.notifier.log_notifier
|
||||
# RPC driver
|
||||
notification_driver = quantum.openstack.common.notifier.rpc_notifier
|
||||
notification_driver = neutron.openstack.common.notifier.rpc_notifier
|
||||
|
||||
# default_notification_level is used to form actual topic names or to set logging level
|
||||
# default_notification_level = INFO
|
||||
|
@ -87,12 +85,11 @@ notification_topics = notifications
|
|||
<title>Setting Cases</title>
|
||||
<section xml:id="ch_adv_notification_cases_log_rpc">
|
||||
<title>Logging and RPC</title>
|
||||
<para>The options below will make OpenStack Networking
|
||||
server send notifications via logging and RPC. The logging
|
||||
options are described in <link linkend="ch_adv_logging"
|
||||
>Logging Settings</link>. RPC notifications will go to
|
||||
'notifications.info' queue binded to a topic exchange
|
||||
defined by 'control_exchange' in <filename>quantum.conf</filename>.</para>
|
||||
<para>The options below will make OpenStack Networking server send notifications via
|
||||
logging and RPC. The logging options are described in <link linkend="ch_adv_logging"
|
||||
>Logging Settings</link>. RPC notifications will go to 'notifications.info' queue binded
|
||||
to a topic exchange defined by 'control_exchange' in
|
||||
<filename>neutron.conf</filename>.</para>
|
||||
<screen>
|
||||
<computeroutput>
|
||||
# ============ Notification System Options =====================
|
||||
|
@ -104,11 +101,11 @@ notification_topics = notifications
|
|||
|
||||
# Notification_driver can be defined multiple times
|
||||
# Do nothing driver
|
||||
# notification_driver = quantum.openstack.common.notifier.no_op_notifier
|
||||
# notification_driver = neutron.openstack.common.notifier.no_op_notifier
|
||||
# Logging driver
|
||||
notification_driver = quantum.openstack.common.notifier.log_notifier
|
||||
notification_driver = neutron.openstack.common.notifier.log_notifier
|
||||
# RPC driver
|
||||
notification_driver = quantum.openstack.common.notifier.rpc_notifier
|
||||
notification_driver = neutron.openstack.common.notifier.rpc_notifier
|
||||
|
||||
# default_notification_level is used to form actual topic names or to set logging level
|
||||
default_notification_level = INFO
|
||||
|
@ -125,11 +122,10 @@ notification_topics = notifications
|
|||
</section>
|
||||
<section xml:id="ch_adv_notification_cases_multi_rpc_topics">
|
||||
<title>Multiple RPC Topics</title>
|
||||
<para>The options below will make OpenStack Networking
|
||||
server send notifications to multiple RPC topics. RPC
|
||||
notifications will go to 'notifications_one.info' and
|
||||
'notifications_two.info' queues binded to a topic exchange
|
||||
defined by 'control_exchange' in <filename>quantum.conf</filename>.</para>
|
||||
<para>The options below will make OpenStack Networking server send notifications to
|
||||
multiple RPC topics. RPC notifications will go to 'notifications_one.info' and
|
||||
'notifications_two.info' queues binded to a topic exchange defined by 'control_exchange'
|
||||
in <filename>neutron.conf</filename>.</para>
|
||||
<screen>
|
||||
<computeroutput>
|
||||
# ============ Notification System Options =====================
|
||||
|
@ -141,11 +137,11 @@ notification_topics = notifications
|
|||
|
||||
# Notification_driver can be defined multiple times
|
||||
# Do nothing driver
|
||||
# notification_driver = quantum.openstack.common.notifier.no_op_notifier
|
||||
# notification_driver = neutron.openstack.common.notifier.no_op_notifier
|
||||
# Logging driver
|
||||
# notification_driver = quantum.openstack.common.notifier.log_notifier
|
||||
# notification_driver = neutron.openstack.common.notifier.log_notifier
|
||||
# RPC driver
|
||||
notification_driver = quantum.openstack.common.notifier.rabbit_notifier
|
||||
notification_driver = neutron.openstack.common.notifier.rabbit_notifier
|
||||
|
||||
# default_notification_level is used to form actual topic names or to set logging level
|
||||
default_notification_level = INFO
|
||||
|
@ -166,7 +162,7 @@ notification_topics = notifications_one,notifications_two
|
|||
<title>Quotas</title>
|
||||
<para> Quota is a function to limit number of resources. You can enforce default quota for all
|
||||
tenants. You will get error when you try to create more resources than the limit. </para>
|
||||
<screen><computeroutput>$ quantum net-create test_net
|
||||
<screen><computeroutput>$ neutron net-create test_net
|
||||
Quota exceeded for resources: ['network']</computeroutput></screen>
|
||||
<para>
|
||||
Per-tenant quota configuration is also supported by quota
|
||||
|
@ -179,9 +175,10 @@ Quota exceeded for resources: ['network']</computeroutput></screen>
|
|||
tenants have a same quota value, i.e., a number of resources
|
||||
that a tenant can create. This is enabled by default. </para>
|
||||
<para> The value of quota is defined in the OpenStack Networking configuration file
|
||||
(<filename>quantum.conf</filename>). If you want to disable quotas for a specific resource
|
||||
(e.g., network, subnet, port), remove a corresponding item from <literal>quota_items</literal>. Each of the
|
||||
quota values in the example below is the default value. </para>
|
||||
(<filename>neutron.conf</filename>). If you want to disable quotas for a specific resource
|
||||
(e.g., network, subnet, port), remove a corresponding item from
|
||||
<literal>quota_items</literal>. Each of the quota values in the example below is the
|
||||
default value. </para>
|
||||
<screen><computeroutput>[quotas]
|
||||
# resource name(s) that are supported in quota features
|
||||
quota_items = network,subnet,port
|
||||
|
@ -196,10 +193,11 @@ quota_subnet = 10
|
|||
quota_port = 50
|
||||
|
||||
# default driver to use for quota checks
|
||||
quota_driver = quantum.quota.ConfDriver</computeroutput></screen>
|
||||
quota_driver = neutron.quota.ConfDriver</computeroutput></screen>
|
||||
<para>OpenStack Networking also supports quotas for L3 resources: router and floating IP. You
|
||||
can configure them by adding the following lines to <literal>quotas</literal> section in
|
||||
<filename>quantum.conf</filename>. (Note that <literal>quota_items</literal> does not affect these quotas.) </para>
|
||||
<filename>neutron.conf</filename>. (Note that <literal>quota_items</literal> does not
|
||||
affect these quotas.) </para>
|
||||
<screen><computeroutput>[quotas]
|
||||
# number of routers allowed per tenant, and minus means unlimited
|
||||
quota_router = 10
|
||||
|
@ -208,8 +206,9 @@ quota_router = 10
|
|||
quota_floatingip = 50</computeroutput></screen>
|
||||
<para>OpenStack Networking also supports quotas for security group resources: number of
|
||||
security groups and the number of rules per security group. You can configure them by adding
|
||||
the following lines to <literal>quotas</literal> section in <filename>quantum.conf</filename>. (Note that
|
||||
<literal>quota_items</literal> does not affect these quotas.) </para>
|
||||
the following lines to <literal>quotas</literal> section in
|
||||
<filename>neutron.conf</filename>. (Note that <literal>quota_items</literal> does not
|
||||
affect these quotas.) </para>
|
||||
<screen><computeroutput>[quotas]
|
||||
# number of security groups per tenant, and minus means unlimited
|
||||
quota_security_group = 10
|
||||
|
@ -220,12 +219,13 @@ quota_security_group_rule = 100</computeroutput></screen>
|
|||
<section xml:id="cfg_quotas_per_tenant">
|
||||
<title>Per-tenant quota configuration</title>
|
||||
<para> OpenStack Networking also supports per-tenant quota limit by quota extension API. To
|
||||
enable per-tenant quota, you need to set <literal>quota_driver</literal> in <literal>quantum.conf</literal>.</para>
|
||||
<screen><computeroutput>quota_driver = quantum.db.quota_db.DbQuotaDriver</computeroutput></screen>
|
||||
enable per-tenant quota, you need to set <literal>quota_driver</literal> in
|
||||
<literal>neutron.conf</literal>.</para>
|
||||
<screen><computeroutput>quota_driver = neutron.db.quota_db.DbQuotaDriver</computeroutput></screen>
|
||||
<para>
|
||||
When per-tenant quota is enabled, the output of the following command contains <literal>quotas</literal>.
|
||||
</para>
|
||||
<screen><computeroutput>$ quantum ext-list -c alias -c name
|
||||
<screen><computeroutput>$ neutron ext-list -c alias -c name
|
||||
+-----------------+--------------------------+
|
||||
| alias | name |
|
||||
+-----------------+--------------------------+
|
||||
|
@ -235,12 +235,12 @@ quota_security_group_rule = 100</computeroutput></screen>
|
|||
| quotas | Quota management support |
|
||||
| agent | agent |
|
||||
| provider | Provider Network |
|
||||
| router | Quantum L3 Router |
|
||||
| router | Neutron L3 Router |
|
||||
| lbaas | LoadBalancing service |
|
||||
| extraroute | Quantum Extra Route |
|
||||
| extraroute | Neutron Extra Route |
|
||||
+-----------------+--------------------------+
|
||||
|
||||
$ quantum ext-show quotas
|
||||
$ neutron ext-show quotas
|
||||
+-------------+------------------------------------------------------------+
|
||||
| Field | Value |
|
||||
+-------------+------------------------------------------------------------+
|
||||
|
@ -273,7 +273,7 @@ $ quantum ext-show quotas
|
|||
The tenants who have the default set of quota limits are not listed.
|
||||
This command is permitted to only 'admin' users.
|
||||
</para>
|
||||
<screen><computeroutput>$ quantum quota-list
|
||||
<screen><computeroutput>$ neutron quota-list
|
||||
+------------+---------+------+--------+--------+----------------------------------+
|
||||
| floatingip | network | port | router | subnet | tenant_id |
|
||||
+------------+---------+------+--------+--------+----------------------------------+
|
||||
|
@ -286,7 +286,7 @@ $ quantum ext-show quotas
|
|||
If per-tenant quota limits are not defined for the tenant, the default set of
|
||||
quotas are displayed.
|
||||
</para>
|
||||
<screen><computeroutput>$ quantum quota-show --tenant_id 6f88036c45344d9999a1f971e4882723
|
||||
<screen><computeroutput>$ neutron quota-show --tenant_id 6f88036c45344d9999a1f971e4882723
|
||||
+------------+-------+
|
||||
| Field | Value |
|
||||
+------------+-------+
|
||||
|
@ -299,7 +299,7 @@ $ quantum ext-show quotas
|
|||
<para>
|
||||
The below is an example called by a non-admin user.
|
||||
</para>
|
||||
<screen><computeroutput>$ quantum quota-show
|
||||
<screen><computeroutput>$ neutron quota-show
|
||||
+------------+-------+
|
||||
| Field | Value |
|
||||
+------------+-------+
|
||||
|
@ -311,7 +311,7 @@ $ quantum ext-show quotas
|
|||
+------------+-------+</computeroutput></screen>
|
||||
<para>You can update a quota of the given tenant by <literal>quota-update</literal> command.</para>
|
||||
<para>Update the limit of network quota.</para>
|
||||
<screen><computeroutput>$ quantum quota-update --tenant_id 6f88036c45344d9999a1f971e4882723 --network 5
|
||||
<screen><computeroutput>$ neutron quota-update --tenant_id 6f88036c45344d9999a1f971e4882723 --network 5
|
||||
+------------+-------+
|
||||
| Field | Value |
|
||||
+------------+-------+
|
||||
|
@ -322,7 +322,7 @@ $ quantum ext-show quotas
|
|||
| subnet | 10 |
|
||||
+------------+-------+</computeroutput></screen>
|
||||
<para>You can update quotas of multiple resources in one command.</para>
|
||||
<screen><computeroutput>$ quantum quota-update --tenant_id 6f88036c45344d9999a1f971e4882723 --subnet 5 --port 20
|
||||
<screen><computeroutput>$ neutron quota-update --tenant_id 6f88036c45344d9999a1f971e4882723 --subnet 5 --port 20
|
||||
+------------+-------+
|
||||
| Field | Value |
|
||||
+------------+-------+
|
||||
|
@ -337,7 +337,7 @@ $ quantum ext-show quotas
|
|||
specify new values of the quotas after '--'. The example below updates
|
||||
the limit of the number of floating IPs for the given tenant.
|
||||
</para>
|
||||
<screen><computeroutput>$ quantum quota-update --tenant_id 6f88036c45344d9999a1f971e4882723 -- --floatingip 20
|
||||
<screen><computeroutput>$ neutron quota-update --tenant_id 6f88036c45344d9999a1f971e4882723 -- --floatingip 20
|
||||
+------------+-------+
|
||||
| Field | Value |
|
||||
+------------+-------+
|
||||
|
@ -350,7 +350,7 @@ $ quantum ext-show quotas
|
|||
<para>
|
||||
You can update the limits of multiple resources including L2 resources and L3 resource in one command.
|
||||
</para>
|
||||
<screen><computeroutput>$ quantum quota-update --tenant_id 6f88036c45344d9999a1f971e4882723 --network 3 --subnet 3 --port 3 -- --floatingip 3 --router 3
|
||||
<screen><computeroutput>$ neutron quota-update --tenant_id 6f88036c45344d9999a1f971e4882723 --network 3 --subnet 3 --port 3 -- --floatingip 3 --router 3
|
||||
+------------+-------+
|
||||
| Field | Value |
|
||||
+------------+-------+
|
||||
|
@ -365,9 +365,9 @@ $ quantum ext-show quotas
|
|||
After <literal>quota-delete</literal>, quota limits enforced to the tenant are reset to
|
||||
the default set of quotas.
|
||||
</para>
|
||||
<screen><computeroutput>$ quantum quota-delete --tenant_id 6f88036c45344d9999a1f971e4882723
|
||||
<screen><computeroutput>$ neutron quota-delete --tenant_id 6f88036c45344d9999a1f971e4882723
|
||||
Deleted quota: 6f88036c45344d9999a1f971e4882723
|
||||
$ quantum quota-show --tenant_id 6f88036c45344d9999a1f971e4882723
|
||||
$ neutron quota-show --tenant_id 6f88036c45344d9999a1f971e4882723
|
||||
+------------+-------+
|
||||
| Field | Value |
|
||||
+------------+-------+
|
||||
|
|
|
@ -24,18 +24,18 @@
|
|||
OpenStack Networking server ($IP), and service ID
|
||||
($ID) returned by the OpenStack Compute service
|
||||
catalog, run: </para>
|
||||
<screen><userinput><?db-font-size 75%?>keystone service-create --name quantum --type network --description 'OpenStack Networking Service'</userinput></screen>
|
||||
<screen><userinput><?db-font-size 75%?>keystone service-create --name neutron --type network --description 'OpenStack Networking Service'</userinput></screen>
|
||||
<para>Make a note of the ID returned by the command
|
||||
and put it in the $ID location.</para>
|
||||
<screen><userinput>keystone endpoint-create --region $REGION --service-id $ID --publicurl 'http://$IP:9696/' --adminurl 'http://$IP:9696/' --internalurl 'http://$IP:9696/'</userinput></screen>
|
||||
<para>Here's an example with real values:</para>
|
||||
<screen><userinput><?db-font-size 75%?><prompt>$</prompt> <userinput>keystone service-create --name quantum --type network --description 'OpenStack Networking Service'</userinput></userinput></screen>
|
||||
<screen><userinput><?db-font-size 75%?><prompt>$</prompt> <userinput>keystone service-create --name neutron --type network --description 'OpenStack Networking Service'</userinput></userinput></screen>
|
||||
<screen>+-------------+----------------------------------+
|
||||
| Property | Value |
|
||||
+-------------+----------------------------------+
|
||||
| description | OpenStack Networking Service |
|
||||
| id | 26a55b340e254ad5bb78c0b14391e153 |
|
||||
| name | quantum |
|
||||
| name | neutron |
|
||||
| type | network |
|
||||
+-------------+----------------------------------+</screen>
|
||||
<screen><prompt>$</prompt> <userinput>keystone endpoint-create --region myregion --service-id 26a55b340e254ad5bb78c0b14391e153 \
|
||||
|
@ -59,17 +59,13 @@ catalog.$Region.network.name = Network Service</programlisting>
|
|||
<step>
|
||||
<title>Create OpenStack Networking Service
|
||||
User</title>
|
||||
<para>For OpenStack Compute to speak to the OpenStack
|
||||
Networking API, and for some internal components
|
||||
of OpenStack Networking to communicate with the
|
||||
OpenStack Networking API, you need to provide them
|
||||
with admin user credentials that they can use when
|
||||
accessing the OpenStack Networking API. The
|
||||
suggested approach is to create a special
|
||||
'service' tenant, create a ‘quantum’ user within
|
||||
this tenant, and to assign this user an 'admin'
|
||||
role. Kindly check the ID for user, role and
|
||||
tenant.</para>
|
||||
<para>For OpenStack Compute to speak to the OpenStack Networking API, and for some
|
||||
internal components of OpenStack Networking to communicate with the OpenStack
|
||||
Networking API, you need to provide them with admin user credentials that they
|
||||
can use when accessing the OpenStack Networking API. The suggested approach is
|
||||
to create a special 'service' tenant, create a ‘neutron’ user within this
|
||||
tenant, and to assign this user an 'admin' role. Kindly check the ID for user,
|
||||
role and tenant.</para>
|
||||
<para>For example: </para>
|
||||
<note><para>A <literal>get_id</literal> shell function is used
|
||||
to store the id of newly created objects. This function needs
|
||||
|
@ -83,9 +79,9 @@ catalog.$Region.network.name = Network Service</programlisting>
|
|||
</para></note>
|
||||
<screen><prompt>$</prompt> <userinput>ADMIN_ROLE=$(get_id keystone role-create --name=admin)
|
||||
</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>QUANTUM_USER=$(get_id keystone user-create --name=quantum --pass="$QUANTUM_PASSWORD" --email=demo@example.com --tenant-id service)
|
||||
<screen><prompt>$</prompt> <userinput>NEUTRON_USER=$(get_id keystone user-create --name=neutron --pass="$NEUTRON_PASSWORD" --email=demo@example.com --tenant-id service)
|
||||
</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>keystone user-role-add --user_id $QUANTUM_USER --role_id $ADMIN_ROLE --tenant_id service</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>keystone user-role-add --user_id $NEUTRON_USER --role_id $ADMIN_ROLE --tenant_id service</userinput></screen>
|
||||
</step>
|
||||
</procedure>
|
||||
<para> See the OpenStack Installation Guides for more details
|
||||
|
@ -138,59 +134,49 @@ catalog.$Region.network.name = Network Service</programlisting>
|
|||
by each nova-compute and nova-api instance: </para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>network_api_class: must be modified from
|
||||
default to 'nova.network.quantumv2.api.API' to
|
||||
indicate that OpenStack Networking should be
|
||||
used rather than the traditional nova-network
|
||||
networking model.</para>
|
||||
<para>network_api_class: must be modified from default to
|
||||
'nova.network.neutronv2.api.API' to indicate that OpenStack Networking
|
||||
should be used rather than the traditional nova-network networking
|
||||
model.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>quantum_url: must include the hostname/IP and port
|
||||
of the quantum-server instance for this
|
||||
deployment.</para>
|
||||
<para>neutron_url: must include the hostname/IP and port of the neutron-server
|
||||
instance for this deployment.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>quantum_auth_strategy: should be kept as default
|
||||
'keystone' for all production deployments.</para>
|
||||
<para>neutron_auth_strategy: should be kept as default 'keystone' for all
|
||||
production deployments.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>quantum_admin_tenant_name: must be modified
|
||||
to be the name of the service tenant created
|
||||
in the above section on OpenStack Identity
|
||||
<para>neutron_admin_tenant_name: must be modified to be the name of the service
|
||||
tenant created in the above section on OpenStack Identity
|
||||
configuration.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>quantum_admin_username: must be modified to
|
||||
be the name of the user created in the above
|
||||
section on OpenStack Identity
|
||||
configuration.</para>
|
||||
<para>neutron_admin_username: must be modified to be the name of the user
|
||||
created in the above section on OpenStack Identity configuration.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>quantum_admin_password: must be modified to
|
||||
be the password of the user created in the
|
||||
above section on OpenStack Identity
|
||||
configuration.</para>
|
||||
<para>neutron_admin_password: must be modified to be the password of the user
|
||||
created in the above section on OpenStack Identity configuration.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>quantum_admin_auth_url: must be modified to
|
||||
point to the OpenStack Identity server IP and
|
||||
port. This is the Identity (keystone) admin
|
||||
API server IP and port value, and not the
|
||||
Identity service API IP and port.</para>
|
||||
<para>neutron_admin_auth_url: must be modified to point to the OpenStack
|
||||
Identity server IP and port. This is the Identity (keystone) admin API
|
||||
server IP and port value, and not the Identity service API IP and
|
||||
port.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="nova_config_security_groups">
|
||||
<title>Security Group Configuration</title>
|
||||
<para>The OpenStack Networking Service provides security group
|
||||
functionality using a mechanism that is more flexible and powerful
|
||||
than the security group capabilities built into OpenStack
|
||||
Compute. Thus, when using OpenStack Networking, nova.conf should
|
||||
always disable built-in security groups and proxy all security group
|
||||
calls to the OpenStack Networking API. Failure to do so will result
|
||||
in conflicting security policies being simultaneously applied by
|
||||
both services. To proxy security groups to Quantum, use the
|
||||
following configuration values:</para>
|
||||
<para>The OpenStack Networking Service provides security group functionality using a
|
||||
mechanism that is more flexible and powerful than the security group capabilities
|
||||
built into OpenStack Compute. Thus, when using OpenStack Networking, nova.conf
|
||||
should always disable built-in security groups and proxy all security group calls to
|
||||
the OpenStack Networking API. Failure to do so will result in conflicting security
|
||||
policies being simultaneously applied by both services. To proxy security groups to
|
||||
Neutron, use the following configuration values:</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
|
@ -201,11 +187,8 @@ catalog.$Region.network.name = Network Service</programlisting>
|
|||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
security_group_api : must be set to 'quantum' so
|
||||
that all security group requests are proxied to
|
||||
the OpenStack Network Service.
|
||||
</para>
|
||||
<para> security_group_api : must be set to 'neutron' so that all security group
|
||||
requests are proxied to the OpenStack Network Service. </para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
@ -218,33 +201,24 @@ catalog.$Region.network.name = Network Service</programlisting>
|
|||
setting the following fields in nova.conf: </para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
service_quantum_metadata_proxy: must be set to 'true',
|
||||
otherwise nova-api will not properly respond to requests
|
||||
from the quantum-metadata-agent.
|
||||
</para>
|
||||
<para> service_neutron_metadata_proxy: must be set to 'true', otherwise nova-api
|
||||
will not properly respond to requests from the neutron-metadata-agent. </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
quantum_metadata_proxy_shared_secret: a string "password"
|
||||
value that should also be configured in the
|
||||
metadata_agent.ini file in order to authenticate requests
|
||||
made for metadata. The default value of the
|
||||
empty string in both files will allow metadata to
|
||||
function, but will be insecure if any non-trusted
|
||||
entities have access to the metadata APIs exposed by
|
||||
nova-api.
|
||||
</para>
|
||||
<para> neutron_metadata_proxy_shared_secret: a string "password" value that
|
||||
should also be configured in the metadata_agent.ini file in order to
|
||||
authenticate requests made for metadata. The default value of the empty
|
||||
string in both files will allow metadata to function, but will be insecure
|
||||
if any non-trusted entities have access to the metadata APIs exposed by
|
||||
nova-api. </para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<note><para>As a precaution, even when using
|
||||
quantum_metadata_proxy_shared_secret, it is recommended that
|
||||
you do not expose metadata using the same nova-api instances that
|
||||
are used for tenants. Instead, run a dedicated set of nova-api
|
||||
instances for metadata available only on your management network.
|
||||
Whether a given nova-api instance exposes metadata APIs is
|
||||
determined by the value of 'enabled_apis' in its nova.conf.
|
||||
</para></note>
|
||||
<note><para>As a precaution, even when using neutron_metadata_proxy_shared_secret, it is recommended that
|
||||
you do not expose metadata using the same nova-api instances that are used for
|
||||
tenants. Instead, run a dedicated set of nova-api instances for metadata
|
||||
available only on your management network. Whether a given nova-api instance
|
||||
exposes metadata APIs is determined by the value of 'enabled_apis' in its
|
||||
nova.conf. </para></note>
|
||||
</section>
|
||||
<section xml:id="nova_with_quantum_vifplugging">
|
||||
<title>Vif-plugging Configuration</title>
|
||||
|
@ -322,19 +296,19 @@ catalog.$Region.network.name = Network Service</programlisting>
|
|||
cloud controller node running OpenStack Compute and
|
||||
OpenStack Networking with an IP address of 192.168.1.2
|
||||
and vif-plugging using the LibvirtHybridOVSBridgeDriver. </para>
|
||||
<screen><computeroutput>network_api_class=nova.network.quantumv2.api.API
|
||||
quantum_url=http://192.168.1.2:9696
|
||||
quantum_auth_strategy=keystone
|
||||
quantum_admin_tenant_name=service
|
||||
quantum_admin_username=quantum
|
||||
quantum_admin_password=password
|
||||
quantum_admin_auth_url=http://192.168.1.2:35357/v2.0
|
||||
<screen><computeroutput>network_api_class=nova.network.neutronv2.api.API
|
||||
neutron_url=http://192.168.1.2:9696
|
||||
neutron_auth_strategy=keystone
|
||||
neutron_admin_tenant_name=service
|
||||
neutron_admin_username=neutron
|
||||
neutron_admin_password=password
|
||||
neutron_admin_auth_url=http://192.168.1.2:35357/v2.0
|
||||
|
||||
security_group_api=quantum
|
||||
security_group_api=neutron
|
||||
firewall_driver=nova.virt.firewall.NoopFirewallDriver
|
||||
|
||||
service_quantum_metadata_proxy=true
|
||||
quantum_metadata_proxy_shared_secret=foo
|
||||
service_neutron_metadata_proxy=true
|
||||
neutron_metadata_proxy_shared_secret=foo
|
||||
|
||||
# needed only for nova-compute and only for some plugins
|
||||
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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_high_avail">
|
||||
<title>High Availability</title>
|
||||
<para>Several aspects of an OpenStack Networking deployment
|
||||
benefit from high-availabilty to withstand individual node
|
||||
failures. In general, quantum-server and quantum-dhcp-agent
|
||||
can be run in an active-active fashion. The quantum-l3-agent
|
||||
service can be run only as active/passive, to avoid IP
|
||||
conflicts with respect to gateway IP addresses.</para>
|
||||
<para>Several aspects of an OpenStack Networking deployment benefit from high-availabilty to
|
||||
withstand individual node failures. In general, neutron-server and neutron-dhcp-agent can be
|
||||
run in an active-active fashion. The neutron-l3-agent service can be run only as
|
||||
active/passive, to avoid IP conflicts with respect to gateway IP addresses.</para>
|
||||
<section xml:id="ha_pacemaker">
|
||||
<title>OpenStack Networking High Availability with
|
||||
Pacemaker</title>
|
||||
|
@ -15,17 +13,19 @@
|
|||
Networking Server only) with Pacemaker.</para>
|
||||
<para>Here you can download the latest Resources Agents :<itemizedlist>
|
||||
<listitem>
|
||||
<para>quantum-server: <link
|
||||
xlink:href="https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-server"
|
||||
>https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-server</link></para>
|
||||
<para>neutron-server: <link
|
||||
xlink:href="https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-server"
|
||||
>https://github.com/madkiss/openstack-resource-agents</link></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>quantum-dhcp-agent : <link xlink:href="https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-agent-dhcp">https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-agent-dhcp</link>
|
||||
</para>
|
||||
<para>neutron-dhcp-agent : <link
|
||||
xlink:href="https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-agent-dhcp"
|
||||
>https://github.com/madkiss/openstack-resource-agents</link> </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>quantum-l3-agent : <link xlink:href="https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-agent-l3">https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-agent-l3</link>
|
||||
</para>
|
||||
<para>neutron-l3-agent : <link
|
||||
xlink:href="https://github.com/madkiss/openstack-resource-agents/blob/master/ocf/quantum-agent-l3"
|
||||
>https://github.com/madkiss/openstack-resource-agents</link> </para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
<db:note xmlns:db="http://docbook.org/ns/docbook"><db:para> If you need more informations about "<emphasis role="italic">How to build a
|
||||
|
|
|
@ -29,36 +29,31 @@
|
|||
<prompt>$</prompt> <userinput>sudo apt-get install ubuntu-cloud-keyring</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo apt-get update</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo apt-get upgrade</userinput></screen>
|
||||
<section xml:id="install_quantum_server">
|
||||
<title>Install quantum-server </title>
|
||||
<para>Install quantum-server and CLI for accessing the
|
||||
API: </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install quantum-server python-quantumclient</userinput></screen>
|
||||
<section xml:id="install_neutron_server">
|
||||
<title>Install neutron-server </title>
|
||||
<para>Install neutron-server and CLI for accessing the API: </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install neutron-server python-neutronclient</userinput></screen>
|
||||
<para>You will also want to install the plugin you choose
|
||||
to use, for example: </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install quantum-plugin-<plugin-name></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install neutron-plugin-<plugin-name></userinput></screen>
|
||||
<para>Most plugins require a database to be installed and
|
||||
configured in a plugin configuration file. For
|
||||
example: </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install mysql-server python-mysqldb python-sqlalchemy </userinput></screen>
|
||||
<para>A database that you are already using for other
|
||||
OpenStack services will work fine for this. Simply
|
||||
create a ‘quantum’ database: </para>
|
||||
<screen><prompt>$</prompt> <userinput>mysql -u <user> -p <pass> -e “create database quantum”</userinput></screen>
|
||||
<para>And then configure the plugin’s configuration file
|
||||
to use this database. Find the plugin configuration
|
||||
file in <filename>/etc/quantum/plugins/<plugin-name></filename> (For
|
||||
example,
|
||||
<filename>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</filename>)
|
||||
<para>A database that you are already using for other OpenStack services will work fine
|
||||
for this. Simply create a ‘neutron’ database: </para>
|
||||
<screen><prompt>$</prompt> <userinput>mysql -u <user> -p <pass> -e “create database neutron”</userinput></screen>
|
||||
<para>And then configure the plugin’s configuration file to use this database. Find the
|
||||
plugin configuration file in
|
||||
<filename>/etc/neutron/plugins/<plugin-name></filename> (For example,
|
||||
<filename>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</filename>)
|
||||
and set: </para>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@localhost/quantum?charset=utf8</computeroutput></screen>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@localhost/neutron?charset=utf8</computeroutput></screen>
|
||||
<section xml:id="rpc_setup">
|
||||
<title>RPC Setup </title>
|
||||
<para>Many OpenStack Networking plugins uses RPC to
|
||||
allow agents to communicate with the main
|
||||
quantum-server process. If your plugin requires agents,
|
||||
this can use the same RPC mechanism used by other OpenStack
|
||||
components like Nova. </para>
|
||||
<para>Many OpenStack Networking plugins uses RPC to allow agents to communicate with
|
||||
the main neutron-server process. If your plugin requires agents, this can use
|
||||
the same RPC mechanism used by other OpenStack components like Nova. </para>
|
||||
<para>To use RabbitMQ as the message bus for RPC, make
|
||||
sure that rabbit is installed on a host reachable
|
||||
via the management network (if this is already the
|
||||
|
@ -66,16 +61,14 @@
|
|||
Nova, this existing RabbitMQ setup is
|
||||
sufficient): </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get install rabbitmq-server rabbitmqctl change_password guest <password></userinput></screen>
|
||||
<para>Then update /etc/quantum/quantum.conf with these
|
||||
values: </para>
|
||||
<para>Then update /etc/neutron/neutron.conf with these values: </para>
|
||||
<screen><computeroutput>rabbit_host=<mgmt-IP-of-rabbit-host>
|
||||
rabbit_password=<password>
|
||||
|
||||
rabbit_userid=guest </computeroutput></screen>
|
||||
<important>
|
||||
<para>This /etc/quantum/quantum.conf file should be
|
||||
copied to and used on all hosts running
|
||||
quantum-server or any quantum-*-agent binaries. </para>
|
||||
<para>This /etc/neutron/neutron.conf file should be copied to and used on all hosts
|
||||
running neutron-server or any neutron-*-agent binaries. </para>
|
||||
</important>
|
||||
</section>
|
||||
<section xml:id="openvswitch_plugin">
|
||||
|
@ -90,40 +83,42 @@ rabbit_userid=guest </computeroutput></screen>
|
|||
options are described in the <link
|
||||
linkend="ch_adv_config"/></para>
|
||||
<para>Edit
|
||||
<filename>/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</filename>
|
||||
<filename>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</filename>
|
||||
to specify the following values: </para>
|
||||
<screen><computeroutput>enable_tunneling=True
|
||||
tenant_network_type=gre
|
||||
tunnel_id_ranges=1:1000
|
||||
# only required for nodes running agents
|
||||
local_ip=<data-net-IP-address-of-node></computeroutput></screen>
|
||||
<para>If you are using the Quantum DHCP agent, add the following to <filename>/etc/quantum/dhcp_agent.ini</filename></para>
|
||||
<screen><computeroutput>dnsmasq_config_file=/etc/quantum/dnsmasq-quantum.conf</computeroutput></screen>
|
||||
<para>And create <filename>/etc/quantum/dnsmasq-quantum.conf</filename>. Then add the following values to lower the MTU size on instances and prevent packet fragmentation over the GRE tunnel</para>
|
||||
<para>If you are using the Neutron DHCP agent, add the following to
|
||||
<filename>/etc/neutron/dhcp_agent.ini</filename></para>
|
||||
<screen><computeroutput>dnsmasq_config_file=/etc/neutron/dnsmasq-neutron.conf</computeroutput></screen>
|
||||
<para>And create <filename>/etc/neutron/dnsmasq-neutron.conf</filename>. Then add the following
|
||||
values to lower the MTU size on instances and prevent packet fragmentation over
|
||||
the GRE tunnel</para>
|
||||
<screen><computeroutput>dhcp-option-force=26,1400</computeroutput></screen>
|
||||
<para>After performing that change on the node running
|
||||
quantum-server, restart quantum-server to pick up
|
||||
the new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-server restart</userinput></screen>
|
||||
<para>After performing that change on the node running neutron-server, restart
|
||||
neutron-server to pick up the new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-server restart</userinput></screen>
|
||||
</section>
|
||||
<section xml:id="nvp_plugin">
|
||||
<title>Plugin Configuration: Nicira NVP Plugin</title>
|
||||
<para> Make sure the NVP plugin is installed using:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install quantum-plugin-nicira</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install neutron-plugin-nicira</userinput></screen>
|
||||
|
||||
<para>To configure OpenStack Networking to use the NVP plugin first
|
||||
edit
|
||||
<filename>/etc/quantum/quantum.conf</filename>
|
||||
<filename>/etc/neutron/neutron.conf</filename>
|
||||
and set:</para>
|
||||
<screen><computeroutput>core_plugin = quantum.plugins.nicira.QuantumPlugin.NvpPluginV2</computeroutput></screen>
|
||||
<screen><computeroutput>core_plugin = neutron.plugins.nicira.NeutronPlugin.NvpPluginV2</computeroutput></screen>
|
||||
<para>Edit
|
||||
<filename>/etc/quantum/plugins/nicira/nvp.ini</filename>
|
||||
<filename>/etc/neutron/plugins/nicira/nvp.ini</filename>
|
||||
in order to configure the plugin.</para>
|
||||
<para>In the [database] section, specify the quantum database
|
||||
<para>In the [database] section, specify the neutron database
|
||||
created in the previous step using the following line,
|
||||
substituting your database server IP address for localhost
|
||||
if the database is not local:</para>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@localhost/quantum?charset=utf8</computeroutput></screen>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@localhost/neutron?charset=utf8</computeroutput></screen>
|
||||
<para>In order to tell OpenStack Networking about a controller
|
||||
cluster, create a new [cluster:<name>] section in the
|
||||
config file, and add the following entries:</para>
|
||||
|
@ -144,24 +139,23 @@ local_ip=<data-net-IP-address-of-node></computeroutput></screen>
|
|||
</para>
|
||||
<screen><computeroutput>default_l3_gw_service_uuid = <uuid_of_the_gateway_service></computeroutput></screen>
|
||||
<warning>
|
||||
<para> Ubuntu packaging currently does not update the quantum
|
||||
init script to point to the NVP config file. Instead,
|
||||
manually update <filename>/etc/default/quantum-server
|
||||
</filename> to set:</para>
|
||||
<screen><computeroutput>QUANTUM_PLUGIN_CONFIG = /etc/quantum/plugins/nicira/nvp.ini</computeroutput></screen>
|
||||
<para> Ubuntu packaging currently does not update the neutron init script to point
|
||||
to the NVP config file. Instead, manually update
|
||||
<filename>/etc/default/neutron-server </filename> to set:</para>
|
||||
<screen><computeroutput>NEUTRON_PLUGIN_CONFIG = /etc/neutron/plugins/nicira/nvp.ini</computeroutput></screen>
|
||||
</warning>
|
||||
<para>Lastly, restart quantum-server to pick up the
|
||||
<para>Lastly, restart neutron-server to pick up the
|
||||
new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-server restart</userinput></screen>
|
||||
<para>An example quantum.conf file to use with NVP would be:
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-server restart</userinput></screen>
|
||||
<para>An example neutron.conf file to use with NVP would be:
|
||||
</para>
|
||||
<screen><computeroutput>core_plugin = quantum.plugins.nicira.QuantumPlugin.NvpPluginV2
|
||||
<screen><computeroutput>core_plugin = neutron.plugins.nicira.NeutronPlugin.NvpPluginV2
|
||||
rabbit_host = 192.168.203.10
|
||||
allow_overlapping_ips = True
|
||||
</computeroutput></screen>
|
||||
<para>An example nvp.ini file to use with NVP would be:</para>
|
||||
<screen><computeroutput>[database]
|
||||
sql_connection=mysql://root:root@127.0.0.1/quantum
|
||||
sql_connection=mysql://root:root@127.0.0.1/neutron
|
||||
|
||||
[cluster:main]
|
||||
default_tz_uuid = d3afb164-b263-4aaa-a3e4-48e0e09bb33c
|
||||
|
@ -170,83 +164,64 @@ nvp_controller_connection=10.0.0.2:443:admin:admin:30:10:2:2
|
|||
nvp_controller_connection=10.0.0.3:443:admin:admin:30:10:2:2
|
||||
nvp_controller_connection=10.0.0.4:443:admin:admin:30:10:2:2
|
||||
</computeroutput></screen>
|
||||
<note><para>In order to debug nvp.ini configuration issues run the following command: check-nvp-config <path/to/nvp.ini> from the host running quantum-server. This command will test that quantum-server can log into all of the NVP Controllers, SQL server, and that all of the UUID values are correct.</para></note>
|
||||
<note><para>In order to debug nvp.ini configuration issues run the following command: check-nvp-config
|
||||
<path/to/nvp.ini> from the host running neutron-server. This command
|
||||
will test that neutron-server can log into all of the NVP Controllers, SQL
|
||||
server, and that all of the UUID values are correct.</para></note>
|
||||
</section>
|
||||
<section xml:id="bigswitch_floodlight_plugin">
|
||||
<title>Configuring Big Switch, Floodlight REST Proxy Plugin</title>
|
||||
<para>To configure OpenStack Networking to use the REST Proxy plugin first
|
||||
edit
|
||||
<filename>/etc/quantum/quantum.conf</filename>
|
||||
and set:</para>
|
||||
<screen><computeroutput>core_plugin = quantum.plugins.bigswitch.plugin.QuantumRestProxyV2</computeroutput></screen>
|
||||
<para>Edit
|
||||
<filename>/etc/quantum/plugins/bigswitch/restproxy.ini</filename>
|
||||
in order to configure the plugin. The quantum
|
||||
database created previously will be used by
|
||||
setting:</para>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@localhost/restproxy_quantum?charset=utf8</computeroutput></screen>
|
||||
<para>To configure OpenStack Networking to use the REST Proxy plugin first edit
|
||||
<filename>/etc/neutron/neutron.conf</filename> and set:</para>
|
||||
<screen><computeroutput>core_plugin = neutron.plugins.bigswitch.plugin.NeutronRestProxyV2</computeroutput></screen>
|
||||
<para>Edit <filename>/etc/neutron/plugins/bigswitch/restproxy.ini</filename> in
|
||||
order to configure the plugin. The neutron database created previously will be
|
||||
used by setting:</para>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@localhost/restproxy_neutron?charset=utf8</computeroutput></screen>
|
||||
<para>Specify a comma separated list controller_ip:port pairs:</para>
|
||||
<screen><computeroutput>server = <controller-ip>:<port></computeroutput></screen>
|
||||
<para>Lastly, restart quantum-server to pick up the
|
||||
new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-server restart</userinput></screen>
|
||||
<para>Lastly, restart neutron-server to pick up the new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-server restart</userinput></screen>
|
||||
</section>
|
||||
<section xml:id="ryu_plugin">
|
||||
<title>Configuring Ryu Plugin</title>
|
||||
<para>Make sure the ryu plugin is installed using:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install quantum-plugin-ryu</userinput></screen>
|
||||
<para>To configure OpenStack Networking to use the Ryu plugin first
|
||||
edit
|
||||
<filename>/etc/quantum/quantum.conf</filename>
|
||||
and set:</para>
|
||||
<screen><computeroutput>core_plugin = quantum.plugins.ryu.ryu_quantum_plugin.RyuQuantumPluginV2</computeroutput></screen>
|
||||
<para>Edit
|
||||
<filename>/etc/quantum/plugins/ryu/ryu.ini</filename>
|
||||
in order to configure the plugin.
|
||||
In the [database] section, specify the quantum database
|
||||
created in the previous step using the following line,
|
||||
substituting your database server user/password/IP address/port
|
||||
based on your setting:</para>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@<ip-address>:<port>/quantum?charset=utf8</computeroutput></screen>
|
||||
<para>In [ovs] section, set the necessary values for
|
||||
ryu-quantum-agent.
|
||||
openflow_rest_api is used to tell where Ryu is
|
||||
listening for REST API. Substitute ip-address and port-no
|
||||
based on your ryu setup.
|
||||
<literal>ovsdb_interface</literal> is used for Ryu
|
||||
to access ovsdb-server. Substitute eth0 based on your
|
||||
setup. IP address is derived from the interface name. If
|
||||
you want to change those value irrelevant to the interafce
|
||||
name, ovsdb_ip can be specified. If you use non-default
|
||||
port for ovsdb-server, it can be specified by ovsdb_port.
|
||||
tunnel_interface needs to be set to tell what IP address is
|
||||
used for tunneling. (If tunneling isn't used, this value
|
||||
will be ignored.) The IP address is derived from the
|
||||
network interface name. The same configuration file can be used
|
||||
for many compute-node by using network interface name with
|
||||
different IP address.
|
||||
</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install neutron-plugin-ryu</userinput></screen>
|
||||
<para>To configure OpenStack Networking to use the Ryu plugin first edit
|
||||
<filename>/etc/neutron/neutron.conf</filename> and set:</para>
|
||||
<screen><computeroutput>core_plugin = neutron.plugins.ryu.ryu_neutron_plugin.RyuNeutronPluginV2</computeroutput></screen>
|
||||
<para>Edit <filename>/etc/neutron/plugins/ryu/ryu.ini</filename> in order to configure the plugin.
|
||||
In the [database] section, specify the neutron database created in the previous
|
||||
step using the following line, substituting your database server
|
||||
user/password/IP address/port based on your setting:</para>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@<ip-address>:<port>/neutron?charset=utf8</computeroutput></screen>
|
||||
<para>In [ovs] section, set the necessary values for ryu-neutron-agent. openflow_rest_api is used
|
||||
to tell where Ryu is listening for REST API. Substitute ip-address and port-no
|
||||
based on your ryu setup. <literal>ovsdb_interface</literal> is used for Ryu to
|
||||
access ovsdb-server. Substitute eth0 based on your setup. IP address is derived
|
||||
from the interface name. If you want to change those value irrelevant to the
|
||||
interafce name, ovsdb_ip can be specified. If you use non-default port for
|
||||
ovsdb-server, it can be specified by ovsdb_port. tunnel_interface needs to be
|
||||
set to tell what IP address is used for tunneling. (If tunneling isn't used,
|
||||
this value will be ignored.) The IP address is derived from the network
|
||||
interface name. The same configuration file can be used for many compute-node by
|
||||
using network interface name with different IP address. </para>
|
||||
<screen><computeroutput>openflow_rest_api = <ip-address>:<port-no>
|
||||
ovsdb_interface = <eth0>
|
||||
tunnel_interface = <eth0>
|
||||
</computeroutput></screen>
|
||||
<para>Lastly, restart quantum-server to pick up the
|
||||
new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-server restart</userinput></screen>
|
||||
<para>Lastly, restart neutron-server to pick up the new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-server restart</userinput></screen>
|
||||
</section>
|
||||
<section xml:id="PLUMgridplugin">
|
||||
<title>Configuring PLUMgrid Plugin</title>
|
||||
<para>To configure OpenStack Networking to use the
|
||||
PLUMgrid plugin first edit
|
||||
<filename>/etc/quantum/quantum.conf</filename>
|
||||
and set:</para>
|
||||
<screen><computeroutput>core_plugin = quantum.plugins.plumgrid.plumgrid_nos_plugin.plumgrid_plugin.QuantumPluginPLUMgridV2</computeroutput></screen>
|
||||
<para>Edit
|
||||
<filename>/etc/quantum/plugins/plumgrid/plumgrid.ini</filename>
|
||||
in order to configure the plugin. The quantum
|
||||
database created previously will be used by
|
||||
<para>To configure OpenStack Networking to use the PLUMgrid plugin first edit
|
||||
<filename>/etc/neutron/neutron.conf</filename> and set:</para>
|
||||
<screen><computeroutput>core_plugin = neutron.plugins.plumgrid.plumgrid_nos_plugin.plumgrid_plugin.NeutronPluginPLUMgridV2</computeroutput></screen>
|
||||
<para>Edit <filename>/etc/neutron/plugins/plumgrid/plumgrid.ini</filename> in order
|
||||
to configure the plugin. The neutron database created previously will be used by
|
||||
setting:</para>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@localhost/plumgrid_quantum?charset=utf8</computeroutput></screen>
|
||||
<screen><computeroutput>sql_connection = mysql://<user>:<password>@localhost/plumgrid_neutron?charset=utf8</computeroutput></screen>
|
||||
<para>Under the [plumgridnos] section specify the IP
|
||||
address of the PLUMgrid director also
|
||||
known as NOS. Behind the director information
|
||||
|
@ -255,56 +230,47 @@ tunnel_interface = <eth0>
|
|||
<screen><computeroutput>servers=<plumgrid_NOS_IP>
|
||||
username=<username>
|
||||
password=<password></computeroutput></screen>
|
||||
<para>Lastly, restart quantum-server to pick up the
|
||||
new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-server restart</userinput></screen>
|
||||
<para>Lastly, restart neutron-server to pick up the new settings.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-server restart</userinput></screen>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="install_quantum_agent">
|
||||
<section xml:id="install_neutron_agent">
|
||||
<title>Install Software on Data Forwarding Nodes</title>
|
||||
<para>Plugins commonly have requirements for particular software
|
||||
that must be run on each node that handles data packets. This
|
||||
includes any node running nova-compute, as well as nodes
|
||||
running dedicated OpenStack Networking service agents like
|
||||
quantum-dhcp-agent, quantum-l3-agent, quantum-lbaas-agent,
|
||||
etc (see below for more information about
|
||||
individual services agents).</para>
|
||||
<para>Plugins commonly have requirements for particular software that must be run on
|
||||
each node that handles data packets. This includes any node running nova-compute, as
|
||||
well as nodes running dedicated OpenStack Networking service agents like
|
||||
neutron-dhcp-agent, neutron-l3-agent, neutron-lbaas-agent, etc (see below for more
|
||||
information about individual services agents).</para>
|
||||
<para>Commonly, any data forwarding node should have a network
|
||||
interface with an IP address on the “management
|
||||
network” and another interface on the “data network”. </para>
|
||||
<para>In this section, we describe the requirements
|
||||
for particular plugins, which may include the installation of
|
||||
switching software (e.g., Open vSwitch) as well as agents
|
||||
used to communicate with the quantum-server process
|
||||
running elsewhere in the data center.</para>
|
||||
<section xml:id="install_quantum_agent_ovs">
|
||||
<para>In this section, we describe the requirements for particular plugins, which may
|
||||
include the installation of switching software (e.g., Open vSwitch) as well as
|
||||
agents used to communicate with the neutron-server process running elsewhere in the
|
||||
data center.</para>
|
||||
<section xml:id="install_neutron_agent_ovs">
|
||||
<title>Node Setup: OVS Plugin</title>
|
||||
<para>The Open vSwitch plugin requires Open vSwitch as well
|
||||
as the quantum-plugin-openvswitch-agent agent
|
||||
to be installed on each Data Forwarding Node.</para>
|
||||
<para>The Open vSwitch plugin requires Open vSwitch as well as the
|
||||
neutron-plugin-openvswitch-agent agent to be installed on each Data Forwarding
|
||||
Node.</para>
|
||||
<para>Install the OVS agent agent package, will pull in the
|
||||
Open vSwitch software as a dependency: </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install quantum-plugin-openvswitch-agent</userinput></screen>
|
||||
<para>The ovs_quantum_plugin.ini created in the above
|
||||
step must be replicated on all nodes
|
||||
quantum-plugin-openvswitch-agent. When using
|
||||
tunneling, each node running
|
||||
quantum-plugin-openvswitch agent should have an IP
|
||||
address configured on the Data Network, and that
|
||||
IP address should be specified using the local_ip
|
||||
value in the ovs_quantum_plugin.ini file. </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install neutron-plugin-openvswitch-agent</userinput></screen>
|
||||
<para>The ovs_neutron_plugin.ini created in the above step must be replicated on all
|
||||
nodes neutron-plugin-openvswitch-agent. When using tunneling, each node running
|
||||
neutron-plugin-openvswitch agent should have an IP address configured on the
|
||||
Data Network, and that IP address should be specified using the local_ip value
|
||||
in the ovs_neutron_plugin.ini file. </para>
|
||||
<para>Then restart Open vSwitch to properly load the kernel
|
||||
module:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service openvswitch-switch restart</userinput></screen>
|
||||
<para>And restart the agent:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-plugin-openvswitch-agent restart</userinput></screen>
|
||||
<para>All hosts running
|
||||
quantum-plugin-openvswitch-agent also requires
|
||||
that an OVS bridge named "br-int" exists. To
|
||||
create it, run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-plugin-openvswitch-agent restart</userinput></screen>
|
||||
<para>All hosts running neutron-plugin-openvswitch-agent also requires that an OVS
|
||||
bridge named "br-int" exists. To create it, run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo ovs-vsctl add-br br-int</userinput></screen>
|
||||
</section>
|
||||
<section xml:id="install_quantum_agent_nvp">
|
||||
<section xml:id="install_neutron_agent_nvp">
|
||||
<title>Node Setup: Nicira NVP Plugin</title>
|
||||
<para>The Nicira NVP plugin requires a version of Open vSwitch to be installed on each data forwarding node, but
|
||||
does not require an additional agent on data forwarding nodes.</para>
|
||||
|
@ -314,47 +280,46 @@ password=<password></computeroutput></screen>
|
|||
support portal for your version of the NVP Controller.</para></warning>
|
||||
<para>Each data forwarding node should have an IP address on the "management network", as well as an IP address
|
||||
on the "data network" used for tunneling data traffic.</para>
|
||||
<para>For full details on configuring your forwarding node, please see the NVP Administrator Guide. Next, use
|
||||
the same guide to add the node as a "Hypervisor" using the NVP Manager GUI (Note: even if your forwarding node
|
||||
has no VMs and is only used for services agents like quantum-dhcp-agent or quantum-lbaas-agent, it should be
|
||||
added to NVP as a Hypervisor).</para>
|
||||
<para>For full details on configuring your forwarding node, please see the NVP
|
||||
Administrator Guide. Next, use the same guide to add the node as a "Hypervisor"
|
||||
using the NVP Manager GUI (Note: even if your forwarding node has no VMs and is
|
||||
only used for services agents like neutron-dhcp-agent or neutron-lbaas-agent, it
|
||||
should be added to NVP as a Hypervisor).</para>
|
||||
<para>After following the NVP Administrator Guide, use the page for this Hypervisor in the NVP Manager GUI
|
||||
to confirm that the node is properly connected to the NVP
|
||||
Controller Cluster and that the NVP Controller Cluster is seeing the integration bridge "br-int".</para>
|
||||
</section>
|
||||
<section xml:id="install_quantum_agent_ryu">
|
||||
<section xml:id="install_neutron_agent_ryu">
|
||||
<title>Node Setup: Ryu Plugin</title>
|
||||
<para>The Ryu plugin requires Open vSwitch and ryu. Please install ryu and openvswitch
|
||||
in addition to ryu agent package.</para>
|
||||
<para>Install ryu. There isn't ryu package for ubuntu yet.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo pip install ryu</userinput></screen>
|
||||
<para>Install the Ryu agent package and openvswitch package: </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install quantum-plugin-ryu-agent openvswitch-switch python-openvswitch openvswitch-datapath-dkms</userinput></screen>
|
||||
<para>The ovs_ryu_plugin.ini and quantum.conf created in the above
|
||||
step must be replicated on all nodes
|
||||
quantum-plugin-ryu-agent. </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install neutron-plugin-ryu-agent openvswitch-switch python-openvswitch openvswitch-datapath-dkms</userinput></screen>
|
||||
<para>The ovs_ryu_plugin.ini and neutron.conf created in the above step must be
|
||||
replicated on all nodes neutron-plugin-ryu-agent. </para>
|
||||
<para>Then restart Open vSwitch to properly load the kernel
|
||||
module:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service openvswitch-switch restart</userinput></screen>
|
||||
<para>And restart the agent:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-plugin-ryu-agent restart</userinput></screen>
|
||||
<para>All hosts running
|
||||
quantum-plugin-ryu-agent also requires
|
||||
that an OVS bridge named "br-int" exists. To
|
||||
create it, run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-plugin-ryu-agent restart</userinput></screen>
|
||||
<para>All hosts running neutron-plugin-ryu-agent also requires that an OVS bridge
|
||||
named "br-int" exists. To create it, run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo ovs-vsctl add-br br-int</userinput></screen>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="install_quantum_dhcp">
|
||||
<section xml:id="install_neutron_dhcp">
|
||||
<title>Install DHCP Agent</title>
|
||||
<para>The DHCP service agent is compatible with all existing plugins and is required for all deployments
|
||||
where VMs should automatically receive IP addresses via DHCP.</para>
|
||||
<para>The host running the quantum-dhcp-agent must be configured as a "data forwarding node" according to your
|
||||
plugin's requirements (see section above).</para>
|
||||
<para>The host running the neutron-dhcp-agent must be configured as a "data forwarding
|
||||
node" according to your plugin's requirements (see section above).</para>
|
||||
<para>In addition, you must install the DHCP agent:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install quantum-dhcp-agent</userinput></screen>
|
||||
<para>Some options in <filename>/etc/quantum/dhcp_agent.ini</filename> must have certain values that
|
||||
depend on the plugin in use. The sub-sections below will indicate those values for certain plugins.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install neutron-dhcp-agent</userinput></screen>
|
||||
<para>Some options in <filename>/etc/neutron/dhcp_agent.ini</filename> must have certain
|
||||
values that depend on the plugin in use. The sub-sections below will indicate those
|
||||
values for certain plugins.</para>
|
||||
<note><para>Please note that the agent requires at least dnsmasq 2.59 to fully support all the
|
||||
options it requires.</para></note>
|
||||
<section xml:id="dhcp_agent_ovs">
|
||||
|
@ -365,7 +330,7 @@ password=<password></computeroutput></screen>
|
|||
ovs_use_veth = True
|
||||
enable_isolated_metadata = True
|
||||
use_namespaces = True
|
||||
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
||||
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
|
||||
</computeroutput></screen>
|
||||
</section>
|
||||
<section xml:id="dhcp_agent_nvp">
|
||||
|
@ -377,7 +342,7 @@ ovs_use_veth = True
|
|||
enable_metadata_network = True
|
||||
enable_isolated_metadata = True
|
||||
use_namespaces = True
|
||||
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
||||
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
|
||||
</computeroutput></screen>
|
||||
</section>
|
||||
<section xml:id="dhcp_agent_ryu">
|
||||
|
@ -387,11 +352,11 @@ interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
|||
[DEFAULT]
|
||||
ovs_use_veth = True
|
||||
use_namespace = True
|
||||
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
||||
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
|
||||
</computeroutput></screen>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="install_quantum-l3">
|
||||
<section xml:id="install_neutron-l3">
|
||||
<title>Install L3 Agent</title>
|
||||
<para>Neutron has a widely used API extension to allow administrators and tenants to
|
||||
create "routers" that connect to L2 networks.</para>
|
||||
|
@ -406,7 +371,7 @@ interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
|||
</itemizedlist>
|
||||
</para>
|
||||
<warning>
|
||||
<para> Do NOT configure or use <filename>quantum-l3-agent</filename> if you are using
|
||||
<para> Do NOT configure or use <filename>neutron-l3-agent</filename> if you are using
|
||||
one of the above plugins.</para>
|
||||
</warning>
|
||||
<note><para>The Floodlight/BigSwitch plugin supports both the open source <link
|
||||
|
@ -414,9 +379,9 @@ interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
|||
controller and the proprietary BigSwitch controller. However, only the
|
||||
proprietary BigSwitch controller implements L3 functionality. When using
|
||||
Floodlight as your OpenFlow controller, L3 functionality is not available. </para></note>
|
||||
<para>For all other plugins, install the quantum-l3-agent binary on the network node. </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install quantum-l3-agent</userinput></screen>
|
||||
<para>To uplink the node that runs quantum-l3-agent to the
|
||||
<para>For all other plugins, install the neutron-l3-agent binary on the network node. </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install neutron-l3-agent</userinput></screen>
|
||||
<para>To uplink the node that runs neutron-l3-agent to the
|
||||
external network, create a bridge named "br-ex" and attach
|
||||
the NIC for the external network to this bridge.
|
||||
</para>
|
||||
|
@ -424,63 +389,58 @@ interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
|||
to the external network, run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo ovs-vsctl add-br br-ex</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo ovs-vsctl add-port br-ex eth1</userinput></screen>
|
||||
<para>The node running quantum-l3-agent should not have an
|
||||
IP address manually configured on the NIC connected to
|
||||
the external network. Rather, you must have a range of
|
||||
IP addresses from the external network that can be
|
||||
used by OpenStack Networking for routers that uplink to the
|
||||
external network. This range must be large enough to
|
||||
have an IP address for each router in the deployment,
|
||||
as well as each floating IP.</para>
|
||||
<para> The quantum-l3-agent uses the Linux IP stack and
|
||||
iptables to perform L3 forwarding and NAT. In order to
|
||||
support multiple routers with potentially overlapping
|
||||
IP addresses, quantum-l3-agent defaults to using Linux
|
||||
network namespaces to provide isolated forwarding
|
||||
contexts. As a result, the IP addresses of routers
|
||||
will not be visible simply by running "ip addr list"
|
||||
or "ifconfig" on the node. Similarly, you will not be
|
||||
able to directly ping fixed IPs. To do either of these
|
||||
things, you must run the command within a particular
|
||||
router's network namespace. The namespace will have
|
||||
the name "qrouter-<UUID of the router>. The
|
||||
following commands are examples of running commands in
|
||||
the namespace of a router with UUID
|
||||
47af3868-0fa8-4447-85f6-1304de32153b: </para>
|
||||
<para>The node running neutron-l3-agent should not have an IP address manually
|
||||
configured on the NIC connected to the external network. Rather, you must have a
|
||||
range of IP addresses from the external network that can be used by OpenStack
|
||||
Networking for routers that uplink to the external network. This range must be large
|
||||
enough to have an IP address for each router in the deployment, as well as each
|
||||
floating IP.</para>
|
||||
<para> The neutron-l3-agent uses the Linux IP stack and iptables to perform L3
|
||||
forwarding and NAT. In order to support multiple routers with potentially
|
||||
overlapping IP addresses, neutron-l3-agent defaults to using Linux network
|
||||
namespaces to provide isolated forwarding contexts. As a result, the IP addresses of
|
||||
routers will not be visible simply by running "ip addr list" or "ifconfig" on the
|
||||
node. Similarly, you will not be able to directly ping fixed IPs. To do either of
|
||||
these things, you must run the command within a particular router's network
|
||||
namespace. The namespace will have the name "qrouter-<UUID of the router>. The
|
||||
following commands are examples of running commands in the namespace of a router
|
||||
with UUID 47af3868-0fa8-4447-85f6-1304de32153b: </para>
|
||||
<screen>
|
||||
<computeroutput>ip netns exec qrouter-47af3868-0fa8-4447-85f6-1304de32153b ip addr list
|
||||
ip netns exec qrouter-47af3868-0fa8-4447-85f6-1304de32153b ping <fixed-ip></computeroutput>
|
||||
</screen>
|
||||
</section>
|
||||
<section xml:id="install_quantum-lbaas-agent">
|
||||
<section xml:id="install_neutron-lbaas-agent">
|
||||
<title>Install LBaaS Agent</title>
|
||||
<para>When using the reference implemenation of Load-Balancer-as-a-Service (LBaaS) it requires the quantum-lbaas-agent to be running on the network node.
|
||||
To install this agent run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get install quantum-lbaas-agent</userinput></screen>
|
||||
<para>When using the reference implemenation of Load-Balancer-as-a-Service (LBaaS) it
|
||||
requires the neutron-lbaas-agent to be running on the network node. To install this
|
||||
agent run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get install neutron-lbaas-agent</userinput></screen>
|
||||
<para>If you are using an OVS based plugin (OVS, NVP, Ryu, NEC, BigSwitch/Floodlight) you'll want to set:</para>
|
||||
<screen><computeroutput>interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver</computeroutput></screen>
|
||||
<screen><computeroutput>interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver</computeroutput></screen>
|
||||
<para>Otherwise if you are using a plugin that uses LinuxBridge you'll want to set:</para>
|
||||
<screen><computeroutput>interface_driver = quantum.agent.linux.interface.BridgeInterfaceDriver</computeroutput></screen>
|
||||
<screen><computeroutput>interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver</computeroutput></screen>
|
||||
<para>In order to use the reference implemenation you'll also need to set:</para>
|
||||
<screen><computeroutput>device_driver = quantum.plugins.services.agent_loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver</computeroutput></screen>
|
||||
<para>Lastly, you'll need to make sure that you have the following setting in <filename>quantum.conf</filename> on the host running quantum-server:</para>
|
||||
<screen><computeroutput>service_plugins = quantum.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin</computeroutput></screen>
|
||||
<screen><computeroutput>device_driver = neutron.plugins.services.agent_loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver</computeroutput></screen>
|
||||
<para>Lastly, you'll need to make sure that you have the following setting in
|
||||
<filename>neutron.conf</filename> on the host running neutron-server:</para>
|
||||
<screen><computeroutput>service_plugins = neutron.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin</computeroutput></screen>
|
||||
</section>
|
||||
<section xml:id="install_quantum_client">
|
||||
<section xml:id="install_neutron_client">
|
||||
<title>Install OpenStack Networking CLI Client</title>
|
||||
<para>Install the OpenStack Networking CLI client:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install python-pyparsing python-cliff python-quantumclient</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get -y install python-pyparsing python-cliff python-neutronclient</userinput></screen>
|
||||
</section>
|
||||
<section xml:id="init_config">
|
||||
<title>Init, Config, and Log File Locations</title>
|
||||
<para>Services can be started and stopped using the
|
||||
'service' command. For example:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-server stop</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-server status</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-server start</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-server restart</userinput></screen>
|
||||
<para> Log files are found in /var/log/quantum. </para>
|
||||
<para> Configuration files are in /etc/quantum.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-server stop</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-server status</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-server start</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-server restart</userinput></screen>
|
||||
<para> Log files are found in /var/log/neutron. </para>
|
||||
<para> Configuration files are in /etc/neutron.</para>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
|
@ -493,11 +453,9 @@ ip netns exec qrouter-47af3868-0fa8-4447-85f6-1304de32153b ping <fixed-ip>
|
|||
>https://fedoraproject.org/wiki/OpenStack</link></para>
|
||||
<section xml:id="fedora_rpc_setup">
|
||||
<title xml:id="qpid_rpc_setup">RPC Setup </title>
|
||||
<para>OpenStack Networking uses RPC to allow DHCP agents and any plugin
|
||||
agents to communicate with the main quantum-server
|
||||
process. Commonly, this can use the same RPC
|
||||
mechanism used by other OpenStack components like
|
||||
Nova.</para>
|
||||
<para>OpenStack Networking uses RPC to allow DHCP agents and any plugin agents to
|
||||
communicate with the main neutron-server process. Commonly, this can use the same
|
||||
RPC mechanism used by other OpenStack components like Nova.</para>
|
||||
<para>To use QPID AMQP as the message bus for RPC, make
|
||||
sure that QPID is installed on a host reachable via
|
||||
the management network (if this is already the case
|
||||
|
@ -506,9 +464,8 @@ ip netns exec qrouter-47af3868-0fa8-4447-85f6-1304de32153b ping <fixed-ip>
|
|||
<screen><prompt>$</prompt> <userinput>sudo yum -y install qpid-cpp-server qpid-cpp-server-daemon</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo chkconfig qpidd on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service qpidd start</userinput></screen>
|
||||
<para>Then update /etc/quantum/quantum.conf with these
|
||||
values: </para>
|
||||
<screen><computeroutput>rpc_backend = quantum.openstack.common.rpc.impl_qpid
|
||||
<para>Then update /etc/neutron/neutron.conf with these values: </para>
|
||||
<screen><computeroutput>rpc_backend = neutron.openstack.common.rpc.impl_qpid
|
||||
qpid_hostname = <mgmt-IP-of-qpid-host></computeroutput></screen>
|
||||
<important>
|
||||
<para>The Fedora packaging has a number of utility
|
||||
|
@ -525,111 +482,101 @@ qpid_hostname = <mgmt-IP-of-qpid-host></computeroutput></screen>
|
|||
</important>
|
||||
</section>
|
||||
<section xml:id="fedora_q_server">
|
||||
<title>Install quantum-server and plugin </title>
|
||||
<para>Install quantum-server and plugin. <emphasis role="bold">Note</emphasis> the
|
||||
<title>Install neutron-server and plugin </title>
|
||||
<para>Install neutron-server and plugin. <emphasis role="bold">Note</emphasis> the
|
||||
client is installed as a dependency for the OpenStack Networking service. Each
|
||||
plugin has its own package, named openstack-quantum-<plugin>. openvswitch will be
|
||||
plugin has its own package, named openstack-neutron-<plugin>. openvswitch will be
|
||||
used in the examples below. A complete list of the supported plugins can be seen at:
|
||||
<link
|
||||
xlink:href="https://fedoraproject.org/wiki/Quantum#Quantum_Plugins"
|
||||
>https://fedoraproject.org/wiki/Quantum#Quantum_Plugins</link>.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y openstack-quantum</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo yum install -y openstack-quantum-openvswitch</userinput></screen>
|
||||
<link xlink:href="https://fedoraproject.org/wiki/Neutron#Neutron_Plugins"
|
||||
>https://fedoraproject.org/wiki/Neutron#Neutron_Plugins</link>.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y openstack-neutron</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo yum install -y openstack-neutron-openvswitch</userinput></screen>
|
||||
<para>Most plugins require a database to be installed and
|
||||
configured in a plugin configuration file. The Fedora
|
||||
packaging for OpenStack Networking a server setup utility scripts
|
||||
that will take care of this. For example: </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo quantum-server-setup --plugin openvswitch</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo neutron-server-setup --plugin openvswitch</userinput></screen>
|
||||
<para>Enable and start the service:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig quantum-server on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-server start</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig neutron-server on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-server start</userinput></screen>
|
||||
</section>
|
||||
<section xml:id="fedora_q_plugin">
|
||||
<title>Install quantum-plugin-*-agent</title>
|
||||
<para>Some plugins utilize an agent that runs on each node
|
||||
that handles data packets. This includes any node
|
||||
running nova-compute, as well as nodes running
|
||||
dedicated OpenStack Networking agents like quantum-dhcp-agent and
|
||||
quantum-l3-agent (see below). If your plugin uses an
|
||||
agent, this section describes how to run the agent for
|
||||
this plugin, as well as the basic configuration
|
||||
options.</para>
|
||||
<title>Install neutron-plugin-*-agent</title>
|
||||
<para>Some plugins utilize an agent that runs on each node that handles data packets.
|
||||
This includes any node running nova-compute, as well as nodes running dedicated
|
||||
OpenStack Networking agents like neutron-dhcp-agent and neutron-l3-agent (see
|
||||
below). If your plugin uses an agent, this section describes how to run the agent
|
||||
for this plugin, as well as the basic configuration options.</para>
|
||||
<section xml:id="fedora_q_agent">
|
||||
<title>Open vSwitch Agent</title>
|
||||
<para>Install the OVS agent: </para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y openstack-quantum-openvswitch</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y openstack-neutron-openvswitch</userinput></screen>
|
||||
<para>Run the agent setup script:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo quantum-node-setup --plugin openvswitch</userinput></screen>
|
||||
<para>All hosts running quantum-plugin-openvswitch-agent also requires that an OVS
|
||||
<screen><prompt>$</prompt> <userinput>sudo neutron-node-setup --plugin openvswitch</userinput></screen>
|
||||
<para>All hosts running neutron-plugin-openvswitch-agent also requires that an OVS
|
||||
bridge named "br-int" exists. To create it, run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo ovs-vsctl add-br br-int</userinput></screen>
|
||||
<para>Enable and start the agent:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig quantum-openvswitch-agent on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-openvswitch-agent start</userinput>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig neutron-openvswitch-agent on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-openvswitch-agent start</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo chkconfig openvswitch on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service openvswitch start</userinput></screen>
|
||||
<para>Enable the ovs cleanup utility:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig quantum-ovs-cleanup on</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig neutron-ovs-cleanup on</userinput></screen>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="fedora_q_dhcp">
|
||||
<title>Install quantum-dhcp-agent</title>
|
||||
<para>The DHCP agent is part of the openstack-quantum
|
||||
package.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y openstack-quantum</userinput></screen>
|
||||
<title>Install neutron-dhcp-agent</title>
|
||||
<para>The DHCP agent is part of the openstack-neutron package.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y openstack-neutron</userinput></screen>
|
||||
<para>Run the agent setup script:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo quantum-dhcp-setup --plugin openvswitch</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo neutron-dhcp-setup --plugin openvswitch</userinput></screen>
|
||||
<para>Enable and start the agent:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig quantum-dhcp-agent on</userinput>
|
||||
<userinput>sudo service quantum-dhcp-agent start</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig neutron-dhcp-agent on</userinput>
|
||||
<userinput>sudo service neutron-dhcp-agent start</userinput></screen>
|
||||
<note><para>Please note that the agent requires at least dnsmasq 2.59 to fully support all the
|
||||
options it requires.</para></note>
|
||||
</section>
|
||||
<section xml:id="fedora_q_l3">
|
||||
<title>Install quantum-l3-agent </title>
|
||||
<para>The L3 agent is part of the openstack-quantum
|
||||
package.</para>
|
||||
<para>Create a bridge "br-ex" that will be used to uplink
|
||||
this node running quantum-l3-agent to the external
|
||||
network, then attach the NIC attached to the external
|
||||
network to this bridge. For example, with Open vSwitch
|
||||
and NIC eth1 connect to the external network,
|
||||
run:</para>
|
||||
<title>Install neutron-l3-agent </title>
|
||||
<para>The L3 agent is part of the openstack-neutron package.</para>
|
||||
<para>Create a bridge "br-ex" that will be used to uplink this node running
|
||||
neutron-l3-agent to the external network, then attach the NIC attached to the
|
||||
external network to this bridge. For example, with Open vSwitch and NIC eth1 connect
|
||||
to the external network, run:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo ovs-vsctl add-br br-ex</userinput>
|
||||
<userinput>sudo ovs-vsctl add-port br-ex eth1</userinput></screen>
|
||||
<para>The node running quantum-l3-agent should not have an
|
||||
IP address manually configured on the NIC connected to
|
||||
the external network. Rather, you must have a range of
|
||||
IP addresses from the external network that can be
|
||||
used by OpenStack Networking for routers that uplink to the
|
||||
external network. This range must be large enough to
|
||||
have an IP address for each router in the deployment,
|
||||
as well as each floating IP.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y openstack-quantum</userinput></screen>
|
||||
<para>The node running neutron-l3-agent should not have an IP address manually
|
||||
configured on the NIC connected to the external network. Rather, you must have a
|
||||
range of IP addresses from the external network that can be used by OpenStack
|
||||
Networking for routers that uplink to the external network. This range must be large
|
||||
enough to have an IP address for each router in the deployment, as well as each
|
||||
floating IP.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y openstack-neutron</userinput></screen>
|
||||
<para>Run the agent setup script:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo quantum-l3-setup --plugin openvswitch</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo neutron-l3-setup --plugin openvswitch</userinput></screen>
|
||||
<para>Enable and start the agent:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig enable quantum-l3-agent on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo start start quantum-l3-agent</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig enable neutron-l3-agent on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo start start neutron-l3-agent</userinput></screen>
|
||||
<para>Enable and start the meta data agent:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig quantum-metadata-agent on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-metadata-agent start</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo chkconfig neutron-metadata-agent on</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-metadata-agent start</userinput></screen>
|
||||
</section>
|
||||
<section xml:id="fedora_q_client">
|
||||
<title>Install OpenStack Networking CLI client</title>
|
||||
<para>Install the OpenStack Networking CLI client:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y python-quantumclient</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>sudo yum install -y python-neutronclient</userinput></screen>
|
||||
</section>
|
||||
<section xml:id="fedora_misc">
|
||||
<title>Init, Config, and Log File Locations</title>
|
||||
<para>Services can be started and stopped using the
|
||||
'service' command. For example:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service quantum-server stop</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-server status</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-server start</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service quantum-server restart</userinput></screen>
|
||||
<para>Log files are found in /var/log/quantum. </para>
|
||||
<para>Configuration files are in /etc/quantum.</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo service neutron-server stop</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-server status</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-server start</userinput>
|
||||
<prompt>$</prompt> <userinput>sudo service neutron-server restart</userinput></screen>
|
||||
<para>Log files are found in /var/log/neutron. </para>
|
||||
<para>Configuration files are in /etc/neutron.</para>
|
||||
</section>
|
||||
</section>
|
||||
</chapter>
|
||||
|
|
|
@ -20,15 +20,11 @@
|
|||
in nova-network.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><emphasis>Linux network namespace required on
|
||||
nodes running quantum-l3-agent or
|
||||
quantum-dhcp-agent if overlapping IPs are in use: </emphasis>.
|
||||
In order to
|
||||
support overlapping IP addresses, the OpenStack
|
||||
Networking DHCP and L3 agents use Linux network
|
||||
namespaces by default. The hosts running these
|
||||
processes must support network namespaces. To
|
||||
support network namespaces, the following are
|
||||
<para><emphasis>Linux network namespace required on nodes running neutron-l3-agent
|
||||
or neutron-dhcp-agent if overlapping IPs are in use: </emphasis>. In order
|
||||
to support overlapping IP addresses, the OpenStack Networking DHCP and L3 agents
|
||||
use Linux network namespaces by default. The hosts running these processes must
|
||||
support network namespaces. To support network namespaces, the following are
|
||||
required:</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
|
@ -49,16 +45,16 @@ ip netns exec test-ns ifconfig</computeroutput></screen>
|
|||
Ubuntu 12.04 or later support namespaces as does Fedora 17 and new, but some
|
||||
older RHEL platforms do not by default. It may be possible to upgrade the
|
||||
iproute2 package on a platform that does not support namespaces by default. </para>
|
||||
<para> If you need to disable namespaces, make sure
|
||||
the <filename>quantum.conf</filename> used by
|
||||
quantum-server has the following setting:</para>
|
||||
<para> If you need to disable namespaces, make sure the
|
||||
<filename>neutron.conf</filename> used by neutron-server has the following
|
||||
setting:</para>
|
||||
<screen><computeroutput>allow_overlapping_ips=False</computeroutput></screen>
|
||||
<para>and that the dhcp_agent.ini and l3_agent.ini have the following
|
||||
setting:</para>
|
||||
<screen><computeroutput>use_namespaces=False</computeroutput></screen>
|
||||
<note><para> If the host does not support namespaces then the <systemitem class="service"
|
||||
>quantum-l3-agent</systemitem> and <systemitem class="service"
|
||||
>quantum-dhcp-agent</systemitem> should be run on different hosts. This
|
||||
>neutron-l3-agent</systemitem> and <systemitem class="service"
|
||||
>neutron-dhcp-agent</systemitem> should be run on different hosts. This
|
||||
is due to the fact that there is no isolation between the IP addresses
|
||||
created by the L3 agent and by the DHCP agent. By manipulating the routing
|
||||
the user can ensure that these networks have access to one another.</para></note>
|
||||
|
@ -68,14 +64,14 @@ ip netns exec test-ns ifconfig</computeroutput></screen>
|
|||
</listitem>
|
||||
</itemizedlist>
|
||||
<itemizedlist><listitem>
|
||||
<para><emphasis>No IPv6 support for L3 agent:</emphasis> The quantum-l3-agent, used
|
||||
by many plugins to implement L3 forwarding,
|
||||
supports only IPv4 forwarding. Currently, There are no errors provided if you
|
||||
configure IPv6 addresses via the API.</para>
|
||||
<para><emphasis>No IPv6 support for L3 agent:</emphasis> The neutron-l3-agent, used
|
||||
by many plugins to implement L3 forwarding, supports only IPv4 forwarding.
|
||||
Currently, There are no errors provided if you configure IPv6 addresses via the
|
||||
API.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><emphasis>ZeroMQ support is experimental</emphasis>: Some agents, including
|
||||
quantum-dhcp-agent, quantum-openvswitch-agent, and quantum-linuxbridge-agent use
|
||||
neutron-dhcp-agent, neutron-openvswitch-agent, and neutron-linuxbridge-agent use
|
||||
RPC to communicate. ZeroMQ is an available option in the configuration file, but
|
||||
has not been tested and should be considered experimental. In particular, there
|
||||
are believed to be issues with ZeroMQ and the dhcp agent. </para>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><emphasis role="bold">Cisco Plugin</emphasis>.
|
||||
<para><emphasis role="bold">Cisco</emphasis>.
|
||||
<link
|
||||
xlink:href="http://wiki.openstack.org/cisco-quantum"
|
||||
>http://wiki.openstack.org/cisco-quantum</link>
|
||||
xlink:href="http://wiki.openstack.org/cisco-neutron"
|
||||
>http://wiki.openstack.org/cisco-neutron</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -141,7 +141,7 @@
|
|||
Documentation included in this guide and at
|
||||
<link
|
||||
xlink:href="http://wiki.openstack.org/Quantum-Linux-Bridge-Plugin"
|
||||
>http://wiki.openstack.org/Quantum-Linux-Bridge-Plugin</link>
|
||||
>http://wiki.openstack.org/Neutron-Linux-Bridge-Plugin</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
|
|
@ -8,11 +8,12 @@
|
|||
Networking abstractions.</para>
|
||||
<simplesect>
|
||||
<title>Configuration</title>
|
||||
<para>This example uses VLAN isolation on the switches to isolate tenant networks. This configuration labels the physical
|
||||
network associated with the public network as <literal>physnet1</literal>, and the
|
||||
physical network associated with the data network as <literal>physnet2</literal>,
|
||||
which leads to the following configuration options in
|
||||
<filename>ovs_quantum_plugin.ini</filename>:<programlisting>[ovs]
|
||||
<para>This example uses VLAN isolation on the switches to isolate tenant networks. This
|
||||
configuration labels the physical network associated with the public network as
|
||||
<literal>physnet1</literal>, and the physical network associated with the data
|
||||
network as <literal>physnet2</literal>, which leads to the following configuration
|
||||
options in
|
||||
<filename>ovs_neutron_plugin.ini</filename>:<programlisting>[ovs]
|
||||
tenant_network_type = vlan
|
||||
network_vlan_ranges = physnet2:100:110
|
||||
integration_bridge = br-int
|
||||
|
@ -35,32 +36,32 @@ bridge_mappings = physnet2:br-eth1</programlisting></para>
|
|||
<para>Under the <literal>service</literal> tenant, create the shared router, define the
|
||||
public network, and set it as the default gateway of the
|
||||
router<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/service/ {print $2}')</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-create router01</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant public01 \
|
||||
<prompt>$</prompt> <userinput>neutron router-create router01</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant public01 \
|
||||
--provider:network_type flat \
|
||||
--provider:physical_network physnet1 \
|
||||
--router:external=True</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name public01_subnet01 \
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name public01_subnet01 \
|
||||
--gateway 10.64.201.254 public01 10.64.201.0/24 --enable_dhcp False</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-gateway-set router01 public01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron router-gateway-set router01 public01</userinput></screen></para>
|
||||
<para>Under the <literal>demo</literal> user tenant, create the private network
|
||||
<literal>net01</literal> and corresponding subnet, and connect it to the
|
||||
<literal>router01</literal> router. Configure it to use VLAN ID 101 on the
|
||||
physical
|
||||
switch.<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list|awk '/demo/ {print $2}'</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant net01 \
|
||||
<prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant net01 \
|
||||
--provider:network_type vlan \
|
||||
--provider:physical_network physnet2 \
|
||||
--provider:segmentation_id 101</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name net01_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-interface-add router01 net01_subnet01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name net01_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router01 net01_subnet01</userinput></screen></para>
|
||||
<para>Similarly, for <literal>net02</literal>, using VLAN ID 102 on the physical
|
||||
switch:<screen><prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant net02 \
|
||||
switch:<screen><prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant net02 \
|
||||
--provider:network_type vlan \
|
||||
--provider:physical_network physnet2 \
|
||||
--provider:segmentation_id 102</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name net02_subnet01 net02 192.168.102.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-interface-add router01 net02_subnet01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name net02_subnet01 net02 192.168.102.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router01 net02_subnet01</userinput></screen></para>
|
||||
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
|
@ -150,18 +151,17 @@ bridge_mappings = physnet2:br-eth1</programlisting></para>
|
|||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Scenario 1: Network host config</title>
|
||||
<para>Recall that the network host runs the quantum-openvswitch-plugin-agent, the
|
||||
quantum-dhcp-agent, quantum-l3-agent, and quantum-metadata-agent services.</para>
|
||||
<para>Recall that the network host runs the neutron-openvswitch-plugin-agent, the
|
||||
neutron-dhcp-agent, neutron-l3-agent, and neutron-metadata-agent services.</para>
|
||||
<para>On the network host, assume that eth0 is connected to the external network, and
|
||||
eth1 is connected it to the data network, which leads to the following configuration
|
||||
options in
|
||||
<filename>ovs_quantum_plugin.ini</filename>:<programlisting>[ovs]
|
||||
<filename>ovs_neutron_plugin.ini</filename>:<programlisting>[ovs]
|
||||
tenant_network_type = vlan
|
||||
network_vlan_ranges = physnet2:101:110
|
||||
integration_bridge = br-int
|
||||
bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
|
||||
The
|
||||
following figure shows the network devices on the network host:</para>
|
||||
The following figure shows the network devices on the network host:</para>
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="figures/under-the-hood-scenario-1-ovs-network.png" contentwidth="6in"/>
|
||||
|
@ -170,7 +170,7 @@ bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
|
|||
<para>As on the compute host, there is an Open vSwitch integration bridge
|
||||
(<literal>br-int</literal>) and an Open vSwitch bridge connected to the data
|
||||
network (<literal>br-eth1</literal>), and the two are connected by a veth pair, and
|
||||
the quantum-openvswitch-plugin-agent configures the ports on both switches to do
|
||||
the neutron-openvswitch-plugin-agent configures the ports on both switches to do
|
||||
VLAN translation.</para>
|
||||
<para>There is also an additional Open vSwitch bridge, <literal>br-ex</literal>, which
|
||||
connects to the physical interface that is connected to the external network. In
|
||||
|
@ -288,36 +288,36 @@ bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
|
|||
</mediaobject>
|
||||
<para>Under the <literal>service</literal> tenant, define the public
|
||||
network:<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/service/ {print $2}')</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant public01 \
|
||||
<prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant public01 \
|
||||
--provider:network_type flat \
|
||||
--provider:physical_network physnet1 \
|
||||
--router:external=True</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name public01_subnet01 \
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name public01_subnet01 \
|
||||
--gateway 10.64.201.254 public01 10.64.201.0/24 --enable_dhcp False</userinput></screen></para>
|
||||
<para>Under the <literal>tenantA</literal> user tenant, create the tenant router and set
|
||||
its gateway for the public
|
||||
network.<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list|awk '/tenantA/ {print $2}')</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-create --tenant-id $tenant router01</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-gateway-set router01 public01</userinput></screen>
|
||||
<prompt>$</prompt> <userinput>neutron router-create --tenant-id $tenant router01</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-gateway-set router01 public01</userinput></screen>
|
||||
Then, define private network <literal>net01</literal> using VLAN ID 102 on the
|
||||
physical switch, along with its subnet, and connect it to the router.
|
||||
<screen><prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant net01 \
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant net01 \
|
||||
--provider:network_type vlan \
|
||||
--provider:physical_network physnet2 \
|
||||
--provider:segmentation_id 101</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name net01_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-interface-add router01 net01_subnet01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name net01_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router01 net01_subnet01</userinput></screen></para>
|
||||
<para>Similarly, for <literal>tenantB</literal>, create a router and another network,
|
||||
using VLAN ID 102 on the physical
|
||||
switch:<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list|awk '/tenantB/ {print $2}')</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-create --tenant-id $tenant router02</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-gateway-set router02 public01</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant net02 \
|
||||
<prompt>$</prompt> <userinput>neutron router-create --tenant-id $tenant router02</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-gateway-set router02 public01</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant net02 \
|
||||
--provider:network_type vlan \
|
||||
--provider:physical_network physnet2 \
|
||||
--provider:segmentation_id 102</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name net02_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-interface-add router02 net02_subnet01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name net02_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router02 net02_subnet01</userinput></screen></para>
|
||||
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
|
@ -396,32 +396,32 @@ physical_interface_mappings: physnet2:eth1</programlisting></para>
|
|||
<para>Under the <literal>service</literal> tenant, create the shared router, define the
|
||||
public network, and set it as the default gateway of the
|
||||
router<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/service/ {print $2}')</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-create router01</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant public01 \
|
||||
<prompt>$</prompt> <userinput>neutron router-create router01</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant public01 \
|
||||
--provider:network_type flat \
|
||||
--provider:physical_network physnet1 \
|
||||
--router:external=True</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name public01_subnet01 \
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name public01_subnet01 \
|
||||
--gateway 10.64.201.254 public01 10.64.201.0/24 --enable_dhcp False</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-gateway-set router01 public01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron router-gateway-set router01 public01</userinput></screen></para>
|
||||
<para>Under the <literal>demo</literal> user tenant, create the private network
|
||||
<literal>net01</literal> and corresponding subnet, and connect it to the
|
||||
<literal>router01</literal> router. Configure it to use VLAN ID 101 on the
|
||||
<literal>net01</literal> and corresponding subnet, and connect it to the
|
||||
<literal>router01</literal> router. Configure it to use VLAN ID 101 on the
|
||||
physical
|
||||
switch.<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list|awk '/demo/ {print $2}'</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant net01 \
|
||||
<prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant net01 \
|
||||
--provider:network_type vlan \
|
||||
--provider:physical_network physnet2 \
|
||||
--provider:segmentation_id 101</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name net01_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-interface-add router01 net01_subnet01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name net01_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router01 net01_subnet01</userinput></screen></para>
|
||||
<para>Similarly, for <literal>net02</literal>, using VLAN ID 102 on the physical
|
||||
switch:<screen><prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant net02 \
|
||||
switch:<screen><prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant net02 \
|
||||
--provider:network_type vlan \
|
||||
--provider:physical_network physnet2 \
|
||||
--provider:segmentation_id 102</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name net02_subnet01 net02 192.168.102.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-interface-add router01 net02_subnet01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name net02_subnet01 net02 192.168.102.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router01 net02_subnet01</userinput></screen></para>
|
||||
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
|
@ -492,36 +492,36 @@ physical_interface_mappings: physnet2:eth1</programlisting></para>
|
|||
</mediaobject>
|
||||
<para>Under the <literal>service</literal> tenant, define the public
|
||||
network:<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/service/ {print $2}')</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant public01 \
|
||||
<prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant public01 \
|
||||
--provider:network_type flat \
|
||||
--provider:physical_network physnet1 \
|
||||
--router:external=True</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name public01_subnet01 \
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name public01_subnet01 \
|
||||
--gateway 10.64.201.254 public01 10.64.201.0/24 --enable_dhcp False</userinput></screen></para>
|
||||
<para>Under the <literal>tenantA</literal> user tenant, create the tenant router and set
|
||||
its gateway for the public
|
||||
network.<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list|awk '/tenantA/ {print $2}')</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-create --tenant-id $tenant router01</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-gateway-set router01 public01</userinput></screen>
|
||||
<prompt>$</prompt> <userinput>neutron router-create --tenant-id $tenant router01</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-gateway-set router01 public01</userinput></screen>
|
||||
Then, define private network <literal>net01</literal> using VLAN ID 102 on the
|
||||
physical switch, along with its subnet, and connect it to the router.
|
||||
<screen><prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant net01 \
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant net01 \
|
||||
--provider:network_type vlan \
|
||||
--provider:physical_network physnet2 \
|
||||
--provider:segmentation_id 101</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name net01_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-interface-add router01 net01_subnet01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name net01_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router01 net01_subnet01</userinput></screen></para>
|
||||
<para>Similarly, for <literal>tenantB</literal>, create a router and another network,
|
||||
using VLAN ID 102 on the physical
|
||||
switch:<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list|awk '/tenantB/ {print $2}')</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-create --tenant-id $tenant router02</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-gateway-set router02 public01</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum net-create --tenant-id $tenant net02 \
|
||||
<prompt>$</prompt> <userinput>neutron router-create --tenant-id $tenant router02</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-gateway-set router02 public01</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron net-create --tenant-id $tenant net02 \
|
||||
--provider:network_type vlan \
|
||||
--provider:physical_network physnet2 \
|
||||
--provider:segmentation_id 102</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum subnet-create --tenant-id $tenant --name net02_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum router-interface-add router02 net02_subnet01</userinput></screen></para>
|
||||
<prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $tenant --name net02_subnet01 net01 192.168.101.0/24</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router02 net02_subnet01</userinput></screen></para>
|
||||
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
|
|
|
@ -315,24 +315,24 @@
|
|||
<section xml:id="basic_operations">
|
||||
<title>Basic Operations</title>
|
||||
<para>Create a network</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum net-create net1</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create net1</userinput></screen>
|
||||
<para>Create a subnet associated with net1</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum subnet-create net1 10.0.0.0/24</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron subnet-create net1 10.0.0.0/24</userinput></screen>
|
||||
<para>List ports on a tenant</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum port-list</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-list</userinput></screen>
|
||||
<para><emphasis role="italic">device_owner</emphasis> field describes who owns the port.
|
||||
A port whose <emphasis role="italic">device_owner</emphasis> begins with "network:" is created by OpenStack Networking
|
||||
and a port whose <emphasis role="italic">device_owner</emphasis> begins with "compute:" is created by OpenStack Compute (compute service).</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum port-list -c id -c fixed_ips -c device_owner</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-list -c id -c fixed_ips -c device_owner</userinput></screen>
|
||||
<para><command>port-show</command> shows a detail of a specified port.</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum port-show <port-id></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-show <port-id></userinput></screen>
|
||||
</section>
|
||||
<section xml:id="admin_api_config">
|
||||
<title>Admin API configuration</title>
|
||||
<para>These same calls can be performed by the cloud admin
|
||||
on behalf of the tenants by specifying a tenant_id in
|
||||
the request, for example:</para>
|
||||
<screen><computeroutput>quantum net-create --tenant-id=<tenant-id> net1</computeroutput></screen>
|
||||
<screen><computeroutput>neutron net-create --tenant-id=<tenant-id> net1</computeroutput></screen>
|
||||
<para>This tenant_id should be the tenant ID from
|
||||
OpenStack Identity. To view all OpenStack Identity tenant IDs, run the
|
||||
following command as an OpenStack Identity (keystone) admin user:</para>
|
||||
|
@ -345,27 +345,27 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Create a "shared" network (i.e., a network that can be used by all tenants)</para>
|
||||
<screen><computeroutput>quantum net-create --shared public-net</computeroutput></screen>
|
||||
<screen><computeroutput>neutron net-create --shared public-net</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Create a subnet that has a specific gateway IP address.</para>
|
||||
<screen><computeroutput>quantum subnet-create --gateway 10.0.0.254 net1 10.0.0.0/24</computeroutput></screen>
|
||||
<screen><computeroutput>neutron subnet-create --gateway 10.0.0.254 net1 10.0.0.0/24</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Create a subnet that has no gateway IP address.</para>
|
||||
<screen><computeroutput>quantum subnet-create --no-gateway net1 10.0.0.0/24</computeroutput></screen>
|
||||
<screen><computeroutput>neutron subnet-create --no-gateway net1 10.0.0.0/24</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Create a subnet for which DHCP is disabled.</para>
|
||||
<screen><computeroutput>quantum subnet-create net1 10.0.0.0/24 --enable_dhcp False</computeroutput></screen>
|
||||
<screen><computeroutput>neutron subnet-create net1 10.0.0.0/24 --enable_dhcp False</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Create subnet with a specific set of host routes:</para>
|
||||
<screen><computeroutput>quantum subnet-create test-net1 40.0.0.0/24 --host_routes type=dict list=true destination=40.0.1.0/24,nexthop=40.0.0.2</computeroutput></screen>
|
||||
<screen><computeroutput>neutron subnet-create test-net1 40.0.0.0/24 --host_routes type=dict list=true destination=40.0.1.0/24,nexthop=40.0.0.2</computeroutput></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Create subnet with a specific set of dns nameserver:</para>
|
||||
<screen><computeroutput>quantum subnet-create test-net1 40.0.0.0/24 --dns_nameservers list=true 8.8.8.7 8.8.8.8</computeroutput></screen>
|
||||
<screen><computeroutput>neutron subnet-create test-net1 40.0.0.0/24 --dns_nameservers list=true 8.8.8.7 8.8.8.8</computeroutput></screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
@ -374,7 +374,7 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Find all Ports/IPs allocated on a network.</para>
|
||||
<screen><computeroutput>quantum port-list -- --network_id <net-id></computeroutput></screen>
|
||||
<screen><computeroutput>neutron port-list -- --network_id <net-id></computeroutput></screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
@ -385,7 +385,7 @@
|
|||
<section xml:id="basic_workflow_with_nova">
|
||||
<title>Basic Workflow </title>
|
||||
<para>Check available networks:</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum net-list</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-list</userinput></screen>
|
||||
<para>Boot the VM with a single NIC on the selected network (net1):</para>
|
||||
<screen><prompt>$</prompt> <userinput>nova boot --image <img> --flavor <flavor> --nic net-id=<net-id> <vm-name></userinput></screen>
|
||||
<para>Congrats, you have booted a VM on an OpenStack Networking network.
|
||||
|
@ -397,18 +397,18 @@
|
|||
following command, which searches for all ports with a
|
||||
"device_id" corresponding to the OpenStack Compute instance
|
||||
UUID:</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum port-list -- --device_id=<vm-id></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-list -- --device_id=<vm-id></userinput></screen>
|
||||
<para>To view only a few fields of the port, you can limit
|
||||
output using -c. For example to see only the
|
||||
mac_address of the port, use:</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum port-list -c mac_address -- --device_id=<vm-id></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-list -c mac_address -- --device_id=<vm-id></userinput></screen>
|
||||
<para>You could temporarily disable the port from sending
|
||||
traffic by updating it to have
|
||||
admin_state_up=False:</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum port-update <port-id> --admin_state_up=False</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-update <port-id> --admin_state_up=False</userinput></screen>
|
||||
<para>When we delete the OpenStack Compute VM, the underlying OpenStack Networking
|
||||
port is automatically deleted:</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum port-list -c mac_address -- --device_id=<vm-id></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-list -c mac_address -- --device_id=<vm-id></userinput></screen>
|
||||
</section>
|
||||
<section xml:id="advanceed_vm_creation">
|
||||
<title>Advanced VM creation</title>
|
||||
|
@ -423,7 +423,7 @@
|
|||
<para>Booting a VM with a specific IP address.
|
||||
To do this, we need to create an OpenStack Networking port with a specific IP address first,
|
||||
and then boot a VM specifying a port-id rather than a net-id.</para>
|
||||
<screen><prompt>$</prompt> <userinput>quantum port-create --fixed-ip subnet_id=<subnet-id>,ip_address=192.168.57.101 <net-id>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-create --fixed-ip subnet_id=<subnet-id>,ip_address=192.168.57.101 <net-id>
|
||||
nova boot --image <img> --flavor <flavor> --nic port-id=<port-id> <vm-name></userinput></screen>
|
||||
<note><para><command>v4-fixed-ip</command> parameter of <command>--nic</command> option
|
||||
in <command>nova</command> command is not supported with OpenStack Networking at the moment.</para></note>
|
||||
|
@ -440,12 +440,12 @@ nova boot --image <img> --flavor <flavor> --nic port-id=<port-id&
|
|||
<section xml:id="enabling_ping_and_ssh">
|
||||
<title>Security Groups (Enabling Ping and SSH on VMs)</title>
|
||||
<para>If using a plugin that implements neutron security groups you can configure security
|
||||
group rules directly by using quantum security-group-rule-create to enable access to
|
||||
group rules directly by using neutron security-group-rule-create to enable access to
|
||||
your VMs. The example below allows <command>ping</command> and
|
||||
<command>ssh</command> to your VMs.
|
||||
<screen>
|
||||
<prompt>$</prompt> <userinput>quantum security-group-rule-create --protocol icmp --direction ingress default</userinput>
|
||||
<prompt>$</prompt> <userinput>quantum security-group-rule-create --protocol tcp --port-range-min 22 --port-range-max 22 --direction ingress default</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron security-group-rule-create --protocol icmp --direction ingress default</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron security-group-rule-create --protocol tcp --port-range-min 22 --port-range-max 22 --direction ingress default</userinput>
|
||||
</screen></para>
|
||||
<para>If your plugin does not implement neutron security group, security groups can still be
|
||||
leveraged via OpenStack Compute. This can be done using <command>nova
|
||||
|
@ -457,7 +457,7 @@ nova boot --image <img> --flavor <flavor> --nic port-id=<port-id&
|
|||
<prompt>$</prompt> <userinput>nova secgroup-add-rule default tcp 22 22 0.0.0.0/0</userinput></screen>
|
||||
|
||||
<note><para>If your plugin implements neutron security groups you can still leverage nova security groups
|
||||
by setting security_group_api = quantum in <filename>nova.conf</filename>. After
|
||||
setting this all nova security group commands will be proxied to quantum.</para></note></section>
|
||||
by setting security_group_api = neutron in <filename>nova.conf</filename>. After
|
||||
setting this all nova security group commands will be proxied to neutron.</para></note></section>
|
||||
</section>
|
||||
</chapter>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
<!-- ################################################ -->
|
||||
<!-- USE "mvn clean generate-sources" to run this POM -->
|
||||
<!-- Builds the Quantum Administration Manual -->
|
||||
<!-- Builds the Neutron Administration Manual -->
|
||||
<!-- ################################################ -->
|
||||
<build>
|
||||
<plugins>
|
||||
|
@ -39,7 +39,7 @@
|
|||
<!-- These parameters only apply to webhelp -->
|
||||
<enableDisqus>${comments.enabled}</enableDisqus>
|
||||
<useVersionForDisqus>1</useVersionForDisqus>
|
||||
<disqusShortname>os-quantum-guides</disqusShortname>
|
||||
<disqusShortname>os-neutron-guides</disqusShortname>
|
||||
<enableGoogleAnalytics>1</enableGoogleAnalytics>
|
||||
<googleAnalyticsId>UA-17511903-1</googleAnalyticsId>
|
||||
<failOnValidationError>0</failOnValidationError>
|
||||
|
@ -51,7 +51,7 @@
|
|||
<webhelpDirname>admin</webhelpDirname>
|
||||
<targetDirectory>${basedir}/target/docbkx/webhelp/${release.path.name}/openstack-network</targetDirectory>
|
||||
<includeDateInPdfFilename>0</includeDateInPdfFilename>
|
||||
<pdfFilenameBase>bk-quantum-admin-guide-${release.path.name}</pdfFilenameBase>
|
||||
<pdfFilenameBase>bk-neutron-admin-guide-${release.path.name}</pdfFilenameBase>
|
||||
|
||||
</configuration>
|
||||
</execution>
|
||||
|
|
956
www/sitemap.xml
956
www/sitemap.xml
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue