From 0d696a25fa43afbb460ef2847747a79cf3e0610a Mon Sep 17 00:00:00 2001 From: Deepika Khairnar Date: Tue, 25 Sep 2018 12:27:13 +0000 Subject: [PATCH] Add config files/templates to integrate nsx plugin with container Change-Id: I321d578a5947cbc69327841973924ef6cf4e4d5d --- docker/services/neutron-plugin-nsx.yaml | 71 +++++++++++++++++++ environments/neutron-nsx.yaml | 2 + environments/nsx-config.yaml | 22 ++++++ .../services/neutron-nsx-lbaasv2.yaml | 6 ++ overcloud-resource-registry-puppet.j2.yaml | 2 +- 5 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 docker/services/neutron-plugin-nsx.yaml create mode 100644 environments/nsx-config.yaml create mode 100644 environments/services/neutron-nsx-lbaasv2.yaml diff --git a/docker/services/neutron-plugin-nsx.yaml b/docker/services/neutron-plugin-nsx.yaml new file mode 100644 index 0000000000..6279e46770 --- /dev/null +++ b/docker/services/neutron-plugin-nsx.yaml @@ -0,0 +1,71 @@ +heat_template_version: queens + +description: > + OpenStack containerized Neutron NSX Plugin configured with Puppet + +parameters: + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json + 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 + DockerNeutronConfigImage: + description: The container image to use for the neutron config_volume + type: string + DefaultPasswords: + type: json + RoleName: + default: '' + description: Role name on which the service is applied + type: string + RoleParameters: + default: {} + description: Parameters specific to the role + type: json + NeutronPluginNsxPuppetTags: + default: 'neutron_plugin_nsx' + description: Puppet resource tag names that are used to generate config files with puppet + type: string + +resources: + + NeutronBase: + type: ../../puppet/services/neutron-plugin-nsx.yaml + properties: + EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + RoleName: {get_param: RoleName} + RoleParameters: {get_param: RoleParameters} + +outputs: + role_data: + description: Role data for the Neutron NSX Plugin role. + value: + service_name: {get_attr: [NeutronBase, role_data, service_name]} + config_settings: + map_merge: + - get_attr: [NeutronBase, role_data, config_settings] + service_config_settings: {get_attr: [NeutronBase, role_data, service_config_settings]} + metadata_settings: + get_attr: [NeutronBase, role_data, metadata_settings] + # BEGIN DOCKER SETTINGS + puppet_config: + config_volume: 'neutron' + puppet_tags: {get_param: NeutronPluginNsxPuppetTags} + step_config: + get_attr: [NeutronBase, role_data, step_config] + config_image: {get_param: DockerNeutronConfigImage} + kolla_config: {} + docker_config: {} diff --git a/environments/neutron-nsx.yaml b/environments/neutron-nsx.yaml index eb1dcec6e1..cd4835fb9d 100644 --- a/environments/neutron-nsx.yaml +++ b/environments/neutron-nsx.yaml @@ -13,3 +13,5 @@ resource_registry: parameter_defaults: NeutronCorePlugin: vmware_nsx.plugin.NsxV3Plugin + DhcpAgentNotification: false + NeutronServicePlugins: 'qos,neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2' diff --git a/environments/nsx-config.yaml b/environments/nsx-config.yaml new file mode 100644 index 0000000000..c14a8994e7 --- /dev/null +++ b/environments/nsx-config.yaml @@ -0,0 +1,22 @@ +resource_registry: + OS::TripleO::Services::NeutronCorePluginNSX: /usr/share/openstack-tripleo-heat-templates/docker/services/neutron-plugin-nsx.yaml + +parameter_defaults: + # Default overlay tz uuid + DefaultOverlayTz: '' + + DefaultVlanTz: '' + # Default tier0 router uuid + DefaultTier0Router: '' + # NSX API managers + NsxApiManagers: '' + # NSX API user + NsxApiUser: '' + # NSX API password + NsxApiPassword: '' + # Enable native DHCP and Metadata + NativeDhcpMetadata: True + # Default DHCP profile uuid + DhcpProfile: '' + # Default Metadata Proxy uuid + MetadataProxy: '' diff --git a/environments/services/neutron-nsx-lbaasv2.yaml b/environments/services/neutron-nsx-lbaasv2.yaml new file mode 100644 index 0000000000..72dc7d754b --- /dev/null +++ b/environments/services/neutron-nsx-lbaasv2.yaml @@ -0,0 +1,6 @@ +# A Heat environment file that can be used to deploy Neutron LBaaSv2 service +resource_registry: + OS::TripleO::Services::NeutronLbaasv2Api: ../../docker/services/neutron-lbaas-api.yaml + +parameter_defaults: + NeutronServiceProviders: ['LOADBALANCERV2:VMWareEdge:neutron_lbaas.drivers.vmware.edge_driver_v2.EdgeLoadBalancerDriverV2:default'] diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 066d4fad5d..4a5f6ce48f 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -168,7 +168,7 @@ resource_registry: OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml OS::TripleO::Services::NeutronCorePluginML2Nuage: puppet/services/neutron-plugin-ml2-nuage.yaml - OS::TripleO::Services::NeutronCorePluginNSX: puppet/services/neutron-plugin-nsx.yaml + OS::TripleO::Services::NeutronCorePluginNSX: docker/services/neutron-plugin-nsx.yaml OS::TripleO::Services::OVNDBs: OS::Heat::None OS::TripleO::Services::OVNController: OS::Heat::None