Composable neutron nuage plugin
authorDan Prince <dprince@redhat.com>
Thu, 9 Jun 2016 13:51:58 +0000 (09:51 -0400)
committerDan Prince <dprince@redhat.com>
Thu, 16 Jun 2016 19:04:25 +0000 (15:04 -0400)
Partially-implements: blueprint composable-services-within-roles

Depends-On: Ia4a297008b259a8e238bd1ad511e82f4e5ab6d63
Change-Id: I80ac1a5393a17d4cf997cd3ef060574455d1b5ec

environments/neutron-nuage-config.yaml
environments/puppet-pacemaker.yaml
overcloud-resource-registry-puppet.yaml
puppet/manifests/overcloud_controller.pp
puppet/manifests/overcloud_controller_pacemaker.pp
puppet/services/neutron-plugin-nuage.yaml [new file with mode: 0644]
puppet/services/pacemaker/neutron-plugin-nuage.yaml [new file with mode: 0644]

index bf5036b..59f6d34 100644 (file)
@@ -5,6 +5,8 @@ resource_registry:
   OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
   OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
   OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
+  # Override the NeutronCorePlugin to use Nuage
+  OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginNuage
 
 parameter_defaults:
   NeutronNuageOSControllerIp: '0.0.0.0'
index 52a94d8..7099822 100644 (file)
@@ -26,7 +26,7 @@ resource_registry:
   OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/pacemaker/neutron-plugin-ml2.yaml
   # Neutron Core Plugin Vendors (these typically override NeutronCorePlugin)
   OS::TripleO::Services::NeutronCorePluginPlumgrid: ../puppet/services/pacemaker/neutron-plugin-plumgrid.yaml
-
+  OS::TripleO::Services::NeutronCorePluginNuage: ../puppet/services/pacemaker/neutron-plugin-nuage.yaml
   OS::TripleO::Services::NeutronOvsAgent: ../puppet/services/pacemaker/neutron-ovs-agent.yaml
   OS::TripleO::Services::RabbitMQ: ../puppet/services/pacemaker/rabbitmq.yaml
   OS::TripleO::Services::HAproxy: ../puppet/services/pacemaker/haproxy.yaml
index 4fab246..594a77a 100644 (file)
@@ -139,7 +139,7 @@ resource_registry:
   OS::TripleO::Services::NeutronCorePlugin: puppet/services/neutron-plugin-ml2.yaml
   # Neutron Core Plugin Vendors (these typically override NeutronCorePlugin)
   OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml
-
+  OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml
   OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml
   OS::TripleO::Services::RabbitMQ: puppet/services/rabbitmq.yaml
   OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
index 6084c95..e22bf44 100644 (file)
@@ -202,12 +202,10 @@ if hiera('step') >= 4 {
 
   }
 
-  # If the value of core plugin is set to 'nuage' or'opencontrail'
-  # include nuage or opencontrail core plugins
+  # If the value of core plugin is set to 'opencontrail'
+  # include opencontrail core plugins
   # else use the default value of 'ml2'
-  if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
-    include ::neutron::plugins::nuage
-  } elsif hiera('neutron::core_plugin') == 'neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2' {
+  if hiera('neutron::core_plugin') == 'neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2' {
     include ::neutron::plugins::opencontrail
   } else {
 
index 1327111..27834cf 100644 (file)
@@ -400,9 +400,6 @@ MYSQL_HOST=localhost\n",
 
   }
 
-  if  hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
-    include ::neutron::plugins::nuage
-  }
   if  hiera('neutron::core_plugin') == 'neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2' {
     include ::neutron::plugins::opencontrail
   }
diff --git a/puppet/services/neutron-plugin-nuage.yaml b/puppet/services/neutron-plugin-nuage.yaml
new file mode 100644 (file)
index 0000000..db87f50
--- /dev/null
@@ -0,0 +1,26 @@
+heat_template_version: 2016-04-08
+
+description: >
+  OpenStack Neutron Nuage plugin
+
+parameters:
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+
+resources:
+
+  NeutronBase:
+    type: ./neutron-base.yaml
+
+outputs:
+  role_data:
+    description: Role data for the Neutron Nuage plugin
+    value:
+      config_settings:
+        map_merge:
+          - get_attr: [NeutronBase, role_data, config_settings]
+      step_config: |
+        include tripleo::profile::base::neutron::plugins::nuage
diff --git a/puppet/services/pacemaker/neutron-plugin-nuage.yaml b/puppet/services/pacemaker/neutron-plugin-nuage.yaml
new file mode 100644 (file)
index 0000000..704d922
--- /dev/null
@@ -0,0 +1,28 @@
+heat_template_version: 2016-04-08
+
+description: >
+  OpenStack Neutron Nuage Plugin with Pacemaker configured with Puppet
+
+parameters:
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+
+resources:
+
+  NeutronPluginNuageBase:
+    type: ../neutron-plugin-nuage.yaml
+    properties:
+      EndpointMap: {get_param: EndpointMap}
+
+outputs:
+  role_data:
+    description: Role data for the Neutron Nuage plugin.
+    value:
+      config_settings:
+        map_merge:
+          - get_attr: [NeutronPluginNuageBase, role_data, config_settings]
+      step_config: |
+        include ::tripleo::profile::pacemaker::neutron::plugins::nuage