OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
+ # Override the Neutron core plugin to use PLUMgrid
+ OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginPlumgrid
parameter_defaults:
NeutronCorePlugin: networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2
OS::TripleO::Services::NeutronMetadataAgent: ../puppet/services/pacemaker/neutron-metadata.yaml
OS::TripleO::Services::NeutronServer: ../puppet/services/pacemaker/neutron-server.yaml
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::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
OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
OS::TripleO::Services::NeutronServer: puppet/services/neutron-server.yaml
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::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml
OS::TripleO::Services::RabbitMQ: puppet/services/rabbitmq.yaml
OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
}
- # If the value of core plugin is set to 'nuage' or'opencontrail' or 'plumgrid',
- # include nuage or opencontrail or plumgrid core plugins
+ # If the value of core plugin is set to 'nuage' or'opencontrail'
+ # include nuage or 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' {
include ::neutron::plugins::opencontrail
- }
- elsif hiera('neutron::core_plugin') == 'networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2' {
- class { '::neutron::plugins::plumgrid' :
- connection => hiera('neutron::server::database_connection'),
- controller_priv_host => hiera('keystone_admin_api_vip'),
- admin_password => hiera('admin_password'),
- metadata_proxy_shared_secret => hiera('nova::api::neutron_metadata_proxy_shared_secret'),
- }
} else {
# If the value of core plugin is set to 'midonet',
keystone_password => hiera('neutron::server::password')
}
}
- if hiera('neutron::core_plugin') == 'networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2' {
- class { '::neutron::plugins::plumgrid' :
- connection => hiera('neutron::server::database_connection'),
- controller_priv_host => hiera('keystone_admin_api_vip'),
- admin_password => hiera('admin_password'),
- metadata_proxy_shared_secret => hiera('nova::api::neutron_metadata_proxy_shared_secret'),
- }
- }
if $enable_ceph {
$ceph_pools = hiera('ceph_pools')
--- /dev/null
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron Plumgrid plugin
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ NeutronPassword:
+ description: The password for the neutron service and db account, used by neutron agents.
+ type: string
+ hidden: true
+ NeutronMetadataProxySharedSecret:
+ description: Shared secret to prevent spoofing
+ type: string
+ hidden: true
+ AdminPassword:
+ description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+ type: string
+ hidden: true
+
+outputs:
+ role_data:
+ description: Role data for the Neutron Plumgrid plugin
+ value:
+ config_settings:
+ neutron::plugins::plumgrid::connection:
+ list_join:
+ - ''
+ - - {get_param: [EndpointMap, MysqlInternal, protocol]}
+ - '://neutron:'
+ - {get_param: NeutronPassword}
+ - '@'
+ - {get_param: [EndpointMap, MysqlInternal, host]}
+ - '/ovs_neutron?charset=utf8'
+ neutron::plugins::plumgrid::controller_priv_host: {get_param: [EndpointMap, KeystoneAdmin, host]}
+ neutron::plugins::plumgrid::admin_password: {get_param: AdminPassword}
+ neutron::plugins::plumgrid::metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
+ step_config: |
+ include tripleo::profile::base::neutron::plugins::plumgrid
--- /dev/null
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron PLUMgrid 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:
+
+ NeutronPluginPlumgridBase:
+ type: ../neutron-plugin-ml2.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Neutron PLUMgrid plugin.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronPluginPlumgridBase, role_data, config_settings]
+ step_config: |
+ include ::tripleo::profile::pacemaker::neutron::plugins::plumgrid