Make Resource names suitable for merge/include
[apex-tripleo-heat-templates.git] / overcloud-source.yaml
1 Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
2   server,Dedicated RabbitMQ Server,Group of Nova Computes
3 HeatTemplateFormatVersion: '2012-12-12'
4 Parameters:
5   InstanceType:
6     Default: baremetal
7     Description: Flavor to request when deploying.
8     Type: String
9   KeyName:
10     Default: default
11     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
12     Type: String
13   NovaComputeDriver:
14     Default: libvirt.LibvirtDriver
15     Type: String
16   NovaComputeLibvirtType:
17     Default: ''
18     Type: String
19   NovaImage:
20     Type: String
21     Default: overcloud-compute
22   NovaInterfaces:
23     Default: eth0
24     Type: String
25   PowerUserName:
26     Default: stack
27     Description: What username to ssh to the virtual power host with.
28     Type: String
29   notcomputeImage:
30     Type: String
31     Default: overcloud-control
32 Resources:
33   AccessPolicy:
34     Properties:
35       AllowedResources:
36       - notcompute
37     Type: OS::Heat::AccessPolicy
38   ComputeAccessPolicy:
39     Properties:
40       AllowedResources:
41       - NovaCompute0
42     Type: OS::Heat::AccessPolicy
43   Key:
44     Properties:
45       UserName:
46         Ref: User
47     Type: AWS::IAM::AccessKey
48   ComputeKey:
49     Properties:
50       UserName:
51         Ref: ComputeUser
52     Type: AWS::IAM::AccessKey
53   ComputeUser:
54     Properties:
55       Policies:
56       - Ref: ComputeAccessPolicy
57     Type: AWS::IAM::User
58   NovaCompute0:
59     Type: FileInclude
60     Path: nova-compute-instance.yaml
61     SubKey: Resources.NovaCompute0
62     Parameters:
63         NovaApiHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
64         KeystoneHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
65         RabbitHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
66         NeutronHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
67         GlanceHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
68         NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::GetAtt": [notcompute, PrivateIp]}, '/nova']]}
69         NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::GetAtt": [notcompute, PrivateIp]}, '/neutron']]}
70         NeutronNetworkType: "gre"
71         NeutronEnableTunnelling: "True"
72         NeutronNetworkVLANRanges: ""
73         NeutronBridgeMappings: ""
74         RabbitPassword: "guest"
75         ServicePassword: "unset"
76   User:
77     Properties:
78       Policies:
79       - Ref: AccessPolicy
80     Type: AWS::IAM::User
81   notcompute:
82     Metadata:
83       OpenStack::Heat::Stack: {}
84       Openstack::ImageBuilder::Elements:
85       - boot-stack
86       - heat-cfntools
87       - heat-localip
88       - neutron-network-node
89       admin-password: unset
90       admin-token: unset
91       cinder:
92         db: mysql://cinder:unset@localhost/cinder
93         volume_size_mb: '5000'
94       controller-address: 0.0.0.0
95       db-password: unset
96       glance:
97         db: mysql://glance:unset@localhost/glance
98         host: 0.0.0.0
99       heat:
100         access_key_id:
101           Ref: Key
102         admin_password: unset
103         admin_tenant_name: service
104         admin_user: heat
105         auth_encryption_key: unset___________
106         db: mysql://heat:unset@localhost/heat
107         heat_watch_server_url: http://0.0.0.0:8003
108         metadata_server_url: http://0.0.0.0:8000
109         refresh:
110         - resource: notcompute
111         secret_key:
112           Fn::GetAtt:
113           - Key
114           - SecretAccessKey
115         stack:
116           name:
117             Ref: AWS::StackName
118           region:
119             Ref: AWS::Region
120         waitcondition_server_url: http://0.0.0.0:8000/v1/waitcondition
121       interfaces:
122         control: eth0
123       keystone:
124         db: mysql://keystone:unset@localhost/keystone
125         host: 0.0.0.0
126       nova:
127         compute_driver: libvirt.LibvirtDriver
128         db: mysql://nova:unset@localhost/nova
129         host: 0.0.0.0
130         metadata-proxy: true
131       neutron:
132         host: 0.0.0.0
133         metadata_proxy_shared_secret: unset
134         ovs:
135           enable_tunneling: 'True'
136           local_ip: 0.0.0.0
137           public_interface: eth0
138           physical_bridge: br-ex
139           tenant_network_type: gre
140         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
141       rabbit:
142         host: 0.0.0.0
143         password: guest
144       service-password: unset
145     Properties:
146       ImageId:
147         Ref: notcomputeImage
148       InstanceType:
149         Ref: InstanceType
150       KeyName:
151         Ref: KeyName
152     Type: AWS::EC2::Instance