aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2016-07-06 14:03:37 -0400
committerDan Prince <dprince@redhat.com>2016-07-12 09:48:31 -0400
commite8e7c42c0198f9796d3e88cd4ab518fdd61b2e1a (patch)
tree6638cbcfe51add862b96eace5ba0df86a8665a3e
parent2a6ae1bab53a9dc051d9b307da3ee8d8e8c2ebc3 (diff)
Composable Nuage Compute Plugin
Adds a new neutron compute plugin used to help configure nuage for use on compute nodes. Change-Id: I732ec85d1f0605e562dacb02624a355e425d911a Depends-On: Ic842ebdc183918ec9a24f83ae39adfba27bc799c
-rw-r--r--environments/neutron-nuage-config.yaml2
-rw-r--r--puppet/manifests/overcloud_compute.pp15
-rw-r--r--puppet/services/neutron-compute-plugin-nuage.yaml26
3 files changed, 28 insertions, 15 deletions
diff --git a/environments/neutron-nuage-config.yaml b/environments/neutron-nuage-config.yaml
index 9d739f0c..e157ae35 100644
--- a/environments/neutron-nuage-config.yaml
+++ b/environments/neutron-nuage-config.yaml
@@ -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'
diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp
index 9bebec67..ddb1c358 100644
--- a/puppet/manifests/overcloud_compute.pp
+++ b/puppet/manifests/overcloud_compute.pp
@@ -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
index 00000000..c5fbeeca
--- /dev/null
+++ b/puppet/services/neutron-compute-plugin-nuage.yaml
@@ -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