aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2016-04-08 17:09:30 -0400
committerDan Prince <dprince@redhat.com>2016-05-18 08:26:09 -0400
commit168bc2f6ff7310db6dc4cf957fdbb121419a3fcf (patch)
tree8f5c3e0bbb7f333662159cdb92fea8711c10904a
parent59e2f29fd1a43bee6a6d59d655c6ba579597f67e (diff)
composable neutron metadata service
Adds new puppet and puppet pacemaker specific services for the Neutron Metadata agent. Partially-implements: blueprint composable-services-within-roles Change-Id: I25f026507e78f18594599b3621613a54f246545d
-rw-r--r--environments/neutron-nuage-config.yaml2
-rw-r--r--environments/neutron-opencontrail.yaml2
-rwxr-xr-xenvironments/neutron-plumgrid.yaml6
-rw-r--r--environments/puppet-pacemaker.yaml1
-rw-r--r--overcloud-resource-registry-puppet.yaml1
-rw-r--r--overcloud.yaml1
-rw-r--r--puppet/controller.yaml10
-rw-r--r--puppet/manifests/overcloud_controller.pp1
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp11
-rw-r--r--puppet/services/neutron-metadata.yaml45
-rw-r--r--puppet/services/pacemaker/neutron-metadata.yaml33
11 files changed, 86 insertions, 27 deletions
diff --git a/environments/neutron-nuage-config.yaml b/environments/neutron-nuage-config.yaml
index 8eb25cc6..0cd49a20 100644
--- a/environments/neutron-nuage-config.yaml
+++ b/environments/neutron-nuage-config.yaml
@@ -3,6 +3,7 @@
resource_registry:
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-nuage.yaml
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
+ OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
parameter_defaults:
NeutronNuageOSControllerIp: '0.0.0.0'
@@ -16,7 +17,6 @@ parameter_defaults:
UseForwardedFor: true
NeutronCorePlugin: 'neutron.plugins.nuage.plugin.NuagePlugin'
NeutronEnableDHCPAgent: false
- NeutronEnableMetadataAgent: false
NeutronEnableOVSAgent: false
NeutronServicePlugins: []
NovaOVSBridge: 'alubr0'
diff --git a/environments/neutron-opencontrail.yaml b/environments/neutron-opencontrail.yaml
index 0a832f42..ceccd132 100644
--- a/environments/neutron-opencontrail.yaml
+++ b/environments/neutron-opencontrail.yaml
@@ -5,11 +5,11 @@ resource_registry:
OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/neutron-opencontrail.yaml
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
+ OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
parameter_defaults:
NeutronCorePlugin: neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2
NeutronServicePlugins: neutron_plugin_contrail.plugins.opencontrail.loadbalancer.plugin.LoadBalancerPlugin
- NeutronEnableMetadataAgent: false
NeutronEnableOVSAgent: false
NeutronEnableTunnelling: false
diff --git a/environments/neutron-plumgrid.yaml b/environments/neutron-plumgrid.yaml
index 47a6f291..19f51cfc 100755
--- a/environments/neutron-plumgrid.yaml
+++ b/environments/neutron-plumgrid.yaml
@@ -2,9 +2,10 @@
# extensions, configured via puppet
resource_registry:
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-plumgrid.yaml
- # PLUMgrid doesn't require dhcp and l3 agents
+ # PLUMgrid doesn't require dhcp, l3, and metadata agents
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
+ OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
parameter_defaults:
NeutronCorePlugin: networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2
@@ -25,6 +26,5 @@ parameter_defaults:
#PLUMgridNeutronPluginVersion: present
#PLUMgridPlumlibVersion: present
- # PLUMgrid doesn't require ovs and metadata agents
- NeutronEnableMetadataAgent: false
+ # PLUMgrid doesn't require the ovs agent
NeutronEnableOVSAgent: false
diff --git a/environments/puppet-pacemaker.yaml b/environments/puppet-pacemaker.yaml
index a73b1b4c..631b7b81 100644
--- a/environments/puppet-pacemaker.yaml
+++ b/environments/puppet-pacemaker.yaml
@@ -14,3 +14,4 @@ resource_registry:
OS::TripleO::Services::GlanceRegistry: ../puppet/services/pacemaker/glance-registry.yaml
OS::TripleO::Services::NeutronDhcpAgent: ../puppet/services/pacemaker/neutron-dhcp.yaml
OS::TripleO::Services::NeutronL3Agent: ../puppet/services/pacemaker/neutron-l3.yaml
+ OS::TripleO::Services::NeutronMetadataAgent: ../puppet/services/pacemaker/neutron-metadata.yaml
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index 58db81d6..433cc728 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -128,6 +128,7 @@ resource_registry:
OS::TripleO::Services::GlanceRegistry: puppet/services/glance-registry.yaml
OS::TripleO::Services::NeutronDhcpAgent: puppet/services/neutron-dhcp.yaml
OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml
+ OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
parameter_defaults:
EnablePackageInstall: false
diff --git a/overcloud.yaml b/overcloud.yaml
index 3fbfbe52..fb1e53d0 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -665,6 +665,7 @@ parameters:
- OS::TripleO::Services::GlanceRegistry
- OS::TripleO::Services::NeutronDhcpAgent
- OS::TripleO::Services::NeutronL3Agent
+ - OS::TripleO::Services::NeutronMetadataAgent
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
diff --git a/puppet/controller.yaml b/puppet/controller.yaml
index 57c1c2a7..9f183b9c 100644
--- a/puppet/controller.yaml
+++ b/puppet/controller.yaml
@@ -324,10 +324,6 @@ parameters:
scripts or be sure to keep 'datacentre' as a mapping network name.
type: comma_delimited_list
default: "datacentre:br-ex"
- NeutronEnableMetadataAgent:
- description: Knob to enable/disable Metadata agent
- type: boolean
- default: true
NeutronEnableOVSAgent:
description: Knob to enable/disable OVS Agent
type: boolean
@@ -968,7 +964,6 @@ resources:
template: DRIVERS
params:
DRIVERS: {get_param: NeutronTypeDrivers}
- neutron_enable_metadata_agent: {get_param: NeutronEnableMetadataAgent}
neutron_enable_ovs_agent: {get_param: NeutronEnableOVSAgent}
neutron_mechanism_drivers:
str_replace:
@@ -1381,14 +1376,11 @@ resources:
neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
- neutron::agents::metadata::shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
- neutron::agents::metadata::metadata_workers: {get_input: neutron_workers}
neutron_agent_mode: {get_input: neutron_agent_mode}
neutron_router_distributed: {get_input: neutron_router_distributed}
neutron::core_plugin: {get_input: neutron_core_plugin}
neutron::service_plugins: {get_input: neutron_service_plugins}
- neutron::enable_metadata_agent: {get_input: neutron_enable_metadata_agent}
neutron::enable_ovs_agent: {get_input: neutron_enable_ovs_agent}
neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
@@ -1407,9 +1399,7 @@ resources:
neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
neutron::server::auth_password: {get_input: neutron_password}
- neutron::agents::metadata::auth_password: {get_input: neutron_password}
neutron_dsn: {get_input: neutron_dsn}
- neutron::agents::metadata::auth_url: {get_input: keystone_identity_uri}
neutron::db::mysql::password: {get_input: neutron_password}
neutron::keystone::auth::public_url: {get_input: neutron_public_url }
neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 79e08269..7ea92143 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -305,7 +305,6 @@ if hiera('step') >= 4 {
metadata_proxy_shared_secret => hiera('nova::api::neutron_metadata_proxy_shared_secret'),
}
} else {
- include ::neutron::agents::metadata
# If the value of core plugin is set to 'midonet',
# skip all the ML2 configuration
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index abb66c6a..4e0d1c37 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -592,12 +592,6 @@ if hiera('step') >= 4 or ( hiera('step') >= 3 and $sync_db ) {
metadata_proxy_shared_secret => hiera('nova::api::neutron_metadata_proxy_shared_secret'),
}
}
- if hiera('neutron::enable_metadata_agent',true) {
- class { '::neutron::agents::metadata':
- manage_service => false,
- enabled => false,
- }
- }
include ::neutron::plugins::ml2
class { '::neutron::agents::ml2::ovs':
manage_service => false,
@@ -1131,11 +1125,6 @@ if hiera('step') >= 5 {
clone_params => 'interleave=true',
}
}
- if hiera('neutron::enable_metadata_agent', true) {
- pacemaker::resource::service { $::neutron::params::metadata_agent_service:
- clone_params => 'interleave=true',
- }
- }
if hiera('neutron::enable_ovs_agent', true) {
pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service:
ocf_agent_name => 'neutron:OVSCleanup',
diff --git a/puppet/services/neutron-metadata.yaml b/puppet/services/neutron-metadata.yaml
new file mode 100644
index 00000000..1fe139f3
--- /dev/null
+++ b/puppet/services/neutron-metadata.yaml
@@ -0,0 +1,45 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron Metadata agent configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ MysqlVirtualIPUri:
+ type: string
+ default: ''
+ NeutronMetadataProxySharedSecret:
+ description: Shared secret to prevent spoofing
+ type: string
+ hidden: true
+ NeutronWorkers:
+ default: 0
+ description: Number of workers for Neutron service.
+ type: number
+ NeutronPassword:
+ description: The password for the neutron service and db account, used by neutron agents.
+ type: string
+ hidden: true
+
+resources:
+
+ NeutronBase:
+ type: ./neutron-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Neutron Metadata agent service.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronBase, role_data, config_settings]
+ - neutron::agents::metadata::shared_secret: {get_param: NeutronMetadataProxySharedSecret}
+ neutron::agents::metadata::metadata_workers: {get_param: NeutronWorkers}
+ neutron::agents::metadata::auth_password: {get_param: NeutronPassword}
+ neutron::agents::metadata::auth_url: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
+ step_config: |
+ include tripleo::profile::base::neutron::metadata
diff --git a/puppet/services/pacemaker/neutron-metadata.yaml b/puppet/services/pacemaker/neutron-metadata.yaml
new file mode 100644
index 00000000..79baf1ea
--- /dev/null
+++ b/puppet/services/pacemaker/neutron-metadata.yaml
@@ -0,0 +1,33 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron Metadata service 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
+ MysqlVirtualIPUri:
+ type: string
+ default: ''
+
+resources:
+
+ NeutronMetadataBase:
+ type: ../neutron-metadata.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+ MysqlVirtualIPUri: {get_param: MysqlVirtualIPUri}
+
+outputs:
+ role_data:
+ description: Role data for the Neutron Metadata role.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronMetadataBase, role_data, config_settings]
+ - tripleo::profile::pacemaker::neutron::enable_metadata: True
+ step_config: |
+ include ::tripleo::profile::pacemaker::neutron::metadata