aboutsummaryrefslogtreecommitdiffstats
path: root/compute-config-puppet.yaml
blob: 8414579cf840e9d3261fbcc75986cac4395528b7 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Copyright 2014 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
heat_template_version: 2014-10-16

description: >
  Puppet Software Config for Nova Compute.

parameters:
  server_id:
    type: string
    hidden: true

resources:

  ComputePuppetConfig:
    type: OS::Heat::SoftwareConfig
    properties:
      group: puppet
      outputs:
      - name: result
      config:
        get_file: puppet/overcloud_compute.pp

  ComputePuppetDeployment:
    type: OS::Heat::StructuredDeployment
    properties:
      server: {get_param: server_id}
      config: {get_resource: ComputePuppetConfig}
      signal_transport: NO_SIGNAL

  NovaComputeConfigImpl:
    type: OS::Heat::StructuredConfig
    properties:
      group: os-apply-config
      config:
        hiera:
          hierarchy:
            - heat_config_%{::deploy_config_name}
            - compute
            - common
          datafiles:
            common:
              raw_data: {get_file: puppet/hieradata/common.yaml}
            compute:
              raw_data: {get_file: puppet/hieradata/compute.yaml}
              oac_data:
                nova::compute::vncserver_proxyclient_address: local-ipv4
              mapped_data:
                #nova::debug: {get_input: debug}
                nova_compute_driver: {get_input: nova_compute_driver}
                nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
                nova_api_host: {get_input: nova_api_host}
                nova::compute::vncproxy_host: {get_input: nova_public_ip}
                nova_password: {get_input: nova_password}
                #ceilometer::debug: {get_input: debug}
                ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
                ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
                ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
                snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
                snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
                glance_host: {get_input: glance_host}
                glance_port: {get_input: glance_port}
                glance_protocol: {get_input: glance_protocol}
                keystone_host: {get_input: keystone_host}
                #neutron::debug: {get_input: debug}
                neutron_flat_networks: {get_input: neutron_flat_networks}
                neutron_host: {get_input: neutron_host}
                neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
                neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
                neutron_tunnel_types: {get_input: neutron_tunnel_types}
                neutron::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
                neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
                neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
                neutron_physical_bridge: {get_input: neutron_physical_bridge}
                neutron_public_interface: {get_input: neutron_public_interface}
                nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
                neutron_router_distributed: {get_input: neutron_router_distributed}
                neutron_agent_mode: {get_input: neutron_agent_mode}
                neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
                neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
                neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
                neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
                neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
                admin_password: {get_input: admin_password}
                nova::rabbit_host: {get_input: rabbit_host}
                neutron::rabbit_host: {get_input: rabbit_host}
                ceilometer::rabbit_host: {get_input: rabbit_host}
                nova::rabbit_userid: {get_input: rabbit_username}
                neutron::rabbit_user: {get_input: rabbit_username}
                ceilometer::rabbit_userid: {get_input: rabbit_username}
                nova::rabbit_password: {get_input: rabbit_password}
                neutron::rabbit_password: {get_input: rabbit_password}
                ceilometer::rabbit_password: {get_input: rabbit_password}
                ntp_server: {get_input: ntp_server}

outputs:
  config_id:
    description: The ID of the NovaComputeConfigImpl resource.
    value:
      {get_resource: NovaComputeConfigImpl}