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