tripleo-heat-templates/nova-compute-instance.yaml

166 lines
5.3 KiB
YAML

HeatTemplateFormatVersion: '2012-12-12'
Description: 'Nova Compute'
Parameters:
AdminPassword:
Default: unset
Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
Type: String
NoEcho: true
KeyName:
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
Default: default
OvercloudComputeFlavor:
Description: Use this flavor
Type: String
Default: baremetal
ImageUpdatePolicy:
Default: 'REBUILD_PRESERVE_EPHEMERAL'
Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
Type: String
NovaImage:
Type: String
Default: overcloud-compute
KeystoneHost:
Type: String
NeutronFlatNetworks:
Type: String
Default: ''
Description: If set, flat networks to configure in neutron plugins.
NeutronHost:
Type: String
NeutronPhysicalBridge:
Default: ''
Description: An OVS bridge to create for accessing external networks.
Type: String
NeutronPublicInterface:
Default: ''
Description: A port to add to the NeutronPhysicalBridge.
Type: String
RabbitHost:
Type: String
RabbitUserName:
Type: String
RabbitPassword:
Type: String
NoEcho: true
CeilometerComputeAgent:
Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
Type: String
Default: ''
AllowedValues: ['', Present]
CeilometerMeteringSecret:
Default: unset
Description: Secret shared by the ceilometer services.
Type: String
NoEcho: true
CeilometerPassword:
Default: unset
Description: The password for the ceilometer service account.
Type: String
NoEcho: true
NovaComputeDriver:
Type: String
Default: libvirt.LibvirtDriver
NovaComputeLibvirtType:
Type: String
Default: ''
NovaApiHost:
Type: String
NovaPassword:
Default: unset
Description: The password for the nova service account, used by nova-api.
Type: String
NoEcho: true
GlanceHost:
Type: String
CeilometerDSN:
Type: String
NovaDSN:
Type: String
NeutronDSN:
Type: String
NeutronBridgeMappings:
Type: String
NeutronNetworkVLANRanges:
Type: String
NeutronNetworkType:
Type: String
NeutronEnableTunnelling:
Type: String
StaticHosts:
Default: ''
Description: Static content to append to /etc/hosts
Type: String
LiveUpdateUserName:
Type: String
Description: The live-update username for the undercloud Glance API.
Default: ''
LiveUpdateTenantName:
Type: String
Description: The live-update tenant name for the undercloud Glance API.
Default: ''
LiveUpdateHost:
Type: String
Description: The IP address for the undercloud Glance API.
Default: ''
LiveUpdatePassword:
Type: String
Default: ''
Description: The live-update password for the undercloud Glance API.
NoEcho: true
LiveUpdateComputeImage:
Type: String
Description: The image ID for live-updates to the overcloud compute nodes.
Default: ''
Resources:
NovaCompute0:
Type: OS::Nova::Server
Properties:
image:
{Ref: NovaImage}
image_update_policy:
Ref: ImageUpdatePolicy
flavor: {Ref: OvercloudComputeFlavor}
key_name: {Ref: KeyName}
user_data_format: SOFTWARE_CONFIG
NovaCompute0Deploy:
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: NovaComputeConfig}
server: {Ref: NovaCompute0}
input_values:
nova_compute_driver: {Ref: NovaComputeDriver}
nova_compute_libvirt_type: {Ref: NovaComputeLibvirtType}
nova_dsn: {Ref: NovaDSN}
nova_api_host: {Ref: NovaApiHost}
nova_password: {Ref: NovaPassword}
ceilometer_dsn: {Ref: CeilometerDSN}
ceilometer_metering_secret: {Ref: CeilometerMeteringSecret}
ceilometer_password: {Ref: CeilometerPassword}
ceilometer_compute_agent: {Ref: CeilometerComputeAgent}
glance_host: {Ref: GlanceHost}
static_hosts: {Ref: StaticHosts}
keystone_host: {Ref: KeystoneHost}
neutron_flat_networks: {Ref: NeutronFlatNetworks}
neutron_host: {Ref: NeutronHost}
neutron_dsn: {Ref: NeutronDSN}
neutron_local_ip: {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ NovaCompute0, networks ]}]]}
neutron_tenant_network_type: {Ref: NeutronNetworkType}
neutron_network_vlan_ranges: {Ref: NeutronNetworkVLANRanges}
neutron_bridge_mappings: {Ref: NeutronBridgeMappings}
neutron_enable_tunneling: {Ref: NeutronEnableTunnelling}
neutron_physical_bridge: {Ref: NeutronPhysicalBridge}
neutron_public_interface: {Ref: NeutronPublicInterface}
neutron_password: {Ref: NeutronPassword}
admin_password: {Ref: AdminPassword}
rabbit_host: {Ref: RabbitHost}
rabbit_username: {Ref: RabbitUserName}
rabbit_password: {Ref: RabbitPassword}
live_update_host: {Ref: LiveUpdateHost}
live_update_username: {Ref: LiveUpdateUserName}
live_update_password: {Ref: LiveUpdatePassword}
live_update_tenant_name: {Ref: LiveUpdateTenantName}
nova_image: {Ref: NovaImage}
live_update_image_id: {Ref: LiveUpdateComputeImage}