Replace broken usage of first_private_address
[apex-tripleo-heat-templates.git] / undercloud-vm.yaml
1 Description: All-in-one baremetal OpenStack and all dependencies.
2 HeatTemplateFormatVersion: '2012-12-12'
3 Parameters:
4   AdminPassword:
5     Default: unset
6     Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
7     Type: String
8   AdminToken:
9     Default: unset
10     Description: The keystone auth secret.
11     Type: String
12   BaremetalArch:
13     Default: i386
14     Description: The architecture to use in Nova-BM - i386 or amd64.
15     Type: String
16   Flavor:
17     Default: baremetal
18     Description: Flavor to request when deploying.
19     Type: String
20   GlancePassword:
21     Default: unset
22     Description: The password for the glance service account, used by the glance services.
23     Type: String
24   KeyName:
25     Default: default
26     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
27     Type: String
28   HeatPassword:
29     Default: unset
30     Description: The password for the Heat service account, used by the Heat services.
31     Type: String
32   Image:
33     Default: undercloud
34     Type: String
35   NeutronPassword:
36     Default: unset
37     Description: The password for the neutron service account, used by neutron agents.
38     Type: String
39   NovaPassword:
40     Default: unset
41     Description: The password for the nova service account, used by nova-api.
42     Type: String
43   PowerUserName:
44     Default: stack
45     Description: What username to ssh to the virtual power host with.
46     Type: String
47 Resources:
48   AccessPolicy:
49     Properties:
50       AllowedResources:
51       - notcomputeConfig
52     Type: OS::Heat::AccessPolicy
53   Key:
54     Properties:
55       UserName:
56         Ref: User
57     Type: AWS::IAM::AccessKey
58   User:
59     Properties:
60       Policies:
61       - Ref: AccessPolicy
62     Type: AWS::IAM::User
63   notcomputeConfig:
64     Type: AWS::AutoScaling::LaunchConfiguration
65     Properties:
66       ImageId: '0'
67       InstanceType: foo
68     Metadata:
69       OpenStack::Heat::Stack: {}
70       Openstack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
71       admin-password:
72         Ref: AdminPassword
73       admin-token: 
74         Ref: AdminToken
75       controller-address:
76         Fn::Select:
77           - 0
78           - Fn::Select:
79             - "ctlplane"
80             - Fn::GetAtt:
81               - notcompute
82               - networks
83       cinder:
84         db: mysql://cinder:unset@localhost/cinder
85         volume_size_mb: '5000'
86       db-password: unset
87       glance:
88         db: mysql://glance:unset@localhost/glance
89         host: 127.0.0.1
90         service-password:
91           Ref: GlancePassword
92       heat:
93         admin_password:
94           Ref: HeatPassword
95         admin_tenant_name: service
96         admin_user: heat
97         auth_encryption_key: unset___________
98         db: mysql://heat:unset@localhost/heat
99         heat_watch_server_url:
100           Fn::Join:
101             - ''
102             - - http://
103               - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
104               - ":8003"
105         metadata_server_url:
106           Fn::Join:
107             - ''
108             - - http://
109               - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
110               - ":8000"
111         waitcondition_server_url:
112           Fn::Join:
113             - ''
114             - - http://
115               - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
116               - ":8000/v1/waitcondition"
117       os-collect-config:
118         cfn:
119           access_key_id:
120             Ref: Key
121           path: notcomputeConfig.Metadata
122           secret_access_key:
123             Fn::GetAtt:
124             - Key
125             - SecretAccessKey
126           stack_name:
127             Ref: AWS::StackName
128       interfaces:
129         control: eth2
130       keystone:
131         db: mysql://keystone:unset@localhost/keystone
132         host: 127.0.0.1
133       nova:
134         compute_hostname: ubuntu
135         compute_driver: baremetal.driver.BareMetalDriver
136         db: mysql://nova:unset@localhost/nova
137         host: 127.0.0.1
138         metadata-proxy: false
139         tuning:
140           ram_allocation_ratio: 1.0
141           reserved_host_memory_mb: 0
142         baremetal:
143           arch:
144             Ref: BaremetalArch
145           db: mysql://nova:unset@localhost/nova_bm
146           power_manager: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
147           pxe_deploy_timeout: 2400
148           virtual_power:
149             user:
150               Ref: PowerUserName
151             key: /opt/stack/boot-stack/virtual-power-key
152             ssh_host: 192.168.122.1
153             type: virsh
154         service-password:
155           Ref: NovaPassword
156       neutron:
157         host: 127.0.0.1
158         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
159         ovs:
160           dnsmasq_range: [192.0.2.25, 192.0.2.44]
161           public_interface: eth0
162           physical_bridge: br-ctlplane
163           physical_network: ctlplane
164           network_vlan_ranges: ctlplane
165           bridge_mappings: ctlplane:br-ctlplane
166           tenant_network_type: vlan
167           enable_tunneling: 'False'
168         service-password:
169           Ref: NeutronPassword
170       rabbit:
171         host: 127.0.0.1
172         password: guest
173   notcompute:
174     Type: OS::Nova::Server
175     Properties:
176       image:
177         Ref: Image
178       flavor:
179         Ref: Flavor
180       key_name:
181         Ref: KeyName
182     Metadata:
183       os-collect-config:
184         cfn:
185           access_key_id:
186             Ref: Key
187           path: notcomputeConfig.Metadata
188           secret_access_key:
189             Fn::GetAtt:
190             - Key
191             - SecretAccessKey
192           stack_name:
193             Ref: AWS::StackName