Merge "Adding undercloud ceilometer"
[apex-tripleo-heat-templates.git] / nova-compute-instance.yaml
1 HeatTemplateFormatVersion: '2012-12-12'
2 Description: 'Nova Compute'
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   KeyName: 
10     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
11     Type: String
12     Default: default
13   OvercloudComputeFlavor:
14     Description: Use this flavor
15     Type: String
16     Default: baremetal
17   ImageUpdatePolicy:
18     Default: 'REBUILD_PRESERVE_EPHEMERAL'
19     Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
20     Type: String
21   NovaImage:
22     Type: String
23     Default: overcloud-compute
24   KeystoneHost:
25     Type: String
26   NeutronFlatNetworks:
27     Type: String
28     Default: ''
29     Description: If set, flat networks to configure in neutron plugins.
30   NeutronHost:
31     Type: String
32   NeutronPhysicalBridge:
33     Default: ''
34     Description: An OVS bridge to create for accessing external networks.
35     Type: String
36   NeutronPublicInterface:
37     Default: ''
38     Description: A port to add to the NeutronPhysicalBridge.
39     Type: String
40   RabbitHost:
41     Type: String
42   RabbitUserName:
43     Type: String
44   RabbitPassword:
45     Type: String
46     NoEcho: true
47   CeilometerComputeAgent:
48     Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
49     Type: String
50     Default: ''
51     AllowedValues: ['', Present]
52   CeilometerMeteringSecret:
53     Default: unset
54     Description: Secret shared by the ceilometer services.
55     Type: String
56     NoEcho: true
57   CeilometerPassword:
58     Default: unset
59     Description: The password for the ceilometer service account.
60     Type: String
61     NoEcho: true
62   NovaComputeDriver:
63     Type: String
64     Default: libvirt.LibvirtDriver
65   NovaComputeLibvirtType:
66     Type: String
67     Default: ''
68   NovaApiHost:
69     Type: String
70   NovaPassword:
71     Default: unset
72     Description: The password for the nova service account, used by nova-api.
73     Type: String
74     NoEcho: true
75   GlanceHost:
76     Type: String
77   CeilometerDSN:
78     Type: String
79   NovaDSN:
80     Type: String
81   NeutronDSN:
82     Type: String
83   NeutronBridgeMappings:
84     Type: String
85   NeutronNetworkVLANRanges:
86     Type: String
87   NeutronNetworkType:
88     Type: String
89   NeutronEnableTunnelling:
90     Type: String
91   StaticHosts:
92     Default: ''
93     Description: Static content to append to /etc/hosts
94     Type: String
95   LiveUpdateUserName:
96     Type: String
97     Description: The live-update username for the undercloud Glance API.
98     Default: ''
99   LiveUpdateTenantName:
100     Type: String
101     Description: The live-update tenant name for the undercloud Glance API.
102     Default: ''
103   LiveUpdateHost:
104     Type: String
105     Description: The IP address for the undercloud Glance API.
106     Default: ''
107   LiveUpdatePassword:
108     Type: String
109     Default: ''
110     Description: The live-update password for the undercloud Glance API.
111     NoEcho: true
112   LiveUpdateComputeImage:
113     Type: String
114     Description: The image ID for live-updates to the overcloud compute nodes.
115     Default: ''
116 Resources:
117   NovaCompute0:
118     Type: OS::Nova::Server
119     Properties:
120       image:
121         {Ref: NovaImage}
122       image_update_policy:
123         Ref: ImageUpdatePolicy
124       flavor: {Ref: OvercloudComputeFlavor}
125       key_name: {Ref: KeyName}
126       user_data_format: SOFTWARE_CONFIG
127   NovaCompute0Deploy:
128     Type: OS::Heat::StructuredDeployment
129     Properties:
130       config: {Ref: NovaComputeConfig}
131       server: {Ref: NovaCompute0}
132       input_values:
133         nova_compute_driver: {Ref: NovaComputeDriver}
134         nova_compute_libvirt_type: {Ref: NovaComputeLibvirtType}
135         nova_dsn: {Ref: NovaDSN}
136         nova_api_host: {Ref: NovaApiHost}
137         nova_password: {Ref: NovaPassword}
138         ceilometer_dsn: {Ref: CeilometerDSN}
139         ceilometer_metering_secret: {Ref: CeilometerMeteringSecret}
140         ceilometer_password: {Ref: CeilometerPassword}
141         ceilometer_compute_agent: {Ref: CeilometerComputeAgent}
142         glance_host: {Ref: GlanceHost}
143         static_hosts: {Ref: StaticHosts}
144         keystone_host: {Ref: KeystoneHost}
145         neutron_flat_networks: {Ref: NeutronFlatNetworks}
146         neutron_host: {Ref: NeutronHost}
147         neutron_dsn: {Ref: NeutronDSN}
148         neutron_local_ip: {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ NovaCompute0, networks ]}]]}
149         neutron_tenant_network_type: {Ref: NeutronNetworkType}
150         neutron_network_vlan_ranges: {Ref: NeutronNetworkVLANRanges}
151         neutron_bridge_mappings: {Ref: NeutronBridgeMappings}
152         neutron_enable_tunneling: {Ref: NeutronEnableTunnelling}
153         neutron_physical_bridge: {Ref: NeutronPhysicalBridge}
154         neutron_public_interface: {Ref: NeutronPublicInterface}
155         neutron_password: {Ref: NeutronPassword}
156         admin_password: {Ref: AdminPassword}
157         rabbit_host: {Ref: RabbitHost}
158         rabbit_username: {Ref: RabbitUserName}
159         rabbit_password: {Ref: RabbitPassword}
160         live_update_host: {Ref: LiveUpdateHost}
161         live_update_username: {Ref: LiveUpdateUserName}
162         live_update_password: {Ref: LiveUpdatePassword}
163         live_update_tenant_name: {Ref: LiveUpdateTenantName}
164         nova_image: {Ref: NovaImage}
165         live_update_image_id: {Ref: LiveUpdateComputeImage}