Composable Nuage Compute Plugin
authorDan Prince <dprince@redhat.com>
Wed, 6 Jul 2016 18:03:37 +0000 (14:03 -0400)
committerDan Prince <dprince@redhat.com>
Tue, 12 Jul 2016 13:48:31 +0000 (09:48 -0400)
Adds a new neutron compute plugin used to help configure nuage
for use on compute nodes.

Change-Id: I732ec85d1f0605e562dacb02624a355e425d911a
Depends-On: Ic842ebdc183918ec9a24f83ae39adfba27bc799c

environments/neutron-nuage-config.yaml
puppet/manifests/overcloud_compute.pp
puppet/services/neutron-compute-plugin-nuage.yaml [new file with mode: 0644]

index 9d739f0..e157ae3 100644 (file)
@@ -7,7 +7,7 @@ resource_registry:
   OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
   # Override the NeutronCorePlugin to use Nuage
   OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginNuage
-  OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
+  OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-nuage.yaml
 
 parameter_defaults:
   NeutronNuageOSControllerIp: '0.0.0.0'
index 9bebec6..ddb1c35 100644 (file)
@@ -40,23 +40,10 @@ if hiera('step') >= 4 {
     }
   }
 
-  # If the value of core plugin is set to 'nuage',
-  # include nuage agent,
   # If the value of core plugin is set to 'midonet',
   # include midonet agent,
   # else use the default value of 'ml2'
-  if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
-    include ::nuage::vrs
-    include ::nova::compute::neutron
-
-    class { '::nuage::metadataagent':
-      nova_os_tenant_name => hiera('nova::api::admin_tenant_name'),
-      nova_os_password    => hiera('nova_password'),
-      nova_metadata_ip    => hiera('nova_metadata_node_ips'),
-      nova_auth_ip        => hiera('keystone_public_api_virtual_ip'),
-    }
-  }
-  elsif hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
+  if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
 
     # TODO(devvesa) provide non-controller ips for these services
     $zookeeper_node_ips = hiera('neutron_api_node_ips')
diff --git a/puppet/services/neutron-compute-plugin-nuage.yaml b/puppet/services/neutron-compute-plugin-nuage.yaml
new file mode 100644 (file)
index 0000000..c5fbeec
--- /dev/null
@@ -0,0 +1,26 @@
+heat_template_version: 2016-04-08
+
+description: >
+  OpenStack Neutron Compute Nuage plugin
+
+parameters:
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+  NovaPassword:
+    description: The password for the nova service account, used by nova-api.
+    type: string
+    hidden: true
+
+outputs:
+  role_data:
+    description: Role data for the Neutron Compute Nuage plugin
+    value:
+      config_settings:
+        tripleo::profile::base::neutron::agents::nuage::nova_os_tenant_name: 'service'
+        tripleo::profile::base::neutron::agents::nuage::nova_os_password: {get_param: NovaPassword}
+        tripleo::profile::base::neutron::agents::nuage::nova_auth_ip: {get_param: [EndpointMap, KeystoneInternal, host]}
+      step_config: |
+        include ::tripleo::profile::base::neutron::agents::nuage