[
https://issues.apache.org/jira/browse/CLOUDSTACK-9074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15070958#comment-15070958
]
ASF GitHub Bot commented on CLOUDSTACK-9074:
--------------------------------------------
Github user miguelaferreira commented on the pull request:
https://github.com/apache/cloudstack/pull/1094#issuecomment-167105359
I've tested this PR with the additional
[commits](https://github.com/nvazquez/cloudstack/pull/1) that I've requested to
be merged here.
My environment:
* Management Server
* 2 KVM hypervisors
* 3 NSX controllers
* 1 NSX Service Node
* 2 NSX Gateways
* 1 NSX Manager
NSX setup:
* 1 transport zone (with service node, hypervisors and gateways configured
in it)
* 1 L2 Gateway service (connected to a NSX Gateway VM)
* 1 L3 Gateway service (connected to a NSX Gateway VM)
* 1 LRouter connected to the L# Gateway service
Same [marvin
configuration](https://github.com/miguelaferreira/MCT-shared/blob/9b64fd70a765e35778b1cc768edc03dbb3924654/marvin/mct-zone1-kvm1-kvm2-NVP.cfg)
used for deploying DC and running tests.
Tests:
```
nosetests --with-marvin
--marvin-config=/data/shared/marvin/mct-zone1-kvm1-kvm2-NVP-2.cfg -s -a
tags=advanced,required_hardware=true
test/integration/plugins/test_nicira_controller.py
(...)
test_01_nicira_controller (test_nicira_controller.TestNiciraContoller) ...
=== TestName: test_01_nicira_controller | Status : SUCCESS ===
ok
Nicira clusters will redirect clients (in this case ACS) to the master
node. ... === TestName: test_02_nicira_controller_redirect | Status : SUCCESS
===
ok
test_03_nicira_tunnel_guest_network
(test_nicira_controller.TestNiciraContoller) ... === TestName:
test_03_nicira_tunnel_guest_network | Status : SUCCESS ===
ok
Shared Networks Support ... === TestName:
test_04_nicira_shared_networks_numerical_vlanid | Status : SUCCESS ===
ok
Shared Networks Support ... === TestName:
test_05_nicira_shared_networks_lrouter_uuid_vlan_id | Status : SUCCESS ===
ok
----------------------------------------------------------------------
Ran 5 tests in 1961.460s
OK
```
@nvazquez if you can reproduce the same test results in your environment,
then I think we have tested this PR thoroughly.
> Support shared networking in NiciraNVP Plugin
> ---------------------------------------------
>
> Key: CLOUDSTACK-9074
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9074
> Project: CloudStack
> Issue Type: Improvement
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Affects Versions: 4.7.0
> Reporter: Nicolas Vazquez
> Fix For: 4.7.0
>
>
> h3. Introduction
> Currently NiciraNVP plugin supports only Isolated networking. In this mode of
> operations networks are assigned to individual Cloudstack accounts and on NSX
> side are completely isolated on the L3 level. Many use cases especially in
> corporate environment call for shared networking mode support. In some
> circumstances there also may be a need to translate shared NSX network over
> to a physical VLAN via L2 NSX gateway.
> Features that will be introduced to support Cloudstack shared networks in two
> modes of NiciraNVP plugin:
> * Shared networks mapped to a physical VLAN with L2 NSX gateway
> * Shared networks within the same L3 NSX domain. Multiple L3 NSX domains will
> be supported.
> h3. Features
> h4. 1) Shared networking model support
> # Support native Cloudstack shared network in NiciraNVP plugin.
> # Current code that implements isolated networking mode support will stay
> intact.
> # Designate network service offering by configuring VirtualNetworking
> provider with NiciraNVP.
> # Static/Source NAT is not used and ignored if defined in the network
> offering.
> # Nicira_vvp_router_map table will support non-unique logical routers to
> implement L3 NSX routing domains where multiple Cloudstack networks are
> attached to the same logical router.
> # Shared network with NSX based Virtual networking will go through the
> following states:
> ## Allocated
> ## Implementing
> ## Implemented
> ## Destroy
> h4. 2) Support NSX L2 gateways for L2 based VLANs mapped to a physical network
> # Optional L2gatewayserviceuuid parameter for NiciraNVP controller
> # VLAN ID of a Shared network represents VLAN to pass through L2 gateway
> similar to native Cloudstack shared networking
> # NSX workflow for network allocation
> ## Check if l2gatewayservice defined
> ## Create record in networks table
> ### NiciraNvpGuestNetworkGuru as Guru_name
> ### Lswitch as broadcast_doamin
> ### Vlan://vlan_id as broadcast_uri
> ## Create record in VLAN table
> # NSX workflow for network implementation
> ## Check if l2gatewayservice defined and valid
> ## Create logical switch
> ## Map logical switch to L2gateway service assigning shared network VLAN ID
> # NSX workflow for NIC management and/or hypervisor support
> ## No changes from current implementation
> h4. 3) Support NSX L3 multiple routing domains
> # VLAN ID of a Shared network represents an UUID of a NSX virtual router of a
> particular routing domain. We will support UUID style notation for VLAN ID.
> l3gatewayservice option is not used in shared networking
> # It is assumed that if connectivity to the physical networking is required
> then logical router is configured and connected to the physical network in
> advance. NiciraNVP plugin will not perform any task beyond basic connectivity
> to the logical router
> # Support NSX L3 multiple routing domains
> # NSX workflow for network allocation
> ## Create record in networks table
> ### NiciraNvpGuestNetworkGuru as Guru_name
> ### Lswitch as broadcast_domain
> ### NULL as broadcast_uri
> ## Create record in VLAN table
> ## Create record in nicira_nvp_router_map table
> # NSX workflow for network implementation
> ## Check if logical router exists on NSX side which UUID matches the one
> defined during shared network creation. This mode is activated if VLAN ID
> supplied in UUID style notation
> ## Create logical switch
> ## Attach logical switch to the logical router
> ## Assign shared network default gateway to the inside port of the logical
> router
> # NSX workflow for NIC management and/or hypervisor support
> ## No changes from current implementation
> h4. 4) API Changes
> # Existing API addNiciraNvpDevices will be updated
> ## Adding 1 new optional parameter – l2gatewayserviceuuid
> ## Adding 1 new response tag – l2gatewayserviceuuid
> # Existing API listNiciraNvpDevices will be updated
> ## Adding 1 new response tag – l2gatewayserviceuuid
> # Existing API listNics will be updated
> ## Adding 2 new optional response tag – nsxlogicalswitch, nsxlogicalswitchport
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)