Drop extraconfig for neutron-plumgrid.yaml

This patch drops the extraconfig interface in favor
of using the composable services nested stack instead.

The benefit is that it is easier to enable multiple services
(like network and storage backends at the same time) and all
of the plumgrid settings get to live in the same file.

Partially-implements: blueprint composable-services-within-roles

Change-Id: I1c5827e3650a29f7a0258531f84ae0f50f22343d
This commit is contained in:
Dan Prince 2016-06-08 16:21:31 -04:00
parent cf04308ee5
commit 5f21481962
4 changed files with 68 additions and 115 deletions
environments
puppet

@ -1,7 +1,6 @@
# A Heat environment file which can be used to enable PLUMgrid
# extensions, configured via puppet
resource_registry:
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-plumgrid.yaml
# PLUMgrid doesn't require dhcp, l3, metadata, and ovs agents
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None

@ -838,7 +838,6 @@ resources:
- neutron_nuage_data # Optionally provided by ControllerExtraConfigPre
- midonet_data #Optionally provided by AllNodesExtraConfig
- neutron_opencontrail_data # Optionally provided by ControllerExtraConfigPre
- neutron_plumgrid_data # Optionally provided by ControllerExtraConfigPre
merge_behavior: deeper
datafiles:
service_configs:

@ -1,113 +0,0 @@
heat_template_version: 2015-04-30
description: Controller hieradata for Neutron PLUMgrid configuration
parameters:
server:
description: ID of the controller node to apply this config to
type: string
PLUMgridDirectorServer:
description: IP address of the PLUMgrid Director Server
type: string
default: 127.0.0.1
PLUMgridDirectorServerPort:
description: Port of the PLUMgrid Director Server
type: string
default: 443
PLUMgridUsername:
description: Username for PLUMgrid platform
type: string
PLUMgridPassword:
description: Password for PLUMgrid platform
type: string
hidden: true
PLUMgridServerTimeOut:
description: Request timeout duration (seconds) to PLUMgrid platform
type: string
default: 99
PLUMgridNovaMetadataIP:
description: IP address of Nova Metadata
type: string
default: 169.254.169.254
PLUMgridNovaMetadataPort:
description: Port of Nova Metadata
type: string
default: 8775
PLUMgridL2GatewayVendor:
description: Vendor for L2 Gateway Switch
type: string
default: vendor
PLUMgridL2GatewayUsername:
description: Username for L2 Gateway Switch
type: string
default: username
PLUMgridL2GatewayPassword:
description: Password for L2 Gateway Switch
type: string
hidden: true
PLUMgridIdentityVersion:
description: Keystone Identity version
type: string
default: v2.0
PLUMgridConnectorType:
description: Neutron Network Connector Type
type: string
default: distributed
PLUMgridNeutronPluginVersion:
description: PLUMgrid Neutron Plugin version
type: string
default: present
PLUMgridPlumlibVersion:
description: PLUMgrid Plumlib version
type: string
default: present
resources:
ControllerPLUMgridConfig:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
hiera:
datafiles:
neutron_plumgrid_data:
mapped_data:
neutron::plugins::plumgrid::director_server: {get_input: plumgrid_director_server}
neutron::plugins::plumgrid::director_server_port: {get_input: plumgrid_director_server_port}
neutron::plugins::plumgrid::username: {get_input: plumgrid_username}
neutron::plugins::plumgrid::password: {get_input: plumgrid_password}
neutron::plugins::plumgrid::nova_metadata_ip: {get_input: plumgrid_nova_metadata_ip}
neutron::plugins::plumgrid::nova_metadata_port: {get_input: plumgrid_nova_metadata_port}
neutron::plugins::plumgrid::l2gateway_vendor: {get_input: plumgrid_l2gateway_vendor}
neutron::plugins::plumgrid::l2gateway_sw_username: {get_input: plumgrid_l2gateway_sw_username}
neutron::plugins::plumgrid::l2gateway_sw_password: {get_input: plumgrid_l2gateway_sw_password}
neutron::plugins::plumgrid::connector_type: {get_input: plumgrid_connector_type}
neutron::plugins::plumgrid::identity_version: {get_input: plumgrid_identity_version}
neutron::plugins::plumgrid::package_ensure: {get_input: plumgrid_neutron_plugin_version}
neutron::plugins::plumgrid::plumlib_package_ensure: {get_input: plumgrid_plumlib_version}
ControllerPLUMgridDeployment:
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: ControllerPLUMgridConfig}
server: {get_param: server}
input_values:
plumgrid_director_server: {get_param: PLUMgridDirectorServer}
plumgrid_director_server_port: {get_param: PLUMgridDirectorServerPort}
plumgrid_username: {get_param: PLUMgridUsername}
plumgrid_password: {get_param: PLUMgridPassword}
plumgrid_nova_metadata_ip: {get_param: PLUMgridNovaMetadataIP}
plumgrid_nova_metadata_port: {get_param: PLUMgridNovaMetadataPort}
plumgrid_l2gateway_vendor: {get_param: PLUMgridL2GatewayVendor}
plumgrid_l2gateway_sw_username: {get_param: PLUMgridL2GatewayUsername}
plumgrid_l2gateway_sw_password: {get_param: PLUMgridL2GatewayPassword}
plumgrid_identity_version: {get_param: PLUMgridIdentityVersion}
plumgrid_connector_type: {get_param: PLUMgridConnectorType}
plumgrid_neutron_plugin_version: {get_param: PLUMgridNeutronPluginVersion}
plumgrid_plumlib_version: {get_param: PLUMgridPlumlibVersion}
outputs:
deploy_stdout:
description: Deployment reference, used to trigger puppet apply on changes
value: {get_attr: [ControllerPLUMgridDeployment, deploy_stdout]}

@ -22,6 +22,60 @@ parameters:
type: string
hidden: true
# PLUMgrid specific settings
PLUMgridDirectorServer:
description: IP address of the PLUMgrid Director Server
type: string
default: 127.0.0.1
PLUMgridDirectorServerPort:
description: Port of the PLUMgrid Director Server
type: string
default: 443
PLUMgridUsername:
description: Username for PLUMgrid platform
type: string
PLUMgridPassword:
description: Password for PLUMgrid platform
type: string
hidden: true
PLUMgridNovaMetadataIP:
description: IP address of Nova Metadata
type: string
default: 169.254.169.254
PLUMgridNovaMetadataPort:
description: Port of Nova Metadata
type: string
default: 8775
PLUMgridL2GatewayVendor:
description: Vendor for L2 Gateway Switch
type: string
default: vendor
PLUMgridL2GatewayUsername:
description: Username for L2 Gateway Switch
type: string
default: username
PLUMgridL2GatewayPassword:
description: Password for L2 Gateway Switch
type: string
hidden: true
PLUMgridIdentityVersion:
description: Keystone Identity version
type: string
default: v2.0
PLUMgridConnectorType:
description: Neutron Network Connector Type
type: string
default: distributed
PLUMgridNeutronPluginVersion:
description: PLUMgrid Neutron Plugin version
type: string
default: present
PLUMgridPlumlibVersion:
description: PLUMgrid Plumlib version
type: string
default: present
outputs:
role_data:
description: Role data for the Neutron Plumgrid plugin
@ -39,5 +93,19 @@ outputs:
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}
neutron::plugins::plumgrid::director_server: {get_param: PLUMgridDirectorServer}
neutron::plugins::plumgrid::director_server_port: {get_param: PLUMgridDirectorServerPort}
neutron::plugins::plumgrid::username: {get_param: PLUMgridUsername}
neutron::plugins::plumgrid::password: {get_param: PLUMgridPassword}
neutron::plugins::plumgrid::nova_metadata_ip: {get_param: PLUMgridNovaMetadataIP}
neutron::plugins::plumgrid::nova_metadata_port: {get_param: PLUMgridNovaMetadataPort}
neutron::plugins::plumgrid::l2gateway_vendor: {get_param: PLUMgridL2GatewayVendor}
neutron::plugins::plumgrid::l2gateway_sw_username: {get_param: PLUMgridL2GatewayUsername}
neutron::plugins::plumgrid::l2gateway_sw_password: {get_param: PLUMgridL2GatewayPassword}
neutron::plugins::plumgrid::connector_type: {get_param: PLUMgridConnectorType}
neutron::plugins::plumgrid::identity_version: {get_param: PLUMgridIdentityVersion}
neutron::plugins::plumgrid::package_ensure: {get_param: PLUMgridNeutronPluginVersion}
neutron::plugins::plumgrid::plumlib_package_ensure: {get_param: PLUMgridPlumlibVersion}
step_config: |
include tripleo::profile::base::neutron::plugins::plumgrid