c82b6cec10
This patch moves all the related mergepy templates for the overcloud into a deprecated directory. The Makefile has been updated so that overcloud.yaml is still generated at the top level so this shouldn't break end users. This is to reduce confusion for new users who are learning the TripleO heat templates and find the fact that we have two full implementations very confusing. Change-Id: I0848aca4dee3e37cb4c6089c5f655ad22ac6c5fd
274 lines
9.0 KiB
YAML
274 lines
9.0 KiB
YAML
heat_template_version: 2013-05-23
|
|
description: 'Nova Compute'
|
|
parameters:
|
|
AdminPassword:
|
|
default: unset
|
|
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
|
|
type: string
|
|
hidden: true
|
|
AllNodesConfig:
|
|
type: string
|
|
description: OS::Heat::Config to use for all nodes deployment
|
|
CeilometerComputeAgent:
|
|
description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
|
|
type: string
|
|
default: ''
|
|
constraints:
|
|
- allowed_values: ['', Present]
|
|
CeilometerMeteringSecret:
|
|
default: unset
|
|
description: Secret shared by the ceilometer services.
|
|
type: string
|
|
hidden: true
|
|
CeilometerPassword:
|
|
default: unset
|
|
description: The password for the ceilometer service account.
|
|
type: string
|
|
hidden: true
|
|
DefaultSignalTransport:
|
|
default: CFN_SIGNAL
|
|
description: Transport to use for software-config signals.
|
|
type: string
|
|
constraints:
|
|
- allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
|
|
ExtraConfig:
|
|
default: {}
|
|
description: |
|
|
Additional configuration to inject into the cluster. The JSON should have
|
|
the following structure:
|
|
{"FILEKEY":
|
|
{"config":
|
|
[{"section": "SECTIONNAME",
|
|
"values":
|
|
[{"option": "OPTIONNAME",
|
|
"value": "VALUENAME"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
For instance:
|
|
{"nova":
|
|
{"config":
|
|
[{"section": "default",
|
|
"values":
|
|
[{"option": "force_config_drive",
|
|
"value": "always"
|
|
}
|
|
]
|
|
},
|
|
{"section": "cells",
|
|
"values":
|
|
[{"option": "driver",
|
|
"value": "nova.cells.rpc_driver.CellsRPCDriver"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
type: json
|
|
GlanceHost:
|
|
type: string
|
|
GlancePort:
|
|
default: 9292
|
|
description: Glance port.
|
|
type: string
|
|
GlanceProtocol:
|
|
default: http
|
|
description: Protocol to use when connecting to glance, set to https for SSL.
|
|
type: string
|
|
ImageUpdatePolicy:
|
|
default: 'REBUILD_PRESERVE_EPHEMERAL'
|
|
description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
|
|
type: string
|
|
KeyName:
|
|
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
|
|
type: string
|
|
default: default
|
|
KeystoneHost:
|
|
type: string
|
|
NeutronBridgeMappings:
|
|
type: string
|
|
NeutronEnableTunnelling:
|
|
type: string
|
|
NeutronFlatNetworks:
|
|
type: string
|
|
default: ''
|
|
description: If set, flat networks to configure in neutron plugins.
|
|
NeutronHost:
|
|
type: string
|
|
NeutronNetworkType:
|
|
default: 'gre'
|
|
description: The tenant network type for Neutron, either gre or vxlan.
|
|
type: string
|
|
NeutronNetworkVLANRanges:
|
|
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
|
|
NeutronTunnelTypes:
|
|
default: 'gre'
|
|
description: |
|
|
The tunnel types for the Neutron tenant network. To specify multiple
|
|
values, use a comma separated string, like so: 'gre,vxlan'
|
|
type: string
|
|
NeutronPublicInterfaceRawDevice:
|
|
default: ''
|
|
type: string
|
|
NeutronDVR:
|
|
default: 'False'
|
|
type: string
|
|
NeutronMechanismDrivers:
|
|
default: 'openvswitch'
|
|
description: |
|
|
The mechanism drivers for the Neutron tenant network. To specify multiple
|
|
values, use a comma separated string, like so: 'openvswitch,l2_population'
|
|
type: string
|
|
NeutronAllowL3AgentFailover:
|
|
default: 'True'
|
|
description: Allow automatic l3-agent failover
|
|
type: string
|
|
NeutronL3HA:
|
|
default: 'False'
|
|
description: Whether to enable l3-agent HA
|
|
type: string
|
|
NovaApiHost:
|
|
type: string
|
|
NovaComputeDriver:
|
|
type: string
|
|
default: libvirt.LibvirtDriver
|
|
NovaComputeExtraConfig:
|
|
default: {}
|
|
description: |
|
|
NovaCompute specific configuration to inject into the cluster. Same
|
|
structure as ExtraConfig.
|
|
type: json
|
|
NovaComputeLibvirtType:
|
|
type: string
|
|
default: ''
|
|
NovaImage:
|
|
type: string
|
|
default: overcloud-compute
|
|
NovaPassword:
|
|
default: unset
|
|
description: The password for the nova service account, used by nova-api.
|
|
type: string
|
|
hidden: true
|
|
NovaPublicIP:
|
|
type: string
|
|
NtpServer:
|
|
type: string
|
|
default: ''
|
|
OvercloudComputeFlavor:
|
|
description: Use this flavor
|
|
type: string
|
|
constraints:
|
|
- custom_constraint: nova.flavor
|
|
RabbitHost:
|
|
type: string
|
|
RabbitUserName:
|
|
type: string
|
|
RabbitPassword:
|
|
type: string
|
|
hidden: true
|
|
SnmpdReadonlyUserName:
|
|
default: ro_snmp_user
|
|
description: The user name for SNMPd with readonly rights running on all Overcloud nodes
|
|
type: string
|
|
SnmpdReadonlyUserPassword:
|
|
default: unset
|
|
description: The user password for SNMPd with readonly rights running on all Overcloud nodes
|
|
type: string
|
|
hidden: true
|
|
resources:
|
|
NovaCompute0:
|
|
type: OS::Nova::Server
|
|
properties:
|
|
image:
|
|
{get_param: NovaImage}
|
|
image_update_policy:
|
|
get_param: ImageUpdatePolicy
|
|
flavor: {get_param: OvercloudComputeFlavor}
|
|
key_name: {get_param: KeyName}
|
|
networks:
|
|
- network: ctlplane
|
|
user_data_format: SOFTWARE_CONFIG
|
|
NovaCompute0Deployment:
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
signal_transport: NO_SIGNAL
|
|
config: {get_resource: NovaComputeConfig}
|
|
server: {get_resource: NovaCompute0}
|
|
input_values:
|
|
nova_compute_driver: {get_param: NovaComputeDriver}
|
|
nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
|
|
nova_public_ip: {get_param: NovaPublicIP}
|
|
nova_api_host: {get_param: NovaApiHost}
|
|
nova_password: {get_param: NovaPassword}
|
|
ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
|
|
ceilometer_password: {get_param: CeilometerPassword}
|
|
ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
|
|
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
|
|
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
|
|
glance_host: {get_param: GlanceHost}
|
|
glance_port: {get_param: GlancePort}
|
|
glance_protocol: {get_param: GlanceProtocol}
|
|
keystone_host: {get_param: KeystoneHost}
|
|
neutron_flat_networks: {get_param: NeutronFlatNetworks}
|
|
neutron_host: {get_param: NeutronHost}
|
|
neutron_local_ip: {get_attr: [NovaCompute0, networks, ctlplane, 0]}
|
|
neutron_tenant_network_type: {get_param: NeutronNetworkType}
|
|
neutron_tunnel_types: {get_param: NeutronTunnelTypes}
|
|
neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
|
|
neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
|
|
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
|
|
neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
|
|
neutron_public_interface: {get_param: NeutronPublicInterface}
|
|
neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
|
|
neutron_password: {get_param: NeutronPassword}
|
|
neutron_agent_mode: {get_param: NeutronComputeAgentMode}
|
|
neutron_router_distributed: {get_param: NeutronDVR}
|
|
neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
|
|
neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
|
|
neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
|
|
neutron_l3_ha: {get_param: NeutronL3HA}
|
|
admin_password: {get_param: AdminPassword}
|
|
rabbit_host: {get_param: RabbitHost}
|
|
rabbit_username: {get_param: RabbitUserName}
|
|
rabbit_password: {get_param: RabbitPassword}
|
|
ntp_server: {get_param: NtpServer}
|
|
NovaCompute0AllNodesDeployment:
|
|
depends_on:
|
|
- controller0AllNodesDeployment
|
|
- NovaCompute0Deployment
|
|
- NovaCompute0PassthroughSpecific
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
signal_transport: {get_param: DefaultSignalTransport}
|
|
config: {get_param: AllNodesConfig}
|
|
server: {get_resource: NovaCompute0}
|
|
NovaCompute0Passthrough:
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
config: {get_resource: NovaComputePassthrough}
|
|
server: {get_resource: NovaCompute0}
|
|
signal_transport: NO_SIGNAL
|
|
input_values:
|
|
passthrough_config: {get_param: ExtraConfig}
|
|
NovaCompute0PassthroughSpecific:
|
|
depends_on: [NovaCompute0Passthrough]
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
config: {get_resource: NovaComputePassthroughSpecific}
|
|
server: {get_resource: NovaCompute0}
|
|
signal_transport: NO_SIGNAL
|
|
input_values:
|
|
passthrough_config_specific: {get_param: NovaComputeExtraConfig}
|