diff --git a/capabilities-map.yaml b/capabilities-map.yaml index f976101d69..899800002d 100644 --- a/capabilities-map.yaml +++ b/capabilities-map.yaml @@ -257,6 +257,11 @@ topics: description: requires: - overcloud-resource-registry-puppet.yaml + - file: environments/neutron-ml2-ansible.yaml + title: networking-ansible ML2 plugin + description: + requires: + - overcloud-resource-registry-puppet.yaml - file: environments/networking/neutron-midonet.yaml title: Neutron MidoNet Services description: diff --git a/environments/neutron-ml2-ansible.yaml b/environments/neutron-ml2-ansible.yaml new file mode 100644 index 0000000000..321e1627f3 --- /dev/null +++ b/environments/neutron-ml2-ansible.yaml @@ -0,0 +1,8 @@ +# A Heat environment file which can be used to enable network-ansible ML2 mechanism driver +resource_registry: + OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2Ansible + +parameter_defaults: + NeutronMechanismDrivers: openvswitch,ansible + NeutronTypeDrivers: local,vlan,flat + NeutronNetworkType: vlan diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 3bc2655bee..5571a70bde 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -164,6 +164,7 @@ resource_registry: OS::TripleO::Services::NeutronCorePluginMLNXSDN: puppet/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: puppet/services/neutron-plugin-ml2-ansible.yaml OS::TripleO::Services::NeutronOvsAgent: docker/services/neutron-ovs-agent.yaml OS::TripleO::Services::NeutronLinuxbridgeAgent: OS::Heat::None OS::TripleO::Services::ComputeNeutronOvsAgent: docker/services/neutron-ovs-agent.yaml diff --git a/puppet/services/neutron-plugin-ml2-ansible.yaml b/puppet/services/neutron-plugin-ml2-ansible.yaml new file mode 100644 index 0000000000..a5bde876a5 --- /dev/null +++ b/puppet/services/neutron-plugin-ml2-ansible.yaml @@ -0,0 +1,62 @@ +heat_template_version: rocky + +description: > + OpenStack Neutron ML2 networking-ansible plugin configured with Puppet + +parameters: + ML2HostConfigs: + description: ML2 config for switches + default: {} + 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 + 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 + +resources: + + NeutronMl2Base: + type: ./neutron-plugin-ml2.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 Neutron ML2 networking-ansible plugin. + value: + service_name: neutron_plugin_ml2_ansible + config_settings: + map_merge: + - get_attr: [NeutronMl2Base, role_data, config_settings] + - neutron::plugins::ml2::networking_ansible::host_configs: {get_param: ML2HostConfigs} + step_config: | + include ::tripleo::profile::base::neutron::plugins::ml2 + metadata_settings: + get_attr: [NeutronMl2Base, role_data, metadata_settings] diff --git a/releasenotes/notes/ml2-networking-ansible-0330b1203f0fc75c.yaml b/releasenotes/notes/ml2-networking-ansible-0330b1203f0fc75c.yaml new file mode 100644 index 0000000000..674ec25e44 --- /dev/null +++ b/releasenotes/notes/ml2-networking-ansible-0330b1203f0fc75c.yaml @@ -0,0 +1,3 @@ +--- +features: + - Added support for networking-ansible ML2 plugin.