summaryrefslogtreecommitdiffstats
path: root/puppet/extraconfig/pre_deploy/controller/neutron-nuage.yaml
blob: a4cfea07cc98c71d31c577a2d8c8e63c13c73d23 (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
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]}