summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2016-06-09 09:51:58 -0400
committerDan Prince <dprince@redhat.com>2016-06-16 15:04:25 -0400
commit9e502fc07d4520c873cde64dfd01a901cd271274 (patch)
treedb69bbabda31cc25f9e27fffd83be184c6187baf
parent7b22f2d8305931b8f556f8a6a2d049a9b9ac90a9 (diff)
Composable neutron nuage plugin
Partially-implements: blueprint composable-services-within-roles Depends-On: Ia4a297008b259a8e238bd1ad511e82f4e5ab6d63 Change-Id: I80ac1a5393a17d4cf997cd3ef060574455d1b5ec
-rw-r--r--environments/neutron-nuage-config.yaml2
-rw-r--r--environments/puppet-pacemaker.yaml2
-rw-r--r--overcloud-resource-registry-puppet.yaml2
-rw-r--r--puppet/manifests/overcloud_controller.pp8
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp3
-rw-r--r--puppet/services/neutron-plugin-nuage.yaml26
-rw-r--r--puppet/services/pacemaker/neutron-plugin-nuage.yaml28
7 files changed, 61 insertions, 10 deletions
diff --git a/environments/neutron-nuage-config.yaml b/environments/neutron-nuage-config.yaml
index bf5036bf..59f6d34e 100644
--- a/environments/neutron-nuage-config.yaml
+++ b/environments/neutron-nuage-config.yaml
@@ -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'
diff --git a/environments/puppet-pacemaker.yaml b/environments/puppet-pacemaker.yaml
index 52a94d80..70998223 100644
--- a/environments/puppet-pacemaker.yaml
+++ b/environments/puppet-pacemaker.yaml
@@ -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
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index 4fab2466..594a77a0 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -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
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 6084c954..e22bf449 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -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 {
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index 13271116..27834cf8 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -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
index 00000000..db87f504
--- /dev/null
+++ b/puppet/services/neutron-plugin-nuage.yaml
@@ -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
index 00000000..704d922a
--- /dev/null
+++ b/puppet/services/pacemaker/neutron-plugin-nuage.yaml
@@ -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