diff --git a/docker/services/neutron-plugin-ml2-ansible.yaml b/docker/services/neutron-plugin-ml2-ansible.yaml new file mode 100644 index 0000000000..af211a5410 --- /dev/null +++ b/docker/services/neutron-plugin-ml2-ansible.yaml @@ -0,0 +1,71 @@ +heat_template_version: rocky + +description: > + Neutron ML2 networking-ansible Plugin (Docker) + +parameters: + ML2HostConfigs: + description: ML2 config for switches + default: {} + type: json + 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 +resources: + + NeutronML2AnsibleBase: + type: ../../puppet/services/neutron-plugin-ml2-ansible.yaml + properties: + ML2HostConfigs: {get_param: ML2HostConfigs} + 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 ML2 ansible Plugin role. + value: + service_name: {get_attr: [NeutronML2AnsibleBase, role_data, service_name]} + config_settings: {get_attr: [NeutronML2AnsibleBase, role_data, config_settings]} + logging_source: {get_attr: [NeutronML2AnsibleBase, role_data, logging_source]} + logging_groups: {get_attr: [NeutronML2AnsibleBase, role_data, logging_groups]} + service_config_settings: {get_attr: [NeutronML2AnsibleBase, role_data, service_config_settings]} + metadata_settings: + get_attr: [NeutronML2AnsibleBase, role_data, metadata_settings] + # BEGIN DOCKER SETTINGS + puppet_config: + config_volume: 'neutron' + puppet_tags: neutron_plugin_ml2 + step_config: + get_attr: [NeutronML2AnsibleBase, role_data, step_config] + config_image: {get_param: DockerNeutronConfigImage} + kolla_config: {} + docker_config: {} diff --git a/environments/neutron-ml2-ansible.yaml b/environments/neutron-ml2-ansible.yaml index 321e1627f3..57de0a869c 100644 --- a/environments/neutron-ml2-ansible.yaml +++ b/environments/neutron-ml2-ansible.yaml @@ -1,6 +1,6 @@ # 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 + OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-ansible.yaml parameter_defaults: NeutronMechanismDrivers: openvswitch,ansible diff --git a/environments/services/neutron-ml2-ansible.yaml b/environments/services/neutron-ml2-ansible.yaml new file mode 100644 index 0000000000..0f91faa121 --- /dev/null +++ b/environments/services/neutron-ml2-ansible.yaml @@ -0,0 +1,7 @@ +# 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 fc6f44b557..e713ce05e3 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -164,7 +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::NeutronCorePluginML2Ansible: docker/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/releasenotes/notes/add-networking-ansible-containerized-de68f6c2fd6e05fc.yaml b/releasenotes/notes/add-networking-ansible-containerized-de68f6c2fd6e05fc.yaml new file mode 100644 index 0000000000..a35c68d71c --- /dev/null +++ b/releasenotes/notes/add-networking-ansible-containerized-de68f6c2fd6e05fc.yaml @@ -0,0 +1,3 @@ +--- +features: + - Added support for containerized networking-ansible Ml2 plugin.