Resorted CRG chapters and added IPv6 config to CloudAdminGuide

Config Ref now has sorted chapters (matches CLI chapters). IPv6
edited and moved to Cloud Admin Guide. Moved networking sections
into networking directory.

Change-Id: Ieffdf129af05c0483aca31eddb7fc824a113b9f3
Partial-Bug: #1290687
This commit is contained in:
Summer Long 2014-03-11 17:10:56 +10:00
parent 30f951434e
commit f9b28d3403
18 changed files with 119 additions and 93 deletions

View File

@ -746,8 +746,8 @@ inject_password=true</programlisting>
>nova-network</systemitem> for networking between
VMs or use the Networking service (neutron) for
networking. To configure Compute networking options
with Neutron, see the <xref linkend="ch_networking"
/>.</para>
with OpenStack Networking, see the <xref linkend="ch_networking"/>.
</para>
<para>For each VM instance, Compute assigns to it a
private IP address. (Currently, Compute with
<systemitem class="service"
@ -1017,6 +1017,7 @@ inject_password=true</programlisting>
class="service">nova-network</systemitem> service
places on the bridges.</para>
</section>
<xi:include href="compute/section_compute-configure-ipv6.xml"/>
<section xml:id="section_metadata-service">
<title>Metadata service</title>
<simplesect>

View File

@ -4,19 +4,19 @@
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="ch_networking">
<title>Networking</title>
<para>Learn Networking concepts, architecture, and basic and
advanced neutron and nova command-line interface (CLI)
cloud.</para>
<xi:include href="section_networking_introduction.xml"/>
<xi:include href="section_networking_arch.xml"/>
<xi:include href="section_networking-config-identity.xml"/>
<xi:include href="section_networking-scenarios.xml"/>
<xi:include href="section_networking-adv-config.xml"/>
<xi:include href="section_networking-multi-dhcp-agents.xml"/>
<xi:include href="section_networking-use.xml"/>
<xi:include href="section_networking_adv_features.xml"/>
<xi:include href="section_networking_adv_operational_features.xml"/>
<xi:include href="section_networking_auth.xml"/>
<xi:include href="section_networking_high_avail.xml"/>
<xi:include href="section_networking_pagination_and_sorting_support.xml"/>
<para>Learn OpenStack Networking concepts, architecture, and basic and advanced
<command>neutron</command> and <command>nova</command> command-line interface (CLI)
commands.</para>
<xi:include href="networking/section_networking_introduction.xml"/>
<xi:include href="networking/section_networking_arch.xml"/>
<xi:include href="networking/section_networking-config-identity.xml"/>
<xi:include href="networking/section_networking-scenarios.xml"/>
<xi:include href="networking/section_networking-adv-config.xml"/>
<xi:include href="networking/section_networking-multi-dhcp-agents.xml"/>
<xi:include href="networking/section_networking-use.xml"/>
<xi:include href="networking/section_networking_adv_features.xml"/>
<xi:include href="networking/section_networking_adv_operational_features.xml"/>
<xi:include href="networking/section_networking_auth.xml"/>
<xi:include href="networking/section_networking_high_avail.xml"/>
<xi:include href="networking/section_networking_pagination_and_sorting_support.xml"/>
</chapter>

View File

@ -0,0 +1,61 @@
<section xml:id="section_configuring-compute-to-use-ipv6-addresses"
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:ns5="http://www.w3.org/1999/xhtml"
xmlns:ns4="http://www.w3.org/2000/svg"
xmlns:ns3="http://www.w3.org/1998/Math/MathML"
xmlns:ns="http://docbook.org/ns/docbook" version="5.0">
<title>Configure Compute to use IPv6 addresses</title>
<para>If you are using OpenStack Compute with <systemitem>nova-network</systemitem>, you can put
Compute into IPv4/IPv6 dual-stack mode, so that it uses both IPv4 and IPv6 addresses for
communication. In IPv4/IPv6 dual-stack mode, instances can acquire their IPv6 global unicast
address by using a stateless address auto configuration mechanism [RFC 4862/2462]. IPv4/IPv6
dual-stack mode works with both <literal>VlanManager</literal> and
<literal>FlatDHCPManager</literal> networking modes. In <literal>VlanManager</literal>, each
project uses a different 64-bit global routing prefix. In <literal>FlatDHCPManager</literal>,
all instances use one 64-bit global routing prefix.</para>
<para>This configuration was tested with VM images that have an IPv6 stateless address auto
configuration capability. This capability is required for any VM you want to run with
an IPv6 address. You must use EUI-64 address for stateless address auto configuration.
Each node that executes a <literal>nova-*</literal> service must have
<literal>python-netaddr</literal> and <literal>radvd</literal> installed.
</para>
<procedure>
<title>Switch into IPv4/IPv6 dual-stack mode</title>
<step><para>On all nodes running a <literal>nova-*</literal> service, install
<systemitem>python-netaddr</systemitem>:</para>
<screen><prompt>#</prompt> <userinput>apt-get install python-netaddr</userinput></screen></step>
<step><para>On all <literal>nova-network</literal> nodes, install <literal>radvd</literal> and configure
IPv6 networking:</para>
<screen><prompt>#</prompt> <userinput>apt-get install radvd</userinput>
<prompt>#</prompt> <userinput>echo 1 &gt; /proc/sys/net/ipv6/conf/all/forwarding</userinput>
<prompt>#</prompt> <userinput>echo 0 &gt; /proc/sys/net/ipv6/conf/all/accept_ra</userinput></screen></step>
<step><para>Edit the <filename>nova.conf</filename> file on all nodes to specify
<literal>use_ipv6 = True</literal>.</para></step>
<step><para>Restart all <literal>nova-*</literal> services.</para></step>
</procedure>
<note><para>You can add a fixed range for IPv6 addresses to the <command>nova network-create</command>
command. Specify <option>public</option> or <option>private</option> after the
<option>network-create</option> parameter.</para>
<screen><prompt>$</prompt> <userinput>nova network-create public --fixed-range-v4 <replaceable>fixed_range_v4</replaceable> --vlan <replaceable>vlan_id</replaceable> --vpn <replaceable>vpn_start</replaceable> --fixed-range-v6 <replaceable>fixed_range_v6</replaceable></userinput></screen>
<para>You can set IPv6 global routing prefix by using the <option>--fixed_range_v6</option>
parameter. The default value for the parameter is: <literal>fd00::/48</literal>.
</para>
<itemizedlist>
<listitem>
<para>When you use <literal>FlatDHCPManager</literal>, the command uses the original
<option>--fixed_range_v6</option> value. For example:</para>
<screen><prompt>$</prompt> <userinput>nova network-create public --fixed-range-v4 10.0.2.0/24 --fixed-range-v6 fd00:1::/48</userinput></screen>
</listitem>
<listitem>
<para>When you use <literal>VlanManager</literal>, the command
increments the subnet ID to create subnet prefixes.
Guest VMs use this prefix to generate their IPv6 global
unicast address. For example:</para>
<screen><prompt>$</prompt> <userinput>nova network-create public --fixed-range-v4 10.0.1.0/24 --vlan 100 --vpn 1000 --fixed-range-v6 fd00:1::/48</userinput></screen>
</listitem>
</itemizedlist>
</note>
<xi:include href="../../common/tables/nova-ipv6.xml"/>
</section>

View File

@ -28,7 +28,7 @@
<mediaobject>
<imageobject>
<imagedata
fileref="../common/figures/demo_multiple_dhcp_agents.png"
fileref="../../common/figures/demo_multiple_dhcp_agents.png"
contentwidth="6in"/>
</imageobject>
</mediaobject>

View File

@ -38,7 +38,7 @@ bridge_mappings = physnet2:br-eth1</programlisting></para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-1.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-1.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>Under the <literal>service</literal> tenant, create the shared router, define the
@ -77,7 +77,7 @@ bridge_mappings = physnet2:br-eth1</programlisting></para>
<para>The following figure shows how to configure various Linux networking devices on the compute host:</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-1-ovs-compute.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-1-ovs-compute.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
@ -170,7 +170,7 @@ bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
The following figure shows the network devices on the network host:</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-1-ovs-network.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-1-ovs-network.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>As on the compute host, there is an Open vSwitch integration bridge
@ -250,7 +250,7 @@ bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
collisions.</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-1-ovs-netns.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-1-ovs-netns.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>In this example, there are three network namespaces, as shown in the figure above:<itemizedlist>
@ -296,7 +296,7 @@ bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-2.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-2.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>Under the <literal>service</literal> tenant, define the public
@ -338,7 +338,7 @@ bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-2-ovs-compute.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-2-ovs-compute.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<note><para>The compute host configuration resembles the
@ -353,7 +353,7 @@ bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
scenario.</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-2-ovs-network.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-2-ovs-network.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>In this configuration, the network namespaces are
@ -362,7 +362,7 @@ bridge_mappings = physnet1:br-ex,physnet2:br-eth1</programlisting>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-2-ovs-netns.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-2-ovs-netns.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>In this scenario, there are four network namespaces
@ -409,7 +409,7 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-1.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-1.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>Under the <literal>service</literal> tenant, create the shared router, define the
@ -449,7 +449,7 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-1-linuxbridge-compute.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-1-linuxbridge-compute.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
@ -487,14 +487,14 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
<para>The following figure shows the network devices on the network host.</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-1-linuxbridge-network.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-1-linuxbridge-network.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>The following figure shows how the Linux Bridge plug-in uses network namespaces to
provide isolation.</para><note><para>veth pairs form connections between the
Linux bridges and the network namespaces.</para></note><mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-1-linuxbridge-netns.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-1-linuxbridge-netns.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
</section>
@ -506,7 +506,7 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
Internet.</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-2.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-2.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>Under the <literal>service</literal> tenant, define
@ -549,7 +549,7 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
under this scenario.</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-2-linuxbridge-compute.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-2-linuxbridge-compute.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<note><para>The configuration on the compute host is very
@ -564,7 +564,7 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
network host for the second scenario.</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-2-linuxbridge-network.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-2-linuxbridge-network.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>The main difference between the configuration in this scenario and the previous one
@ -572,7 +572,7 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
across the two subnets, as shown in the following figure.</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/under-the-hood-scenario-2-linuxbridge-netns.png" contentwidth="6in"/>
<imagedata fileref="../../common/figures/under-the-hood-scenario-2-linuxbridge-netns.png" contentwidth="6in"/>
</imageobject>
</mediaobject>
<para>In this scenario, there are four network namespaces
@ -617,7 +617,7 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
network as illustrated below.</para>
<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/ml2_without_l2pop_full_mesh.png"
<imagedata fileref="../../common/figures/ml2_without_l2pop_full_mesh.png"
contentwidth="6in"/>
</imageobject>
</mediaobject>
@ -632,7 +632,7 @@ physical_interface_mappings = physnet2:eth1</programlisting></para>
broadcasting packets via unicast only to the relevant agents
as illustrated below.<mediaobject>
<imageobject>
<imagedata fileref="../common/figures/ml2_without_l2pop_partial_mesh.png"
<imagedata fileref="../../common/figures/ml2_without_l2pop_partial_mesh.png"
contentwidth="6in"/>
</imageobject>
</mediaobject>The partial-mesh is available with the

View File

@ -119,7 +119,7 @@
<mediaobject>
<imageobject>
<imagedata scale="50"
fileref="../common/figures/Neutron-PhysNet-Diagram.png"
fileref="../../common/figures/Neutron-PhysNet-Diagram.png"
/>
</imageobject>
</mediaobject>

View File

@ -132,7 +132,7 @@
<area xml:id="networking_auth.json.policy4"
units="linecolumn" coords="88 32"/>
</areaspec>
<programlisting language="json"><xi:include href="../common/samples/networking_auth.json" parse="text"/></programlisting>
<programlisting language="json"><xi:include href="../../common/samples/networking_auth.json" parse="text"/></programlisting>
</programlistingco>
<calloutlist>
<callout arearefs="networking_auth.json.rule">

View File

@ -39,6 +39,19 @@
</abstract>
<revhistory>
<!-- ... continue adding more revisions here as you change this document using the markup shown below... -->
<revision>
<date>2014-03-11</date>
<revdescription>
<itemizedlist>
<listitem>
<para>Sorted component listing. Moved procedures to the
<link xlink:href="http://docs.openstack.org/admin-guide-cloud/content/">
<citetitle>Cloud Administrator Guide</citetitle></link>
</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2014-01-09</date>
<revdescription>
@ -90,20 +103,20 @@
</revhistory>
</info>
<xi:include href="ch_config-overview.xml"/>
<!-- Identity -->
<xi:include href="ch_identityconfigure.xml"/>
<!-- Block Storage -->
<xi:include href="ch_blockstorageconfigure.xml"/>
<!-- Compute -->
<xi:include href="ch_computeconfigure.xml"/>
<!-- Dashboard -->
<xi:include href="ch_dashboardconfigure.xml"/>
<!-- Identity -->
<xi:include href="ch_identityconfigure.xml"/>
<!-- Image -->
<xi:include href="ch_imageservice.xml"/>
<!-- Networking -->
<xi:include href="ch_networkingconfigure.xml"/>
<!-- Dashboard -->
<xi:include href="ch_dashboardconfigure.xml"/>
<!-- Object Storage -->
<xi:include href="ch_objectstorageconfigure.xml"/>
<!-- Block Storage -->
<xi:include href="ch_blockstorageconfigure.xml"/>
<!-- Appendices -->
<xi:include href="app_firewalls-ports.xml"/>
<!-- Support -->

View File

@ -55,7 +55,6 @@
<filename>nova.conf</filename>.</para>
<xi:include href="../common/tables/nova-ldap.xml"/>
</section>
<xi:include href="compute/section_compute-configure-ipv6.xml"/>
<section xml:id="configuring-resize">
<?dbhtml stop-chunking?>
<title>Configure resize</title>

View File

@ -1,48 +0,0 @@
<section xml:id="section_configuring-compute-to-use-ipv6-addresses"
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:ns5="http://www.w3.org/1999/xhtml"
xmlns:ns4="http://www.w3.org/2000/svg"
xmlns:ns3="http://www.w3.org/1998/Math/MathML"
xmlns:ns="http://docbook.org/ns/docbook" version="5.0">
<title>Configure Compute to use IPv6 addresses</title>
<para>You can configure Compute to use both IPv4 and IPv6 addresses for
communication by putting it into an IPv4/IPv6 dual stack mode. In IPv4/IPv6
dual stack mode, instances can acquire their IPv6 global unicast address
by stateless address auto configuration mechanism [RFC 4862/2462].
IPv4/IPv6 dual stack mode works with <literal>VlanManager</literal> and <literal>FlatDHCPManager</literal>
networking modes. In <literal>VlanManager</literal>, different 64bit global routing prefix is used for
each project. In <literal>FlatDHCPManager</literal>, one 64bit global routing prefix is used
for all instances.</para>
<para>This configuration has been tested with VM images
that have IPv6 stateless address auto configuration capability (must use
EUI-64 address for stateless address auto configuration), a requirement for
any VM you want to run with an IPv6 address. Each node that executes a
<literal>nova-*</literal> service must have <literal>python-netaddr</literal>
and <literal>radvd</literal> installed.</para>
<para>On all nova-nodes, install python-netaddr:</para>
<screen><prompt>#</prompt> <userinput>apt-get install python-netaddr</userinput></screen>
<para>On all <literal>nova-network</literal> nodes install <literal>radvd</literal> and configure IPv6
networking:</para>
<screen><prompt>#</prompt> <userinput>apt-get install radvd</userinput>
<prompt>#</prompt> <userinput>echo 1 &gt; /proc/sys/net/ipv6/conf/all/forwarding</userinput>
<prompt>#</prompt> <userinput>echo 0 &gt; /proc/sys/net/ipv6/conf/all/accept_ra</userinput></screen>
<para>Edit the <filename>nova.conf</filename> file on all nodes to
set the use_ipv6 configuration option to True. Restart all
nova- services.</para>
<para>When using the command <command>nova network-create</command> you can add a fixed range
for IPv6 addresses. You must specify public or private after the create parameter.</para>
<screen><prompt>$</prompt> <userinput>nova network-create public --fixed-range-v4 <replaceable>fixed_range_v4</replaceable> --vlan <replaceable>vlan_id</replaceable> --vpn <replaceable>vpn_start</replaceable> --fixed-range-v6 <replaceable>fixed_range_v6</replaceable></userinput></screen>
<para>You can set IPv6 global routing prefix by using the <literal>--fixed_range_v6</literal>
parameter. The default is: <literal>fd00::/48</literal>. When you use
<literal>FlatDHCPManager</literal>, the command uses the original value of
<literal>--fixed_range_v6</literal>. When you use <literal>VlanManager</literal>, the
command creates prefixes of subnet by incrementing subnet id. Guest VMs uses this prefix for
generating their IPv6 global unicast address.</para>
<para>Here is a usage example for <literal>VlanManager</literal>:</para>
<screen><prompt>$</prompt> <userinput>nova network-create public --fixed-range-v4 10.0.1.0/24 --vlan 100 --vpn 1000 --fixed-range-v6 fd00:1::/48</userinput></screen>
<para>Here is a usage example for <literal>FlatDHCPManager</literal>:</para>
<screen><prompt>$</prompt> <userinput>nova network-create public --fixed-range-v4 10.0.2.0/24 --fixed-range-v6 fd00:1::/48</userinput></screen>
<xi:include href="../../common/tables/nova-ipv6.xml"/>
</section>