Merge "Bring back (abandoned) support for Cinder/NFS"
[apex-tripleo-heat-templates.git] / compute-config-puppet.yaml
1 # Copyright 2014 Red Hat, Inc.
2 # All Rights Reserved.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
14 # under the License.
15 heat_template_version: 2014-10-16
16
17 description: >
18   Puppet Software Config for Nova Compute.
19
20 parameters:
21   server_id:
22     type: string
23     hidden: true
24
25 resources:
26
27   ComputePuppetConfig:
28     type: OS::Heat::SoftwareConfig
29     properties:
30       group: puppet
31       outputs:
32       - name: result
33       config:
34         get_file: puppet/overcloud_compute.pp
35
36   ComputePuppetDeployment:
37     type: OS::Heat::StructuredDeployment
38     properties:
39       server: {get_param: server_id}
40       config: {get_resource: ComputePuppetConfig}
41       signal_transport: NO_SIGNAL
42
43   NovaComputeConfigImpl:
44     type: OS::Heat::StructuredConfig
45     properties:
46       group: os-apply-config
47       config:
48         hiera:
49           hierarchy:
50             - heat_config_%{::deploy_config_name}
51             - compute
52             - common
53           datafiles:
54             common:
55               raw_data: {get_file: puppet/hieradata/common.yaml}
56             compute:
57               raw_data: {get_file: puppet/hieradata/compute.yaml}
58               oac_data:
59                 nova::compute::vncserver_proxyclient_address: local-ipv4
60               mapped_data:
61                 #nova::debug: {get_input: debug}
62                 nova_compute_driver: {get_input: nova_compute_driver}
63                 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
64                 nova_api_host: {get_input: nova_api_host}
65                 nova::compute::vncproxy_host: {get_input: nova_public_ip}
66                 nova_password: {get_input: nova_password}
67                 #ceilometer::debug: {get_input: debug}
68                 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
69                 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
70                 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
71                 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
72                 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
73                 glance_host: {get_input: glance_host}
74                 glance_port: {get_input: glance_port}
75                 glance_protocol: {get_input: glance_protocol}
76                 keystone_host: {get_input: keystone_host}
77                 #neutron::debug: {get_input: debug}
78                 neutron_flat_networks: {get_input: neutron_flat_networks}
79                 neutron_host: {get_input: neutron_host}
80                 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
81                 neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
82                 neutron_tunnel_types: {get_input: neutron_tunnel_types}
83                 neutron::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
84                 neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
85                 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
86                 neutron_physical_bridge: {get_input: neutron_physical_bridge}
87                 neutron_public_interface: {get_input: neutron_public_interface}
88                 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
89                 neutron_router_distributed: {get_input: neutron_router_distributed}
90                 neutron_agent_mode: {get_input: neutron_agent_mode}
91                 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
92                 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
93                 neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
94                 neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
95                 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
96                 admin_password: {get_input: admin_password}
97                 nova::rabbit_host: {get_input: rabbit_host}
98                 neutron::rabbit_host: {get_input: rabbit_host}
99                 ceilometer::rabbit_host: {get_input: rabbit_host}
100                 nova::rabbit_userid: {get_input: rabbit_username}
101                 neutron::rabbit_user: {get_input: rabbit_username}
102                 ceilometer::rabbit_userid: {get_input: rabbit_username}
103                 nova::rabbit_password: {get_input: rabbit_password}
104                 neutron::rabbit_password: {get_input: rabbit_password}
105                 ceilometer::rabbit_password: {get_input: rabbit_password}
106                 ntp_server: {get_input: ntp_server}
107
108 outputs:
109   config_id:
110     description: The ID of the NovaComputeConfigImpl resource.
111     value:
112       {get_resource: NovaComputeConfigImpl}