Make admin-password configurable.
[apex-tripleo-heat-templates.git] / undercloud-vm.yaml
1 escription: 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   InstanceType:
13     Default: baremetal
14     Description: Flavor to request when deploying.
15     Type: String
16   KeyName:
17     Default: default
18     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
19     Type: String
20   Image:
21     Default: undercloud
22     Type: String
23   PowerUserName:
24     Default: stack
25     Description: What username to ssh to the virtual power host with.
26     Type: String
27 Resources:
28   AccessPolicy:
29     Properties:
30       AllowedResources:
31       - notcomputeConfig
32     Type: OS::Heat::AccessPolicy
33   Key:
34     Properties:
35       UserName:
36         Ref: User
37     Type: AWS::IAM::AccessKey
38   User:
39     Properties:
40       Policies:
41       - Ref: AccessPolicy
42     Type: AWS::IAM::User
43   notcomputeConfig:
44     Type: AWS::AutoScaling::LaunchConfiguration
45     Properties:
46       ImageId: '0'
47       InstanceType: foo
48     Metadata:
49       OpenStack::Heat::Stack: {}
50       Openstack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
51       admin-password:
52         Ref: AdminPassword
53       admin-token:
54         Ref: AdminToken
55       controller-address:
56         Fn::GetAtt:
57           - notcompute
58           - PrivateIp
59       cinder:
60         db: mysql://cinder:unset@localhost/cinder
61         volume_size_mb: '5000'
62       db-password: unset
63       glance:
64         db: mysql://glance:unset@localhost/glance
65         host: 127.0.0.1
66       heat:
67         admin_password: unset
68         admin_tenant_name: service
69         admin_user: heat
70         auth_encryption_key: unset___________
71         db: mysql://heat:unset@localhost/heat
72         heat_watch_server_url:
73           Fn::Join:
74             - ''
75             - - http://
76               - {"Fn::GetAtt": [ notcompute, PrivateIp ]}
77               - ":8003"
78         metadata_server_url:
79           Fn::Join:
80             - ''
81             - - http://
82               - {"Fn::GetAtt": [ notcompute, PrivateIp ]}
83               - ":8000"
84         waitcondition_server_url:
85           Fn::Join:
86             - ''
87             - - http://
88               - {"Fn::GetAtt": [ notcompute, PrivateIp ]}
89               - ":8000/v1/waitcondition"
90       os-collect-config:
91         cfn:
92           access_key_id:
93             Ref: Key
94           path: notcomputeConfig.Metadata
95           secret_access_key:
96             Fn::GetAtt:
97             - Key
98             - SecretAccessKey
99           stack_name:
100             Ref: AWS::StackName
101       interfaces:
102         control: eth2
103       keystone:
104         db: mysql://keystone:unset@localhost/keystone
105         host: 127.0.0.1
106       nova:
107         compute_hostname: ubuntu
108         compute_driver: baremetal.driver.BareMetalDriver
109         db: mysql://nova:unset@localhost/nova
110         host: 127.0.0.1
111         metadata-proxy: false
112         tuning:
113           ram_allocation_ratio: 1.0
114           reserved_host_memory_mb: 0
115         baremetal:
116           arch: i386
117           db: mysql://nova:unset@localhost/nova_bm
118           power_manager: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
119           pxe_deploy_timeout: 2400
120           virtual_power:
121             user:
122               Ref: PowerUserName
123             key: /opt/stack/boot-stack/virtual-power-key
124             ssh_host: 192.168.122.1
125             type: virsh
126       neutron:
127         host: 127.0.0.1
128         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
129         ovs:
130           dnsmasq_range: [192.0.2.25, 192.0.2.44]
131           public_interface: eth0
132           physical_bridge: br-ctlplane
133           physical_network: ctlplane
134           network_vlan_ranges: ctlplane
135           bridge_mappings: ctlplane:br-ctlplane
136           tenant_network_type: vlan
137           enable_tunneling: 'False'
138       rabbit:
139         host: 127.0.0.1
140         password: guest
141       swift:
142         store_user: unset
143         store_key: unset
144       service-password: unset
145   notcompute:
146     Type: AWS::EC2::Instance
147     Properties:
148       ImageId:
149         Ref: Image
150       InstanceType:
151         Ref: InstanceType
152       KeyName:
153         Ref: KeyName
154     Type: AWS::EC2::Instance
155     Metadata:
156       os-collect-config:
157         cfn:
158           access_key_id:
159             Ref: Key
160           path: notcomputeConfig.Metadata
161           secret_access_key:
162             Fn::GetAtt:
163             - Key
164             - SecretAccessKey
165           stack_name:
166             Ref: AWS::StackName