Drop extraconfig for nova-nuage

Made the Compute as a composable service with Nuage.
Moved all the Nuage specific parameters from extraconfig to be part of this service.

Change-Id: Ic83e9c18d09fbba62bb5d8a12e28a23127f4197d
(cherry picked from commit 4b1276b8f6)
This commit is contained in:
Vineet Paul 2017-08-16 05:49:40 -04:00 committed by vntpaul
parent 5dd0181861
commit c0444b9d52
4 changed files with 45 additions and 94 deletions

View File

@ -1,8 +1,7 @@
# A Heat environment file which can be used to enable
# Nuage backend on the compute, configured via puppet
resource_registry:
OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-nuage.yaml
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::TripleO::Services::ComputeNeutronCorePluginNuage
parameter_defaults:
NuageActiveController: '0.0.0.0'

View File

@ -152,6 +152,7 @@ resource_registry:
# can be the same as NeutronCorePlugin but some vendors install different
# things where VMs run
OS::TripleO::Services::ComputeNeutronCorePlugin: puppet/services/neutron-plugin-ml2.yaml
OS::TripleO::Services::ComputeNeutronCorePluginNuage: puppet/services/neutron-compute-plugin-nuage.yaml
# Neutron Core Plugin Vendors (these typically override NeutronCorePlugin)
OS::TripleO::Services::NeutronCorePluginML2OVN: puppet/services/neutron-plugin-ml2-ovn.yaml
OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml

View File

@ -1,92 +0,0 @@
heat_template_version: pike
description: Configure hieradata for Nuage configuration on the Compute
parameters:
server:
description: ID of the compute node to apply this config to
type: string
NuageActiveController:
description: IP address of the Active Virtualized Services Controller (VSC)
type: string
NuageStandbyController:
description: IP address of the Standby Virtualized Services Controller (VSC)
type: string
NuageMetadataPort:
description: TCP Port to listen for metadata server requests
type: string
default: '9697'
NuageNovaMetadataPort:
description: TCP Port used by Nova metadata server
type: string
default: '8775'
NuageMetadataProxySharedSecret:
description: Shared secret to sign the instance-id request
type: string
NuageNovaClientVersion:
description: Client Version Nova
type: string
default: '2'
NuageNovaOsUsername:
description: Nova username in keystone_authtoken
type: string
default: 'nova'
NuageMetadataAgentStartWithOvs:
description: Set to True if nuage-metadata-agent needs to be started with nuage-openvswitch-switch
type: string
default: 'True'
NuageNovaApiEndpoint:
description: One of publicURL, internalURL, adminURL in "keystone endpoint-list"
type: string
default: 'publicURL'
NuageNovaRegionName:
description: Region name in "keystone endpoint-list"
type: string
default: 'regionOne'
# Declaration of resources for the template.
resources:
NovaNuageConfig:
type: OS::Heat::StructuredConfig
properties:
group: hiera
config:
datafiles:
nova_nuage_data:
mapped_data:
nuage::vrs::active_controller: {get_input: ActiveController}
nuage::vrs::standby_controller: {get_input: StandbyController}
nuage::metadataagent::metadata_port: {get_input: MetadataPort}
nuage::metadataagent::nova_metadata_port: {get_input: NovaMetadataPort}
nuage::metadataagent::metadata_secret: {get_input: SharedSecret}
nuage::metadataagent::nova_client_version: {get_input: NovaClientVersion}
nuage::metadataagent::nova_os_username: {get_input: NovaOsUsername}
nuage::metadataagent::metadata_agent_start_with_ovs: {get_input: MetadataAgentStartWithOvs}
nuage::metadataagent::nova_api_endpoint_type: {get_input: NovaApiEndpointType}
nuage::metadataagent::nova_region_name: {get_input: NovaRegionName}
NovaNuageDeployment:
type: OS::Heat::StructuredDeployment
properties:
name: NovaNuageDeployment
config: {get_resource: NovaNuageConfig}
server: {get_param: server}
input_values:
ActiveController: {get_param: NuageActiveController}
StandbyController: {get_param: NuageStandbyController}
MetadataPort: {get_param: NuageMetadataPort}
NovaMetadataPort: {get_param: NuageNovaMetadataPort}
SharedSecret: {get_param: NuageMetadataProxySharedSecret}
NovaClientVersion: {get_param: NuageNovaClientVersion}
NovaOsUsername: {get_param: NuageNovaOsUsername}
MetadataAgentStartWithOvs: {get_param: NuageMetadataAgentStartWithOvs}
NovaApiEndpointType: {get_param: NuageNovaApiEndpoint}
NovaRegionName: {get_param: NuageNovaRegionName}
# Specify output parameters that will be available
# after the template is instantiated.
outputs:
deploy_stdout:
description: Deployment reference, used to trigger puppet apply on changes
value: {get_attr: [NovaNuageDeployment, deploy_stdout]}

View File

@ -38,6 +38,39 @@ parameters:
description: TCP Port to listen for metadata server requests
type: string
default: '9697'
NuageActiveController:
description: IP address of the Active Virtualized Services Controller (VSC)
type: string
NuageStandbyController:
description: IP address of the Standby Virtualized Services Controller (VSC)
type: string
NuageNovaMetadataPort:
description: TCP Port used by Nova metadata server
type: string
default: '8775'
NuageMetadataProxySharedSecret:
description: Shared secret to sign the instance-id request
type: string
NuageNovaClientVersion:
description: Client Version Nova
type: string
default: '2'
NuageNovaOsUsername:
description: Nova username in keystone_authtoken
type: string
default: 'nova'
NuageMetadataAgentStartWithOvs:
description: Set to True if nuage-metadata-agent needs to be started with nuage-openvswitch-switch
type: string
default: 'True'
NuageNovaApiEndpoint:
description: One of publicURL, internalURL, adminURL in "keystone endpoint-list"
type: string
default: 'publicURL'
NuageNovaRegionName:
description: Region name in "keystone endpoint-list"
type: string
default: 'regionOne'
outputs:
role_data:
@ -45,6 +78,16 @@ outputs:
value:
service_name: neutron_compute_plugin_nuage
config_settings:
nuage::vrs::active_controller: {get_param: NuageActiveController}
nuage::vrs::standby_controller: {get_param: NuageStandbyController}
nuage::metadataagent::metadata_port: {get_param: NuageMetadataPort}
nuage::metadataagent::nova_metadata_port: {get_param: NuageNovaMetadataPort}
nuage::metadataagent::metadata_secret: {get_param: NuageMetadataProxySharedSecret}
nuage::metadataagent::nova_client_version: {get_param: NuageNovaClientVersion}
nuage::metadataagent::nova_os_username: {get_param: NuageNovaOsUsername}
nuage::metadataagent::metadata_agent_start_with_ovs: {get_param: NuageMetadataAgentStartWithOvs}
nuage::metadataagent::nova_api_endpoint_type: {get_param: NuageNovaApiEndpoint}
nuage::metadataagent::nova_region_name: {get_param: NuageNovaRegionName}
tripleo::profile::base::neutron::agents::nuage::nova_os_tenant_name: 'service'
tripleo::profile::base::neutron::agents::nuage::nova_os_password: {get_param: NovaPassword}
tripleo::profile::base::neutron::agents::nuage::nova_auth_ip: {get_param: [EndpointMap, KeystoneInternal, host]}