summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRohit Pagedar <rohitpagedar@gmail.com>2015-10-14 16:25:18 -0400
committerLokesh Jain <lokesh.jain@gmail.com>2015-11-30 14:57:42 -0500
commit4dff54bdb409dc33adeb3691cf299294499b7f1a (patch)
treec28ec8f5dc04534a4b14dc01550830bb0ba1ad39
parentee9b8f3a5d86c1258c717dc598a7bd34d47a367a (diff)
Changes for configuring Nuage
Added ExtraConfig templates and environment files for Nuage Networks specific parameters. Modified overcloud_compute.pp to conditionally include nuage-metadata-agent. Change-Id: I28106d8e26ad4d0158fe5e3a13f2f7b21e5c0b28
-rw-r--r--puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml50
-rw-r--r--puppet/manifests/overcloud_compute.pp7
2 files changed, 57 insertions, 0 deletions
diff --git a/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml b/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
index 64d0a630..96368e37 100644
--- a/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
+++ b/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
@@ -13,7 +13,39 @@ parameters:
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
@@ -26,6 +58,14 @@ resources:
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
@@ -35,7 +75,17 @@ resources:
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
diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp
index 2e450a44..f3a02eba 100644
--- a/puppet/manifests/overcloud_compute.pp
+++ b/puppet/manifests/overcloud_compute.pp
@@ -77,6 +77,13 @@ include ::neutron
if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
include ::nuage::vrs
include ::nova::compute::neutron
+
+ class { '::nuage::metadataagent':
+ nova_os_tenant_name => hiera('nova::api::admin_tenant_name'),
+ nova_os_password => hiera('nova_password'),
+ nova_metadata_ip => hiera('nova_metadata_node_ips'),
+ nova_auth_ip => hiera('keystone_public_api_virtual_ip'),
+ }
} else {
class { '::neutron::plugins::ml2':
flat_networks => split(hiera('neutron_flat_networks'), ','),