From 0a9ff03c76b316e1730cda24d66e4121519aacae Mon Sep 17 00:00:00 2001 From: Hamdy Khader Date: Tue, 19 Feb 2019 13:54:10 +0200 Subject: [PATCH] Add Mellanox SDN ML2 template for a containerized service Change-Id: I2868ed8cbe5414c1f09679f37853e3ebb5fd284d --- capabilities-map.yaml | 5 ++ .../neutron-plugin-ml2-mlnx-sdn-assist.yaml | 65 +++++++++++++++++++ overcloud-resource-registry-puppet.j2.yaml | 2 +- ...lanox-sdn-ml2-docker-58d242b5a8c40ade.yaml | 5 ++ 4 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 docker/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml create mode 100644 releasenotes/notes/add-mellanox-sdn-ml2-docker-58d242b5a8c40ade.yaml diff --git a/capabilities-map.yaml b/capabilities-map.yaml index c9cbe94c31..2056ca9fa5 100644 --- a/capabilities-map.yaml +++ b/capabilities-map.yaml @@ -299,6 +299,11 @@ topics: description: Enables Cisco VTS ML2 Plugin requires: - overcloud-resource-registry-puppet.yaml + - file: environments/neutron-ml2-mlnx-sdn.yaml + title: Mellanox SDN ML2 Plugin + description: Enables Mellanox SDN ML2 Plugin + requires: + - overcloud-resource-registry-puppet.yaml - title: Storage description: diff --git a/docker/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml b/docker/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml new file mode 100644 index 0000000000..8b7c3a1001 --- /dev/null +++ b/docker/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml @@ -0,0 +1,65 @@ +heat_template_version: rocky + +description: > + MLNX SDN configuration assist for Neutron ML2 Plugin. + +parameters: + 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 + DefaultPasswords: + default: {} + 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 + EndpointMap: + default: {} + description: > + Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + DockerNeutronConfigImage: + description: The container image to use for the neutron config_volume + type: string + +resources: + + NeutronMl2MLNXBase: + type: ../../puppet/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml + properties: + ServiceData: {get_param: ServiceData} + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} + RoleName: {get_param: RoleName} + RoleParameters: {get_param: RoleParameters} + +outputs: + role_data: + description: Role data for the MLNX SDN ML2 Plugin. + value: + service_name: {get_attr: [NeutronMl2MLNXBase, role_data, service_name]} + config_settings: {get_attr: [NeutronMl2MLNXBase, role_data, config_settings]} + service_config_settings: {get_attr: [NeutronMl2MLNXBase, role_data, service_config_settings]} + # BEGIN DOCKER SETTINGS + puppet_config: + config_volume: 'neutron' + puppet_tags: neutron_plugin_ml2 + step_config: + get_attr: [NeutronMl2MLNXBase, role_data, step_config] + config_image: {get_param: DockerNeutronConfigImage} + kolla_config: {} + docker_config: {} diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index df8e0c9c11..67734afdb9 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -161,7 +161,7 @@ resource_registry: OS::TripleO::Services::OVNDBs: docker/services/pacemaker/ovn-dbs.yaml OS::TripleO::Services::OVNController: docker/services/ovn-controller.yaml - OS::TripleO::Services::NeutronCorePluginMLNXSDN: puppet/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml + OS::TripleO::Services::NeutronCorePluginMLNXSDN: docker/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml OS::TripleO::Services::NeutronCorePluginVTS: docker/services/neutron-plugin-ml2-cisco-vts.yaml OS::TripleO::Services::NeutronCorePluginML2Ansible: docker/services/neutron-plugin-ml2-ansible.yaml diff --git a/releasenotes/notes/add-mellanox-sdn-ml2-docker-58d242b5a8c40ade.yaml b/releasenotes/notes/add-mellanox-sdn-ml2-docker-58d242b5a8c40ade.yaml new file mode 100644 index 0000000000..2a40cf487c --- /dev/null +++ b/releasenotes/notes/add-mellanox-sdn-ml2-docker-58d242b5a8c40ade.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Add neutron-plugin-ml2-mlnx-sdn-assist as a containerized Neutron Core + service template to support Mellanox SDN ml2 plugin.