Browse Source

Add initial support for NSX plugin

Add the support for the VMware NSX plugin

Co-Authored-By: Tong Liu <tongl@vmware.com>

Change-Id: I3567cbb4ed8d6e5b2a3ea6b8cff6c7b8ed13b692
changes/68/441668/11
Gary Kotton 5 years ago
parent
commit
78f4a33166
  1. 5
      capabilities-map.yaml
  2. 15
      environments/neutron-nsx.yaml
  3. 1
      overcloud-resource-registry-puppet.j2.yaml
  4. 66
      puppet/services/neutron-plugin-nsx.yaml
  5. 3
      releasenotes/notes/nsx-support-1254839718d8df8c.yaml

5
capabilities-map.yaml

@ -370,6 +370,11 @@ topics:
description: Enable FOS in the overcloud
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/neutron-nsx.yaml
title: Deploy NSX Services
description:
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/neutron-l2gw.yaml
title: Neutron L2 gateway Service Plugin
description: Enables Neutron L2 gateway Service Plugin

15
environments/neutron-nsx.yaml

@ -0,0 +1,15 @@
# A Heat environment that can be used to deploy NSX Services
# extensions, configured via puppet
resource_registry:
# NSX doesn't require dhcp, l3, metadata, and ovs agents
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
# Override the Neutron core plugin to use NSX
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginNSX
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
parameter_defaults:
NeutronCorePlugin: vmware_nsx.plugin.NsxV3Plugin

1
overcloud-resource-registry-puppet.j2.yaml

@ -160,6 +160,7 @@ resource_registry:
OS::TripleO::Services::NeutronCorePluginML2OVN: puppet/services/neutron-plugin-ml2-ovn.yaml
OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml
OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml
OS::TripleO::Services::NeutronCorePluginNSX: puppet/services/neutron-plugin-nsx.yaml
OS::TripleO::Services::OVNDBs: OS::Heat::None
OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml

66
puppet/services/neutron-plugin-nsx.yaml

@ -0,0 +1,66 @@
heat_template_version: ocata
description: >
OpenStack Neutron NSX
parameters:
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
DefaultOverlayTz:
description: UUID of the default NSX overlay transport zone.
type: string
DefaultTier0Router:
description: UUID of the default tier0 router that will be used for connecting to
tier1 logical routers and configuring external networks.
type: string
NsxApiManagers:
description: IP address of one or more NSX managers separated by commas.
type: string
NsxApiUser:
description: User name of NSX Manager.
type: string
NsxApiPassword:
description: Password of NSX Manager.
type: string
NativeDhcpMetadata:
default: True
description: This is the flag to indicate if using native DHCP/Metadata or not.
type: string
DhcpProfileUuid:
description: This is the UUID of the NSX DHCP Profile that will be used to enable
native DHCP service.
type: string
MetadataProxyUuid:
description: This is the UUID of the NSX Metadata Proxy that will be used to enable
native metadata service.
type: string
outputs:
role_data:
description: Role data for the Neutron NSX plugin
value:
service_name: neutron_plugin_nsx
config_settings:
neutron::plugins::nsx_v3::default_overlay_tz: {get_param: DefaultOverlayTz}
neutron::plugins::nsx_v3::default_tier0_router: {get_param: DefaultTier0Router}
neutron::plugins::nsx_v3::nsx_api_managers: {get_param: NsxApiManagers}
neutron::plugins::nsx_v3::nsx_api_user: {get_param: NsxApiUser}
neutron::plugins::nsx_v3::nsx_api_password: {get_param: NsxApiPassword}
neutron::plugins::nsx_v3::native_dhcp_metadata: {get_param: NativeDhcpMetadata}
neutron::plugins::nsx_v3::dhcp_profile_uuid: {get_param: DhcpProfileUuid}
neutron::plugins::nsx_v3::metadata_proxy_uuid: {get_param: MetadataProxyUuid}
step_config: |
include tripleo::profile::base::neutron::plugins::nsx_v3

3
releasenotes/notes/nsx-support-1254839718d8df8c.yaml

@ -0,0 +1,3 @@
---
features:
- Add support for NSX Neutron plugin
Loading…
Cancel
Save