Summary: Add documentation for the KVM support for OpenVswitch

Modified the KVM installation instructions with an example on how to use
the openvswitch bridges.

Modified the Nicira NVP plugin documentation with support for KVM

Updated the Nicira NVP docs to mention that it can be configured using
the UI now.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/921920e8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/921920e8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/921920e8

Branch: refs/heads/cloud-agent-with-openvswitch
Commit: 921920e8374319da93b657346b91ac6fefd9e132
Parents: 2d69a18
Author: Hugo Trippaers <[email protected]>
Authored: Tue Jan 15 17:53:40 2013 +0100
Committer: Hugo Trippaers <[email protected]>
Committed: Mon Jan 21 12:02:54 2013 +0100

----------------------------------------------------------------------
 docs/en-US/host-add-xenserver-kvm-ovm.xml          |    5 +
 ...hypervisor-host-install-network-openvswitch.xml |  116 +++++++++++++++
 docs/en-US/hypervisor-host-install-network.xml     |    3 +-
 docs/en-US/hypervisor-kvm-install-flow.xml         |    3 +-
 docs/en-US/hypervisor-kvm-requirements.xml         |    7 +-
 docs/en-US/plugin-niciranvp-features.xml           |    8 +-
 docs/en-US/plugin-niciranvp-preparations.xml       |    4 +-
 docs/en-US/plugin-niciranvp-ui.xml                 |   26 ++++
 docs/en-US/plugin-niciranvp-usage.xml              |    1 +
 9 files changed, 167 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/host-add-xenserver-kvm-ovm.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/host-add-xenserver-kvm-ovm.xml 
b/docs/en-US/host-add-xenserver-kvm-ovm.xml
index 4bbeefc..1f13e72 100644
--- a/docs/en-US/host-add-xenserver-kvm-ovm.xml
+++ b/docs/en-US/host-add-xenserver-kvm-ovm.xml
@@ -83,6 +83,11 @@
           <para>Make sure the new host has the same network configuration 
(guest, private, and
             public network) as other hosts in the cluster.</para>
         </listitem>
+        <listitem>
+          <para>If you are using OpenVswitch bridges edit the file 
agent.properties on the KVM host
+            and set the parameter <emphasis 
role="italic">network.bridge.type</emphasis> to
+              <emphasis role="italic">openvswitch</emphasis> before adding the 
host to &PRODUCT;</para>
+        </listitem>
       </itemizedlist>
     </section>
     <!-- <section>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/hypervisor-host-install-network-openvswitch.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/hypervisor-host-install-network-openvswitch.xml 
b/docs/en-US/hypervisor-host-install-network-openvswitch.xml
new file mode 100644
index 0000000..e9bf47a
--- /dev/null
+++ b/docs/en-US/hypervisor-host-install-network-openvswitch.xml
@@ -0,0 +1,116 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; [
+<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
+%BOOK_ENTITIES;
+]>
+
+<!-- Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<section id="hypervisor-host-install-network-openvswitch">
+    <title>Configure the network using OpenVswitch</title>
+    <warning><para>This is a very important section, please make sure you read 
this thoroughly.</para></warning>
+    <para>In order to forward traffic to your instances you will need at least 
two bridges: <emphasis>public</emphasis> and 
<emphasis>private</emphasis>.</para>
+    <para>By default these bridges are called <emphasis>cloudbr0</emphasis> 
and <emphasis>cloudbr1</emphasis>, but you do have to make sure they are 
available on each hypervisor.</para>
+    <para>The most important factor is that you keep the configuration 
consistent on all your hypervisors.</para>
+    <section id="hypervisor-host-install-network-openvswitch-prepare">
+        <title>Preparing</title>
+        <para>To make sure that the native bridge module will not interfere 
with openvswitch the bridge module should be added to the blacklist. See the 
modprobe documentation for your distribution on where to find the blacklist. 
Make sure the module is not loaded either by rebooting or executing rmmod 
bridge before executing next steps.</para>
+        <para>The network configurations below depend on the ifup-ovs and 
ifdown-ovs scripts which are part of the openvswitch installation. They should 
be installed in /etc/sysconfig/network-scripts/</para>
+    </section>        
+    <section id="hypervisor-host-install-network-openvswitch-vlan">
+        <title>Network example</title>
+        <para>There are many ways to configure your network. In the Basic 
networking mode you should have two (V)LAN's, one for your private network and 
one for the public network.</para>
+        <para>We assume that the hypervisor has one NIC (eth0) with three 
tagged VLAN's:</para>
+        <orderedlist>
+            <listitem><para>VLAN 100 for management of the 
hypervisor</para></listitem>
+            <listitem><para>VLAN 200 for public network of the instances 
(cloudbr0)</para></listitem>
+            <listitem><para>VLAN 300 for private network of the instances 
(cloudbr1)</para></listitem>
+        </orderedlist>
+        <para>On VLAN 100 we give the Hypervisor the IP-Address 
192.168.42.11/24 with the gateway 192.168.42.1</para>
+        <note><para>The Hypervisor and Management server don't have to be in 
the same subnet!</para></note>
+    </section>
+    <section id="hypervisor-host-install-network-openvswitch-configure">
+        <title>Configuring the network bridges</title>
+        <para>It depends on the distribution you are using how to configure 
these, below you'll find
+            examples for RHEL/CentOS.</para>
+        <note><para>The goal is to have three bridges called 'mgmt0', 
'cloudbr0' and 'cloudbr1' after this
+                section. This should be used as a guideline only. The exact 
configuration will
+                depend on your network layout.</para></note>
+        <section 
id="hypervisor-host-install-network-openvswitch-configure-ovs">
+            <title>Configure OpenVswitch</title>
+            <para>The network interfaces using OpenVswitch are created using 
the ovs-vsctl command. This command will configure the interfaces and persist 
them to the OpenVswitch database.</para>
+            <para>First we create a main bridge connected to the eth0 
interface. Next we create three fake bridges, each connected to a specific vlan 
tag.</para>
+            <programlisting><![CDATA[# ovs-vsctl add-br cloudbr
+# ovs-vsctl add-port cloudbr eth0 
+# ovs-vsctl set port cloudbr trunks=100,200,300
+# ovs-vsctl add-br mgmt0 cloudbr 100
+# ovs-vsctl add-br cloudbr0 cloudbr 200
+# ovs-vsctl add-br cloudbr1 cloudbr 300]]></programlisting>
+        </section>
+        <section 
id="hypervisor-host-install-network-openvswitch-configure-rhel">
+            <title>Configure in RHEL or CentOS</title>
+            <para>The required packages were installed when openvswitch and 
libvirt were installed,
+                we can proceed to configuring the network.</para>
+            <para>First we configure eth0</para>
+            <programlisting language="Bash">vi 
/etc/sysconfig/network-scripts/ifcfg-eth0</programlisting>
+            <para>Make sure it looks similair to:</para>
+            <programlisting><![CDATA[DEVICE=eth0
+HWADDR=00:04:xx:xx:xx:xx
+ONBOOT=yes
+HOTPLUG=no
+BOOTPROTO=none
+TYPE=Ethernet]]></programlisting>
+            <para>We have to configure the base bridge with the trunk.</para>
+            <programlisting language="Bash">vi 
/etc/sysconfig/network-scripts/ifcfg-cloudbr</programlisting>
+            <programlisting><![CDATA[DEVICE=cloudbr
+ONBOOT=yes
+HOTPLUG=no
+BOOTPROTO=none
+DEVICETYPE=ovs
+TYPE=OVSBridge]]></programlisting>
+            <para>We now have to configure the three VLAN bridges:</para>
+            <programlisting language="Bash">vi 
/etc/sysconfig/network-scripts/ifcfg-mgmt0</programlisting>
+            <programlisting><![CDATA[DEVICE=mgmt0
+ONBOOT=yes
+HOTPLUG=no
+BOOTPROTO=static
+DEVICETYPE=ovs
+TYPE=OVSBridge
+IPADDR=192.168.42.11
+GATEWAY=192.168.42.1
+NETMASK=255.255.255.0]]></programlisting>
+            <programlisting language="Bash">vi 
/etc/sysconfig/network-scripts/ifcfg-cloudbr0</programlisting>
+            <programlisting><![CDATA[DEVICE=cloudbr0
+ONBOOT=yes
+HOTPLUG=no
+BOOTPROTO=none
+DEVICETYPE=ovs
+TYPE=OVSBridge]]></programlisting>
+            <programlisting language="Bash">vi 
/etc/sysconfig/network-scripts/ifcfg-cloudbr1</programlisting>
+            <programlisting><![CDATA[DEVICE=cloudbr1
+ONBOOT=yes
+HOTPLUG=no
+BOOTPROTO=none
+TYPE=OVSBridge
+DEVICETYPE=ovs]]></programlisting>
+            <para>With this configuration you should be able to restart the 
network, although a reboot is recommended to see if everything works 
properly.</para>
+            <warning><para>Make sure you have an alternative way like IPMI or 
ILO to reach the machine in case you made a configuration error and the network 
stops functioning!</para></warning>
+        </section>
+    </section>
+</section>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/hypervisor-host-install-network.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/hypervisor-host-install-network.xml 
b/docs/en-US/hypervisor-host-install-network.xml
index 8f6a10c..3a6dfac 100644
--- a/docs/en-US/hypervisor-host-install-network.xml
+++ b/docs/en-US/hypervisor-host-install-network.xml
@@ -25,6 +25,7 @@
 <section id="hypervisor-host-install-network">
     <title>Configure the network bridges</title>
     <warning><para>This is a very important section, please make sure you read 
this thoroughly.</para></warning>
+    <note><para>This section details how to configure bridges using the native 
implementation in Linux. Please refer to the next section if you intend to use 
OpenVswitch</para></note>
     <para>In order to forward traffic to your instances you will need at least 
two bridges: <emphasis>public</emphasis> and 
<emphasis>private</emphasis>.</para>
     <para>By default these bridges are called <emphasis>cloudbr0</emphasis> 
and <emphasis>cloudbr1</emphasis>, but you do have to make sure they are 
available on each hypervisor.</para>
     <para>The most important factor is that you keep the configuration 
consistent on all your hypervisors.</para>
@@ -146,4 +147,4 @@ iface cloudbr1 inet manual
             <warning><para>Make sure you have an alternative way like IPMI or 
ILO to reach the machine in case you made a configuration error and the network 
stops functioning!</para></warning>
         </section>
     </section>
-</section>
\ No newline at end of file
+</section>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/hypervisor-kvm-install-flow.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/hypervisor-kvm-install-flow.xml 
b/docs/en-US/hypervisor-kvm-install-flow.xml
index 76e03ef..6cc73e4 100644
--- a/docs/en-US/hypervisor-kvm-install-flow.xml
+++ b/docs/en-US/hypervisor-kvm-install-flow.xml
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='utf-8' ?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; [
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; [
 <!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
 %BOOK_ENTITIES;
 ]>
@@ -31,6 +31,7 @@
     <xi:include href="hypervisor-host-install-libvirt.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude"; />
     <xi:include href="hypervisor-host-install-security-policies.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude"; />
     <xi:include href="hypervisor-host-install-network.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude"; />
+    <xi:include href="hypervisor-host-install-network-openvswitch.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude"; />
     <xi:include href="hypervisor-host-install-firewall.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude"; />
     <xi:include href="hypervisor-host-install-finish.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude"; />
 </section>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/hypervisor-kvm-requirements.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/hypervisor-kvm-requirements.xml 
b/docs/en-US/hypervisor-kvm-requirements.xml
index c42db86..cdfc808 100644
--- a/docs/en-US/hypervisor-kvm-requirements.xml
+++ b/docs/en-US/hypervisor-kvm-requirements.xml
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='utf-8' ?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; [
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; [
 <!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
 %BOOK_ENTITIES;
 ]>
@@ -35,6 +35,11 @@
     <listitem><para>libvirt: 0.9.4 or higher</para></listitem>
     <listitem><para>Qemu/KVM: 1.0 or higher</para></listitem>
   </itemizedlist>
+  <para>The default bridge in &PRODUCT; is the Linux native bridge 
implementation (bridge module). &PRODUCT; includes an option to work with 
OpenVswitch, the requirements are listed below</para>
+  <itemizedlist>
+    <listitem><para>libvirt: 0.9.11 or higher</para></listitem>
+    <listitem><para>openvswitch: 1.7.1 or higher</para></listitem>
+  </itemizedlist>
   <para>In addition, the following hardware requirements apply:</para>
   <itemizedlist>
     <listitem><para>Within a single cluster, the hosts must be of the same 
distribution version.</para></listitem>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/plugin-niciranvp-features.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/plugin-niciranvp-features.xml 
b/docs/en-US/plugin-niciranvp-features.xml
index b67323d..b71e67f 100644
--- a/docs/en-US/plugin-niciranvp-features.xml
+++ b/docs/en-US/plugin-niciranvp-features.xml
@@ -24,6 +24,10 @@
     <title>Features of the Nicira NVP Plugin</title>
     <para>In CloudStack release 4.0.0-incubating this plugin supports the 
Connectivity service. This service is responsible for creating Layer 2 networks 
supporting the networks created by Guests. In other words when an tennant 
creates a new network, instead of the traditional VLAN a logical network will 
be created by sending the appropriate calls to the Nicira NVP Controller.</para>
     <para>The plugin has been tested with Nicira NVP versions 2.1.0, 2.2.0 and 
2.2.1</para>
-    <note><para>In CloudStack 4.0.0-incubating only the XenServer hypervisor 
is supported for use in combination with Nicira NVP</para></note>
-    <note><para>In CloudStack 4.0.0-incubating the UI components for this 
plugin are not complete, configuration is done by sending commands to the 
API</para></note>
+    <note><para>In CloudStack 4.0.0-incubating only the XenServer hypervisor 
is supported for use in
+            combination with Nicira NVP.</para>
+        <para>In CloudStack 4.1.0-incubating both KVM and XenServer 
hypervisors are
+            supported.</para></note>
+    <note><para>In CloudStack 4.0.0-incubating the UI components for this 
plugin are not complete,
+            configuration is done by sending commands to the API.</para></note>
 </section>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/plugin-niciranvp-preparations.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/plugin-niciranvp-preparations.xml 
b/docs/en-US/plugin-niciranvp-preparations.xml
index 95a25bd..86b795c 100644
--- a/docs/en-US/plugin-niciranvp-preparations.xml
+++ b/docs/en-US/plugin-niciranvp-preparations.xml
@@ -24,7 +24,9 @@
     <title>Prerequisites</title>
     <para>Before enabling the Nicira NVP plugin the NVP Controller needs to be 
configured. Please review the NVP User Guide on how to do that. </para>
     <para>CloudStack needs to have at least one physical network with the 
isolation method set to "STT". This network should be enabled for the Guest 
traffic type.</para>
-        <note><para>The Guest traffic type should be configured with the 
traffic label that matches the name of the Integration Bridge on XenServer. See 
the Nicira NVP User Guide for more details on how to set this up in 
XenServer.</para></note>
+        <note><para>The Guest traffic type should be configured with the 
traffic label that matches the name of
+            the Integration Bridge on the hypervisor. See the Nicira NVP User 
Guide for more details
+            on how to set this up in XenServer or KVM.</para></note>
     <para>Make sure you have the following information ready:</para>
     <itemizedlist>
         <listitem><para>The IP address of the NVP Controller</para></listitem>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/plugin-niciranvp-ui.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/plugin-niciranvp-ui.xml 
b/docs/en-US/plugin-niciranvp-ui.xml
new file mode 100644
index 0000000..8b1bbad
--- /dev/null
+++ b/docs/en-US/plugin-niciranvp-ui.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; [
+<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
+%BOOK_ENTITIES;
+<!ENTITY % xinclude SYSTEM "http://www.docbook.org/xml/4.4/xinclude.mod";>
+%xinclude;
+]>
+<!-- Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<section id="plugin-niciranvp-ui">
+    <title>Configuring the Nicira NVP plugin from the UI</title>
+    <para>In CloudStack 4.1.0-incubating the Nicira NVP plugin and its 
resources can be configured in the infrastructure tab of the UI. Navigate to 
the physical network with STT isolation and configure the network elements. The 
NiciraNvp is listed here. <!-- TODO add screenshot --></para>
+</section>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/921920e8/docs/en-US/plugin-niciranvp-usage.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/plugin-niciranvp-usage.xml 
b/docs/en-US/plugin-niciranvp-usage.xml
index 1741338..76f9a0b 100644
--- a/docs/en-US/plugin-niciranvp-usage.xml
+++ b/docs/en-US/plugin-niciranvp-usage.xml
@@ -24,6 +24,7 @@
     <title>Using the Nicira NVP Plugin</title>
     
     <xi:include href="plugin-niciranvp-preparations.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude";></xi:include>
+    <xi:include href="plugin-niciranvp-ui.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude";></xi:include>
     <xi:include href="plugin-niciranvp-provider.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude";></xi:include>
     <xi:include href="plugin-niciranvp-devicemanagement.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude";></xi:include>
 </chapter>

Reply via email to