From fc0dddbf60e9917470eb562f485a3a8e2c30f931 Mon Sep 17 00:00:00 2001 From: Kris Sterckx Date: Mon, 14 Dec 2015 14:49:23 +0100 Subject: [PATCH 01/14] Inclusion of Nuage-VSP plugin --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ff043b5..ce4bf77 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ midonet/publish release-notes/tmp release-notes/publish *.pyc +.idea From 0638eb79a1ce4b465f80390be98acb9ff3fd6c1d Mon Sep 17 00:00:00 2001 From: Kris Sterckx Date: Mon, 14 Dec 2015 14:51:26 +0100 Subject: [PATCH 02/14] Inclusion of Nuage-VSP plugin --- rtd/source/networking/nuage-plugin.rst | 278 +++++++++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100644 rtd/source/networking/nuage-plugin.rst diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst new file mode 100644 index 0000000..49f1aa6 --- /dev/null +++ b/rtd/source/networking/nuage-plugin.rst @@ -0,0 +1,278 @@ +.. 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. + + +The Nuage-VSP Plugin +==================== + +Introduction to the Nuage-VSP Plugin +------------------------------------ + +The Nuage-VSP plugin is the Nuage Networks SDN +implementation in CloudStack, which integrates with the latest 3.2 Release of the +Nuage Networks Virtualized Services Platform. +The plugin can be used by CloudStack to implement +* Isolated Guest networks +* Virtual Private Clouds (VPC) +* Shared Networks +and leverage the scalability and feature-richness of Advanced SDN. + + +Features of the Nuage-VSP Plugin +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following table lists the CloudStack network services provided by +the Nuage-VSP Plugin. + +.. cssclass:: table-striped table-bordered table-hover + ++----------------------+----------------------+ +| Network Service | CloudStack version | ++======================+======================+ +| Virtual Networking | >= 4.0 | ++----------------------+----------------------+ +| Static NAT | >= 4.3 | ++----------------------+----------------------+ +| Port Forwarding | >= 4.3 | ++----------------------+----------------------+ +| Load Balancing | >= 4.3 | ++----------------------+----------------------+ + +Table: Supported Services + +.. note:: + The Virtual Networking service was originally called 'Connectivity' + in CloudStack 4.0 + +The following hypervisors are supported by the OVS Plugin. + +.. cssclass:: table-striped table-bordered table-hover + ++--------------+----------------------+ +| Hypervisor | CloudStack version | ++==============+======================+ +| XenServer | >= 4.0 | ++--------------+----------------------+ +| KVM | >= 4.3 | ++--------------+----------------------+ + +Table: Supported Hypervisors + + +Configuring the OVS Plugin +-------------------------- + +Prerequisites +~~~~~~~~~~~~~ + +Before enabling the OVS plugin the hypervisor needs to be install OpenvSwitch. +Default, XenServer has already installed OpenvSwitch. However, you must +install OpenvSwitch manually on KVM. CentOS 6.4 and OpenvSwitch 1.10 are +recommended. + +KVM hypervisor: + +- CentOS 6.4 is recommended. + +- 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. + + +Zone Configuration +~~~~~~~~~~~~~~~~~~ + +CloudStack needs to have at least one physical network with the isolation +method set to “GRE”. This network should be enabled for the Guest +traffic type. + +.. note:: + With KVM, the traffic type should be configured with the traffic label + that matches the name of the Integration Bridge on the hypervisor. For + example, you should set the traffic label as following: + + - Management & Storage traffic: cloudbr0 + + - Guest & Public traffic: cloudbr1 + See KVM networking configuration guide for more detail. + + +.. figure:: /_static/images/ovs-physical-network-gre.png + :align: center + :alt: a screenshot of a physical network with the GRE isolation type + + +Agent Configuration +~~~~~~~~~~~~~~~~~~~ + +.. note:: + Only for KVM hypervisor + +- Configure network interfaces: + + :: + + /etc/sysconfig/network-scripts/ifcfg-eth0 + DEVICE=eth0 + BOOTPROTO=none + IPV6INIT=no + NM_CONTROLLED=no + ONBOOT=yes + TYPE=OVSPort + DEVICETYPE=ovs + OVS_BRIDGE=cloudbr0 + + /etc/sysconfig/network-scripts/ifcfg-eth1 + DEVICE=eth1 + BOOTPROTO=none + IPV6INIT=no + NM_CONTROLLED=no + ONBOOT=yes + TYPE=OVSPort + DEVICETYPE=ovs + OVS_BRIDGE=cloudbr1 + + /etc/sysconfig/network-scripts/ifcfg-cloudbr0 + DEVICE=cloudbr0 + ONBOOT=yes + DEVICETYPE=ovs + TYPE=OVSBridge + BOOTPROTO=static + IPADDR=172.16.10.10 + GATEWAY=172.16.10.1 + NETMASK=255.255.255.0 + HOTPLUG=no + + /etc/sysconfig/network-scripts/ifcfg-cloudbr1 + DEVICE=cloudbr1 + ONBOOT=yes + DEVICETYPE=ovs + TYPE=OVSBridge + BOOTPROTO=none + HOTPLUG=no + + /etc/sysconfig/network + NETWORKING=yes + HOSTNAME=testkvm1 + GATEWAY=172.10.10.1 + +- Edit /etc/cloudstack/agent/agent.properties + + :: + + network.bridge.type=openvswitch + libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.OvsVifDriver + + +Enabling the service provider +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The OVS provider is disabled by default. Navigate to the "Network +Service Providers" configuration of the physical network with the GRE +isolation type. Navigate to the OVS provider and press the +"Enable Provider" button. + +.. figure:: /_static/images/ovs-physical-network-gre-enable.png + :align: center + :alt: a screenshot of an enabled OVS provider + + +Network Offerings +~~~~~~~~~~~~~~~~~ + +Using the OVS plugin requires a network offering with Virtual +Networking enabled and configured to use the OVS element. Typical +use cases combine services from the Virtual Router appliance and the +OVS plugin. + +.. cssclass:: table-striped table-bordered table-hover + ++----------------------+-----------------+ +| Service | Provider | ++======================+=================+ +| VPN | VirtualRouter | ++----------------------+-----------------+ +| DHCP | VirtualRouter | ++----------------------+-----------------+ +| DNS | VirtualRouter | ++----------------------+-----------------+ +| Firewall | VirtualRouter | ++----------------------+-----------------+ +| Load Balancer | OVS | ++----------------------+-----------------+ +| User Data | VirtualRouter | ++----------------------+-----------------+ +| Source NAT | VirtualRouter | ++----------------------+-----------------+ +| Static NAT | OVS | ++----------------------+-----------------+ +| Post Forwarding | OVS | ++----------------------+-----------------+ +| Virtual Networking | OVS | ++----------------------+-----------------+ + +Table: Isolated network offering with regular services from the Virtual +Router. + +.. figure:: /_static/images/ovs-network-offering.png + :align: center + :alt: a screenshot of a network offering. + + +.. note:: + The tag in the network offering should be set to the name of the + physical network with the OVS provider. + +Isolated network with network services. The virtual router is still +required to provide network services like dns and dhcp. + +.. cssclass:: table-striped table-bordered table-hover + ++----------------------+-----------------+ +| Service | Provider | ++======================+=================+ +| DHCP | VirtualRouter | ++----------------------+-----------------+ +| DNS | VirtualRouter | ++----------------------+-----------------+ +| User Data | VirtualRouter | ++----------------------+-----------------+ +| Source NAT | VirtualRouter | ++----------------------+-----------------+ +| Static NAT | OVS | ++----------------------+-----------------+ +| Post Forwarding | OVS | ++----------------------+-----------------+ +| Load Balancing | OVS | ++----------------------+-----------------+ +| Virtual Networking | OVS | ++----------------------+-----------------+ + +Table: Isolated network offering with network services + + +Using the OVS plugin with VPC +----------------------------- + +OVS plugin does not work with VPC at that time + + +Revision History +---------------- + +0-0 Mon Dec 2 2013 Nguyen Anh Tu tuna@apache.org Documentation +created for 4.3.0 version of the OVS Plugin From 456bdaf6c36ed139fb8f6b970bcea63cf966cbec Mon Sep 17 00:00:00 2001 From: Kris Sterckx Date: Mon, 14 Dec 2015 15:00:55 +0100 Subject: [PATCH 03/14] Update nuage-plugin.rst --- rtd/source/networking/nuage-plugin.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 49f1aa6..66f5bfd 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -24,9 +24,11 @@ The Nuage-VSP plugin is the Nuage Networks SDN implementation in CloudStack, which integrates with the latest 3.2 Release of the Nuage Networks Virtualized Services Platform. The plugin can be used by CloudStack to implement + * Isolated Guest networks * Virtual Private Clouds (VPC) * Shared Networks + and leverage the scalability and feature-richness of Advanced SDN. From 3f9748847ab4aafcdbb90c22f31d053f640c8a57 Mon Sep 17 00:00:00 2001 From: Kris Sterckx Date: Mon, 14 Dec 2015 15:13:14 +0100 Subject: [PATCH 04/14] Update nuage-plugin.rst --- rtd/source/networking/nuage-plugin.rst | 49 ++++++++++++++++++-------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 66f5bfd..4c13561 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -43,42 +43,54 @@ the Nuage-VSP Plugin. +----------------------+----------------------+ | Network Service | CloudStack version | +======================+======================+ -| Virtual Networking | >= 4.0 | +| Virtual Networking | >= 4.5 | +----------------------+----------------------+ -| Static NAT | >= 4.3 | +| VPC | >= 4.5 | +----------------------+----------------------+ -| Port Forwarding | >= 4.3 | +| Source NAT | >= 4.7 | +----------------------+----------------------+ -| Load Balancing | >= 4.3 | +| Static NAT | >= 4.7 | ++----------------------+----------------------+ +| Firewall | >= 4.7 | ++----------------------+----------------------+ +| Network ACL | >= 4.7 | ++----------------------+----------------------+ +| User Data (*) | >= 4.7 | +----------------------+----------------------+ +(*) Through the use of VR Provider + Table: Supported Services .. note:: The Virtual Networking service was originally called 'Connectivity' in CloudStack 4.0 -The following hypervisors are supported by the OVS Plugin. +The following hypervisors are supported by the Nuage-VSP Plugin. .. cssclass:: table-striped table-bordered table-hover +--------------+----------------------+ | Hypervisor | CloudStack version | +==============+======================+ -| XenServer | >= 4.0 | +| XenServer | >= 4.5 | ++--------------+----------------------+ +| VmWare ESXi | >= 4.5 | +--------------+----------------------+ -| KVM | >= 4.3 | +| KVM | >= 4.7 | +--------------+----------------------+ Table: Supported Hypervisors -Configuring the OVS Plugin --------------------------- +Configuring the Nuage-VSP Plugin +-------------------------------- Prerequisites ~~~~~~~~~~~~~ +[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] + Before enabling the OVS plugin the hypervisor needs to be install OpenvSwitch. Default, XenServer has already installed OpenvSwitch. However, you must install OpenvSwitch manually on KVM. CentOS 6.4 and OpenvSwitch 1.10 are @@ -98,6 +110,8 @@ KVM hypervisor: Zone Configuration ~~~~~~~~~~~~~~~~~~ +[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] + CloudStack needs to have at least one physical network with the isolation method set to “GRE”. This network should be enabled for the Guest traffic type. @@ -121,6 +135,8 @@ traffic type. Agent Configuration ~~~~~~~~~~~~~~~~~~~ +[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] + .. note:: Only for KVM hypervisor @@ -183,6 +199,8 @@ Agent Configuration Enabling the service provider ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] + The OVS provider is disabled by default. Navigate to the "Network Service Providers" configuration of the physical network with the GRE isolation type. Navigate to the OVS provider and press the @@ -196,6 +214,8 @@ isolation type. Navigate to the OVS provider and press the Network Offerings ~~~~~~~~~~~~~~~~~ +[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] + Using the OVS plugin requires a network offering with Virtual Networking enabled and configured to use the OVS element. Typical use cases combine services from the Virtual Router appliance and the @@ -267,14 +287,15 @@ required to provide network services like dns and dhcp. Table: Isolated network offering with network services -Using the OVS plugin with VPC ------------------------------ -OVS plugin does not work with VPC at that time +Dedicated features that come with Nuage-VSP Plugin +-------------------------------------------------- + +Need to talk here about Domain Template Feature + Revision History ---------------- -0-0 Mon Dec 2 2013 Nguyen Anh Tu tuna@apache.org Documentation -created for 4.3.0 version of the OVS Plugin + From 9d32013c3759f5c11508c38feeb9d7f0507461e2 Mon Sep 17 00:00:00 2001 From: Kris Sterckx Date: Mon, 14 Dec 2015 15:15:45 +0100 Subject: [PATCH 05/14] Update nuage-plugin.rst --- rtd/source/networking/nuage-plugin.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 4c13561..8ab5e0b 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -21,16 +21,18 @@ Introduction to the Nuage-VSP Plugin ------------------------------------ The Nuage-VSP plugin is the Nuage Networks SDN -implementation in CloudStack, which integrates with the latest 3.2 Release of the +implementation in CloudStack, which integrates with Release 3.2 of the Nuage Networks Virtualized Services Platform. The plugin can be used by CloudStack to implement -* Isolated Guest networks +* Isolated Guest Networks * Virtual Private Clouds (VPC) * Shared Networks and leverage the scalability and feature-richness of Advanced SDN. +For more info about Nuage Networks, visit www.nuagenetworks.net. + Features of the Nuage-VSP Plugin ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From b2937de26c7c5b3e3c8774a8b4ebf16fdb7b75af Mon Sep 17 00:00:00 2001 From: Kris Sterckx Date: Mon, 14 Dec 2015 15:23:57 +0100 Subject: [PATCH 06/14] Update nuage-plugin.rst --- rtd/source/networking/nuage-plugin.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 8ab5e0b..6f8e89b 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -49,13 +49,13 @@ the Nuage-VSP Plugin. +----------------------+----------------------+ | VPC | >= 4.5 | +----------------------+----------------------+ -| Source NAT | >= 4.7 | +| Source NAT | >= 4.5 | +----------------------+----------------------+ -| Static NAT | >= 4.7 | +| Static NAT | >= 4.5 | +----------------------+----------------------+ -| Firewall | >= 4.7 | +| Firewall | >= 4.5 | +----------------------+----------------------+ -| Network ACL | >= 4.7 | +| Network ACL | >= 4.5 | +----------------------+----------------------+ | User Data (*) | >= 4.7 | +----------------------+----------------------+ From dbbdc279e8f71194ffb13e01e39b65ee965214bc Mon Sep 17 00:00:00 2001 From: Nick Livens Date: Wed, 16 Dec 2015 13:18:12 +0100 Subject: [PATCH 07/14] Add prerequisites --- rtd/source/networking/nuage-plugin.rst | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 6f8e89b..b02bcf7 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -91,22 +91,17 @@ Configuring the Nuage-VSP Plugin Prerequisites ~~~~~~~~~~~~~ -[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] - -Before enabling the OVS plugin the hypervisor needs to be install OpenvSwitch. -Default, XenServer has already installed OpenvSwitch. However, you must -install OpenvSwitch manually on KVM. CentOS 6.4 and OpenvSwitch 1.10 are -recommended. +Before building and using the Nuage plugin for ACS 4.7, verify that the platform you intend to use is supported. -KVM hypervisor: +.. Note:: Only the release notes for Nuage VSP contain the most up-to-date information on supported versions. Please check them to verify that the information below is actually correct. -- CentOS 6.4 is recommended. +Supported Versions +------------------ -- 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. +* Nuage VSP 3.2.R2 +* Apache CloudStack 4.7 +* Citrix XenServer 6.2 +* KVM on Enterprise Linux 7.x Zone Configuration From 759263a47b8f0eddcf27dd539f286893f82efb43 Mon Sep 17 00:00:00 2001 From: Nick Livens Date: Wed, 16 Dec 2015 13:25:44 +0100 Subject: [PATCH 08/14] Added zone configuration --- rtd/source/networking/nuage-plugin.rst | 28 ++++++++++++-------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index b02bcf7..8b5f815 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -96,7 +96,7 @@ Before building and using the Nuage plugin for ACS 4.7, verify that the platform .. Note:: Only the release notes for Nuage VSP contain the most up-to-date information on supported versions. Please check them to verify that the information below is actually correct. Supported Versions ------------------- +~~~~~~~~~~~~~~~~~~ * Nuage VSP 3.2.R2 * Apache CloudStack 4.7 @@ -107,27 +107,25 @@ Supported Versions Zone Configuration ~~~~~~~~~~~~~~~~~~ -[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] +Select VSP Isolation Method During Zone Creation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -CloudStack needs to have at least one physical network with the isolation -method set to “GRE”. This network should be enabled for the Guest -traffic type. +The Nuage VSP solution is NOT supported in Basic zone provisioning mode. -.. note:: - With KVM, the traffic type should be configured with the traffic label - that matches the name of the Integration Bridge on the hypervisor. For - example, you should set the traffic label as following: +1. When adding a zone, the ACS administrator should select **Advanced** mode in the zone wizard. +2. When laying out the physical network configuration during zone provisioning, the **Guest** network traffic should be put in a separate physical network of its own. +3. This physical network carrying the **Guest** traffic should have **VSP** as the **Isolation Method**, as shown in the figure captioned "Setting Isolation Method to VSP during Zone Creation" below. - - Management & Storage traffic: cloudbr0 - - Guest & Public traffic: cloudbr1 - See KVM networking configuration guide for more detail. +Update Traffic Labels +~~~~~~~~~~~~~~~~~~~~~ +**Guest Traffic Type** -.. figure:: /_static/images/ovs-physical-network-gre.png - :align: center - :alt: a screenshot of a physical network with the GRE isolation type +Select **Edit** on the **Guest** traffic type panel and update the Traffic Label: +- For XenServer use **nuageManagedNetwork** as the **XenServer Traffic Label**. +- For KVM use **alubr0** as the **KVM Traffic Label**, as shown in the screenshot captioned "Specifying the Traffic Type in KVM." Agent Configuration ~~~~~~~~~~~~~~~~~~~ From 4a2b6e02a9cc6fc773c485574419f9006a222e75 Mon Sep 17 00:00:00 2001 From: Nick Livens Date: Wed, 16 Dec 2015 13:28:02 +0100 Subject: [PATCH 09/14] Removed agent configuration --- rtd/source/networking/nuage-plugin.rst | 66 +------------------------- 1 file changed, 1 insertion(+), 65 deletions(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 8b5f815..a6a0d5e 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -114,7 +114,7 @@ The Nuage VSP solution is NOT supported in Basic zone provisioning mode. 1. When adding a zone, the ACS administrator should select **Advanced** mode in the zone wizard. 2. When laying out the physical network configuration during zone provisioning, the **Guest** network traffic should be put in a separate physical network of its own. -3. This physical network carrying the **Guest** traffic should have **VSP** as the **Isolation Method**, as shown in the figure captioned "Setting Isolation Method to VSP during Zone Creation" below. +3. This physical network carrying the **Guest** traffic should have **VSP** as the **Isolation Method**. Update Traffic Labels @@ -127,70 +127,6 @@ Select **Edit** on the **Guest** traffic type panel and update the Traffic Label - For XenServer use **nuageManagedNetwork** as the **XenServer Traffic Label**. - For KVM use **alubr0** as the **KVM Traffic Label**, as shown in the screenshot captioned "Specifying the Traffic Type in KVM." -Agent Configuration -~~~~~~~~~~~~~~~~~~~ - -[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] - -.. note:: - Only for KVM hypervisor - -- Configure network interfaces: - - :: - - /etc/sysconfig/network-scripts/ifcfg-eth0 - DEVICE=eth0 - BOOTPROTO=none - IPV6INIT=no - NM_CONTROLLED=no - ONBOOT=yes - TYPE=OVSPort - DEVICETYPE=ovs - OVS_BRIDGE=cloudbr0 - - /etc/sysconfig/network-scripts/ifcfg-eth1 - DEVICE=eth1 - BOOTPROTO=none - IPV6INIT=no - NM_CONTROLLED=no - ONBOOT=yes - TYPE=OVSPort - DEVICETYPE=ovs - OVS_BRIDGE=cloudbr1 - - /etc/sysconfig/network-scripts/ifcfg-cloudbr0 - DEVICE=cloudbr0 - ONBOOT=yes - DEVICETYPE=ovs - TYPE=OVSBridge - BOOTPROTO=static - IPADDR=172.16.10.10 - GATEWAY=172.16.10.1 - NETMASK=255.255.255.0 - HOTPLUG=no - - /etc/sysconfig/network-scripts/ifcfg-cloudbr1 - DEVICE=cloudbr1 - ONBOOT=yes - DEVICETYPE=ovs - TYPE=OVSBridge - BOOTPROTO=none - HOTPLUG=no - - /etc/sysconfig/network - NETWORKING=yes - HOSTNAME=testkvm1 - GATEWAY=172.10.10.1 - -- Edit /etc/cloudstack/agent/agent.properties - - :: - - network.bridge.type=openvswitch - libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.OvsVifDriver - - Enabling the service provider ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 53631f0f70bcb8652a604af46b6972228ffd84bf Mon Sep 17 00:00:00 2001 From: Nick Livens Date: Wed, 16 Dec 2015 13:32:58 +0100 Subject: [PATCH 10/14] Added "Enable the service provider" --- rtd/source/networking/nuage-plugin.rst | 47 +++++++++++++++++++++----- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index a6a0d5e..20b5290 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -130,17 +130,21 @@ Select **Edit** on the **Guest** traffic type panel and update the Traffic Label Enabling the service provider ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] +Nuage VSP must be added as a Network Service provider to ACS before it can be used. -The OVS provider is disabled by default. Navigate to the "Network -Service Providers" configuration of the physical network with the GRE -isolation type. Navigate to the OVS provider and press the -"Enable Provider" button. +:Step 1: Select **Infrastructure > Zone > [zone name] > Physical Network 2 > Configure Network Service Providers > Nuage Vsp > +**, which brings up the **Add Nuage Virtualized Services Directory (VSD)** panel. -.. figure:: /_static/images/ovs-physical-network-gre-enable.png - :align: center - :alt: a screenshot of an enabled OVS provider +:Step 2: Enter the VSD **Host Name**, **Username** and **Password** that was previously created; see "Required VSD Configuration" in the Building the Nuage VSP CloudStack Plugin chapter of the current document. + +:Step 3: Specify the VSD API version by entering the API version in the appropriate field (format: ``v3_2``). + +:Step 4: *EITHER* Add **Nuage VSD** and click the **OK** button, + *OR* use API calls to configure Nuage VSP as the Network Provider; see "Nuage VSD API" in the Appendix of the current document. + +:Step 5: Go to **Infrastructure > Zones > [zone name] > Physical Network 2 > Network Service Providers > Nuage Vsp > Devices > Details** tab as shown in the figure "Enabling Nuage VSP" below. This indicates the state of Nuage VSP. Enable Nuage VSP by clicking **Enable**. + +:Step 6: (Optional) View the Nuage VSP status on the list of Network Service Providers on the **Infrastructure > Zones > [zone name] > Physical Network 2 > Network Service Providers** page; Network Offerings ~~~~~~~~~~~~~~~~~ @@ -230,3 +234,30 @@ Revision History ---------------- + +Appendix +-------- +Nuage VSD API +~~~~~~~~~~~~~ + +To add Nuage VSP as Network Service Provider, + +1. Add the specified network service provider: + +:: + + http://135.227.147.106:8080/client/api?command=addNetworkSer + viceProvider&name=NuageVsp&physicalnetworkid=87528ea5-0189-4 + a02-92db-3d1539232e21&response=json&sessionkey=CaDCr2P1qpIqm + Fsr%2BmMl1T3nLzs%3D&_=1414200788068 + +2. Add the specified Nuage VSD: + +:: + + http://135.227.147.106:8080/client/api?command=addNuageVspDe + vice&physicalnetworkid=87528ea5-0189-4a02-92db-3d1539232e21& + hostname=135.227.210.196&username=cloudstackuser1&password=c + loudstackuser1&port=8443&apiversion=v3_2&retrycount=4&retryinter + val=60&response=json&sessionkey=CaDCr2P1qpIqmFsr%2BmMl1T3nLz + s%3D From 1bbe029c196d429bc62cf0cc3a09cd25b5837b2d Mon Sep 17 00:00:00 2001 From: Nick Livens Date: Wed, 16 Dec 2015 13:45:45 +0100 Subject: [PATCH 11/14] Required VSD configuration --- rtd/source/networking/nuage-plugin.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 20b5290..9b2d316 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -103,6 +103,10 @@ Supported Versions * Citrix XenServer 6.2 * KVM on Enterprise Linux 7.x +Required VSD Configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When configuring Nuage VSP as the network service provider, Nuage VSD must be added as a CSP user, and this user must be added to the CMS group. See `Enabling the service provider `_. Zone Configuration ~~~~~~~~~~~~~~~~~~ From 4daee720c77d5fd57f7c44ebff971e4d94c500f8 Mon Sep 17 00:00:00 2001 From: Nick Livens Date: Wed, 16 Dec 2015 13:48:26 +0100 Subject: [PATCH 12/14] Required VSD configuration --- rtd/source/networking/nuage-plugin.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 9b2d316..89baf9c 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -106,7 +106,7 @@ Supported Versions Required VSD Configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~ -When configuring Nuage VSP as the network service provider, Nuage VSD must be added as a CSP user, and this user must be added to the CMS group. See `Enabling the service provider `_. +When configuring Nuage VSP as the network service provider, Nuage VSD must be added as a CSP user, and this user must be added to the CMS group. See `Enabling the service provider`_. Zone Configuration ~~~~~~~~~~~~~~~~~~ From 22bfb36e902bbd11f87311c88ab1d9fbd1930009 Mon Sep 17 00:00:00 2001 From: Nick Livens Date: Wed, 16 Dec 2015 13:55:52 +0100 Subject: [PATCH 13/14] Network offerings --- rtd/source/networking/nuage-plugin.rst | 89 ++++++++------------------ 1 file changed, 26 insertions(+), 63 deletions(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index 89baf9c..d78d955 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -153,79 +153,42 @@ Nuage VSP must be added as a Network Service provider to ACS before it can be us Network Offerings ~~~~~~~~~~~~~~~~~ -[QA TO FURTHER EDIT THIS TEXT -- THIS TEXT IS JUST COPY FROM OVS] +There are two types of Network Offerings that can be created: -Using the OVS plugin requires a network offering with Virtual -Networking enabled and configured to use the OVS element. Typical -use cases combine services from the Virtual Router appliance and the -OVS plugin. +- If Isolated Networks are required, then create a network offering for use with Isolated Networks. +- If VPC deployments are required, then create a new network offering for that. -.. cssclass:: table-striped table-bordered table-hover +Create and Enable Isolated Network Offering +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +1. Select **Service Offerings > Select Offering: Network Offerings > Add network offering**. -+----------------------+-----------------+ -| Service | Provider | -+======================+=================+ -| VPN | VirtualRouter | -+----------------------+-----------------+ -| DHCP | VirtualRouter | -+----------------------+-----------------+ -| DNS | VirtualRouter | -+----------------------+-----------------+ -| Firewall | VirtualRouter | -+----------------------+-----------------+ -| Load Balancer | OVS | -+----------------------+-----------------+ -| User Data | VirtualRouter | -+----------------------+-----------------+ -| Source NAT | VirtualRouter | -+----------------------+-----------------+ -| Static NAT | OVS | -+----------------------+-----------------+ -| Post Forwarding | OVS | -+----------------------+-----------------+ -| Virtual Networking | OVS | -+----------------------+-----------------+ - -Table: Isolated network offering with regular services from the Virtual -Router. - -.. figure:: /_static/images/ovs-network-offering.png - :align: center - :alt: a screenshot of a network offering. +2. In the **Supported Services** field select each of the following services - DHCP, Firewall, Source NAT, Static NAT, Virtual Networking and select Nuage VSP as the Provider. +3. If User Data service is desired in an Isolated Network, choose **VirtualRouter** as the User Data provider. **Per Zone** MUST be selected for the Source NAT Type for the Source NAT service. -.. note:: - The tag in the network offering should be set to the name of the - physical network with the OVS provider. +4. Click OK to create the offering. -Isolated network with network services. The virtual router is still -required to provide network services like dns and dhcp. +5. After the offering has been successfully created, enable it from the Service Offerings list. -.. cssclass:: table-striped table-bordered table-hover +Create and Enable VPC Network Offering +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +1. Select **Service Offerings > Select Offering**: **Network Offerings > Add network offering**. + +2. Select the **VPC checkbox**. In the Supported Services field select each of the following services and then select Nuage VSP as the Provider. + + * DHCP + * Source NAT + * Static NAT + * Virtual Networking + +3. (Optional) Select **VirtualRouter** as the UserData provider if password reset or metadata feature is desired. -+----------------------+-----------------+ -| Service | Provider | -+======================+=================+ -| DHCP | VirtualRouter | -+----------------------+-----------------+ -| DNS | VirtualRouter | -+----------------------+-----------------+ -| User Data | VirtualRouter | -+----------------------+-----------------+ -| Source NAT | VirtualRouter | -+----------------------+-----------------+ -| Static NAT | OVS | -+----------------------+-----------------+ -| Post Forwarding | OVS | -+----------------------+-----------------+ -| Load Balancing | OVS | -+----------------------+-----------------+ -| Virtual Networking | OVS | -+----------------------+-----------------+ - -Table: Isolated network offering with network services +4. (Optional) If network ACL is required, select **NuageVsp** as the network ACL provider. + a) Ensure the *Persistent* checkbox is selected. + b) As the *Supported Source NAT Type*, select *Per Zone*. +5. After the offering has been successfully created, enable it from the Service Offerings list. Dedicated features that come with Nuage-VSP Plugin -------------------------------------------------- From cbf047e1a20eb2c4991ed776a7ad3fb043728500 Mon Sep 17 00:00:00 2001 From: Nick Livens Date: Wed, 16 Dec 2015 13:58:16 +0100 Subject: [PATCH 14/14] Dedicated features --- rtd/source/networking/nuage-plugin.rst | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/rtd/source/networking/nuage-plugin.rst b/rtd/source/networking/nuage-plugin.rst index d78d955..1dba95c 100644 --- a/rtd/source/networking/nuage-plugin.rst +++ b/rtd/source/networking/nuage-plugin.rst @@ -192,8 +192,27 @@ Create and Enable VPC Network Offering Dedicated features that come with Nuage-VSP Plugin -------------------------------------------------- +Domain Template Support for CloudStack in VSP +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Overview +~~~~~~~~ -Need to talk here about Domain Template Feature +VSP's CloudStack plugin can be configured to use a VSD template when instantiating domains. The parameters and abstractions contained in the template are reused every time a new domain instance is created in CloudStack, and thus all the constructs defined in the template are available to the domain. + +Configuration +~~~~~~~~~~~~~ + +Details of the global variables that have been added to support domain templates are listed below: + +:nuagevsp.isolatedntwk.domaintemplate.name: (Type: string) Name of the template to use for creation of domains for isolated networks + +:nuagevsp.vpc.domaintemplate.name: (Type: boolean) Name of the template to use for creation of domains for VPC + +To configure a domain template for use by CloudStack, use VSD to create a domain template, using the global CloudStack parameters listed above. + +.. Note:: There will be only a single domain instance for ``nuagevsp.vpc.domaintemplate.name``. + +Networks created in CloudStack will then use domain instances created from the template to which the name points.