Drop extraconfig for neutron-nuage.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 nuage settings get to live in the same file.

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

Change-Id: I15fe14e9d6881bc408eb6bb10d9293bd914ef858
This commit is contained in:
Dan Prince 2016-06-09 10:37:11 -04:00
parent 9e502fc07d
commit 29e04f6dde
4 changed files with 49 additions and 93 deletions

View File

@ -1,7 +1,6 @@
# A Heat environment file which can be used to enable a
# a Neutron Nuage backend on the controller, configured via puppet
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
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None

View File

@ -820,7 +820,6 @@ resources:
- neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
- neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
- cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
- neutron_nuage_data # Optionally provided by ControllerExtraConfigPre
- midonet_data #Optionally provided by AllNodesExtraConfig
- neutron_opencontrail_data # Optionally provided by ControllerExtraConfigPre
merge_behavior: deeper

View File

@ -1,91 +0,0 @@
heat_template_version: 2015-04-30
description: Configure hieradata for Nuage configuration on the Controller
parameters:
server:
description: ID of the controller node to apply this config to
type: string
# Config specific parameters, to be provided via parameter_defaults
NeutronNuageOSControllerIp:
description: IP address of the OpenStack Controller
type: string
NeutronNuageNetPartitionName:
description: Specifies the title that you will see on the VSD
type: string
default: 'default_name'
NeutronNuageVSDIp:
description: IP address and port of the Virtual Services Directory
type: string
NeutronNuageVSDUsername:
description: Username to be used to log into VSD
type: string
NeutronNuageVSDPassword:
description: Password to be used to log into VSD
type: string
NeutronNuageVSDOrganization:
description: Organization parameter required to log into VSD
type: string
default: 'organization'
NeutronNuageBaseURIVersion:
description: URI version to be used based on the VSD release
type: string
default: 'default_uri_version'
NeutronNuageCMSId:
description: Cloud Management System ID (CMS ID) to distinguish between OS instances on the same VSD
type: string
UseForwardedFor:
description: Treat X-Forwarded-For as the canonical remote address. Only enable this if you have a sanitizing proxy.
type: boolean
default: false
resources:
NeutronNuageConfig:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
hiera:
datafiles:
neutron_nuage_data:
mapped_data:
neutron::plugins::nuage::nuage_oscontroller_ip: {get_input: NuageOSControllerIp}
neutron::plugins::nuage::nuage_net_partition_name: {get_input: NuageNetPartitionName}
neutron::plugins::nuage::nuage_vsd_ip: {get_input: NuageVSDIp}
neutron::plugins::nuage::nuage_vsd_username: {get_input: NuageVSDUsername}
neutron::plugins::nuage::nuage_vsd_password: {get_input: NuageVSDPassword}
neutron::plugins::nuage::nuage_vsd_organization: {get_input: NuageVSDOrganization}
neutron::plugins::nuage::nuage_base_uri_version: {get_input: NuageBaseURIVersion}
neutron::plugins::nuage::nuage_cms_id: {get_input: NuageCMSId}
nova::api::use_forwarded_for: {get_input: NovaUseForwardedFor}
NeutronNuageDeployment:
type: OS::Heat::StructuredDeployment
properties:
name: NeutronNuageDeployment
config: {get_resource: NeutronNuageConfig}
server: {get_param: server}
input_values:
NuageOSControllerIp: {get_param: NeutronNuageOSControllerIp}
NuageNetPartitionName: {get_param: NeutronNuageNetPartitionName}
NuageVSDIp: {get_param: NeutronNuageVSDIp}
NuageVSDUsername: {get_param: NeutronNuageVSDUsername}
NuageVSDPassword: {get_param: NeutronNuageVSDPassword}
NuageVSDOrganization: {get_param: NeutronNuageVSDOrganization}
NuageBaseURIVersion: {get_param: NeutronNuageBaseURIVersion}
NuageCMSId: {get_param: NeutronNuageCMSId}
NovaUseForwardedFor: {get_param: UseForwardedFor}
outputs:
deploy_stdout:
description: Deployment reference, used to trigger puppet apply on changes
value: {get_attr: [NeutronNuageDeployment, deploy_stdout]}

View File

@ -9,6 +9,46 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
# Config specific parameters, to be provided via parameter_defaults
NeutronNuageOSControllerIp:
description: IP address of the OpenStack Controller
type: string
NeutronNuageNetPartitionName:
description: Specifies the title that you will see on the VSD
type: string
default: 'default_name'
NeutronNuageVSDIp:
description: IP address and port of the Virtual Services Directory
type: string
NeutronNuageVSDUsername:
description: Username to be used to log into VSD
type: string
NeutronNuageVSDPassword:
description: Password to be used to log into VSD
type: string
NeutronNuageVSDOrganization:
description: Organization parameter required to log into VSD
type: string
default: 'organization'
NeutronNuageBaseURIVersion:
description: URI version to be used based on the VSD release
type: string
default: 'default_uri_version'
NeutronNuageCMSId:
description: Cloud Management System ID (CMS ID) to distinguish between OS instances on the same VSD
type: string
UseForwardedFor:
description: Treat X-Forwarded-For as the canonical remote address. Only enable this if you have a sanitizing proxy.
type: boolean
default: false
resources:
@ -22,5 +62,14 @@ outputs:
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]
- neutron::plugins::nuage::nuage_oscontroller_ip: {get_param: NeutronNuageOSControllerIp}
neutron::plugins::nuage::nuage_net_partition_name: {get_param: NeutronNuageNetPartitionName}
neutron::plugins::nuage::nuage_vsd_ip: {get_param: NeutronNuageVSDIp}
neutron::plugins::nuage::nuage_vsd_username: {get_param: NeutronNuageVSDUsername}
neutron::plugins::nuage::nuage_vsd_password: {get_param: NeutronNuageVSDPassword}
neutron::plugins::nuage::nuage_vsd_organization: {get_param: NeutronNuageVSDOrganization}
neutron::plugins::nuage::nuage_base_uri_version: {get_param: NeutronNuageBaseURIVersion}
neutron::plugins::nuage::nuage_cms_id: {get_param: NeutronNuageCMSId}
nova::api::use_forwarded_for: {get_param: UseForwardedFor}
step_config: |
include tripleo::profile::base::neutron::plugins::nuage