From 5cb7fee7afc3306ecf12b1dc72610e5956084ba8 Mon Sep 17 00:00:00 2001 From: sunnyve Date: Mon, 8 Oct 2018 16:41:46 -0400 Subject: [PATCH] Introducing Nuage Neutron VRS resource. To configure Nuage VRS on Controller Node, we are introducing new service inside overcloud resource registry puppet and new heat template to configure Nuage VRS on Controller Node. Depends On: Ie6a5f57b3f0d4b00192b0760942d07ee59b32fbb Change-Id: I3f4be362b217701b8a87f7a996020919761251d9 --- overcloud-resource-registry-puppet.j2.yaml | 1 + .../neutron-compute-plugin-nuage.yaml | 2 +- .../neutron-controller-plugin-nuage.yaml | 81 +++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 puppet/services/neutron-controller-plugin-nuage.yaml diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index d665b2a197..b43458d254 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -165,6 +165,7 @@ resource_registry: 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 + OS::TripleO::Services::NeutronNuageVrs: puppet/services/neutron-controller-plugin-nuage.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-compute-plugin-nuage.yaml b/puppet/services/neutron-compute-plugin-nuage.yaml index d3d2c2f581..b2ab33cc81 100644 --- a/puppet/services/neutron-compute-plugin-nuage.yaml +++ b/puppet/services/neutron-compute-plugin-nuage.yaml @@ -72,7 +72,7 @@ parameters: type: string default: 'regionOne' NuageBridgeMTU: - description: Support for non-default MTU configured on each Compute node + description: Support for non-default MTU configured on each VRS node type: string default: '' diff --git a/puppet/services/neutron-controller-plugin-nuage.yaml b/puppet/services/neutron-controller-plugin-nuage.yaml new file mode 100644 index 0000000000..102c996bd3 --- /dev/null +++ b/puppet/services/neutron-controller-plugin-nuage.yaml @@ -0,0 +1,81 @@ +heat_template_version: rocky + +description: > + OpenStack Neutron Nuage VRS + +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 + NuageActiveController: + description: IP address of the Active Virtualized Services Controller (VSC) + type: string + NuageStandbyController: + description: IP address of the Standby Virtualized Services Controller (VSC) + type: string + NuageBridgeMTU: + description: Support for non-default MTU configured on each VRS node + type: string + default: '' + NuageDisableDhcp4: + description: Make VRS act as Dhcp server or not + type: boolean + default: false + NuageControllerEnableMetadataAgent: + description: Enbale Nuage Metadata Agent on Controller or not + type: boolean + default: false + ControllerVxlanIPtableRule: + description: Open Vxlan Port on Controller node or not + type: boolean + default: false + +conditions: + apply_vxlan_iptables_rule: {equals : [{get_param: ControllerVxlanIPtableRule}, true]} + +outputs: + role_data: + description: Role data for the Neutron Controller Nuage plugin + value: + service_name: neutron_controller_plugin_nuage + config_settings: + map_merge: + - nuage::vrs::active_controller: {get_param: NuageActiveController} + nuage::vrs::standby_controller: {get_param: NuageStandbyController} + nuage::vrs::bridge_mtu: {get_param: NuageBridgeMTU} + nuage::vrs::disable_dhcp4: {get_param: NuageDisableDhcp4} + tripleo::profile::base::neutron::agents::nuage::enable_metadata_agent: {get_param: NuageControllerEnableMetadataAgent} + - if: + - apply_vxlan_iptables_rule + - tripleo.neutron_controller_plugin_nuage.firewall_rules: + '118 neutron vxlan networks': + proto: 'udp' + dport: 4789 + - {} + + step_config: | + include ::tripleo::profile::base::neutron::agents::nuage +