aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
blob: 1d16e9094367474e9bbe911b39081ba66371a0da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
heat_template_version: ocata

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]}