Changes for configuring Nuage
authorRohit Pagedar <rohitpagedar@gmail.com>
Wed, 14 Oct 2015 20:25:18 +0000 (16:25 -0400)
committerLokesh Jain <lokesh.jain@gmail.com>
Mon, 30 Nov 2015 19:57:42 +0000 (14:57 -0500)
Added ExtraConfig templates and environment files
 for Nuage Networks specific parameters.
Modified overcloud_compute.pp to conditionally
 include nuage-metadata-agent.

Change-Id: I28106d8e26ad4d0158fe5e3a13f2f7b21e5c0b28

puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
puppet/manifests/overcloud_compute.pp

index 64d0a63..96368e3 100644 (file)
@@ -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
index 2e450a4..f3a02eb 100644 (file)
@@ -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'), ','),