2015-05-20 10:08:18 -07:00
|
|
|
heat_template_version: 2015-04-30
|
2014-08-06 13:24:10 +02:00
|
|
|
|
|
|
|
description: >
|
|
|
|
OpenStack hypervisor node. Can be wrapped in a ResourceGroup for scaling.
|
|
|
|
|
|
|
|
parameters:
|
|
|
|
AdminPassword:
|
|
|
|
default: unset
|
|
|
|
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
|
|
|
|
type: string
|
|
|
|
hidden: true
|
|
|
|
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
|
2015-07-02 13:59:31 +02:00
|
|
|
CinderEnableNfsBackend:
|
|
|
|
default: false
|
|
|
|
description: Whether to enable or not the NFS backend for Cinder
|
|
|
|
type: boolean
|
2014-08-06 13:24:10 +02:00
|
|
|
Debug:
|
|
|
|
default: ''
|
|
|
|
description: Set to True to enable debugging on all services.
|
|
|
|
type: string
|
|
|
|
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
|
|
|
|
Flavor:
|
|
|
|
description: Flavor for the nova compute node
|
|
|
|
type: string
|
Use parameter constraints for image, key and flavor
If you don't have (or provide) the wrong image, KeyName,
or flavor, we fail at some later point (not always early,
depending on what's wrong).
Since Icehouse, Heat has had a "custom constraints" method
of dynamically validating parameter values, by comparing the
value provided with a list from the underlying service.
Despite the name, there's nothing "custom" about the constraints,
these ones are included in Heat by default (though they are pluggable,
which is where the name comes from..)
See the docs for more info:
http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#custom-constraint
Note, I've not considered network validation here, this could
possibly be added in a subsequent patch.
These constraints are evaluated via any of the following:
- heat template-validate -f <template>
- heat stack-preview <arguments given to create>
- heat stack-create <arguments, fails fast before creating anything>
- heat stack-update <arguments, fails fast before updating anything>
Change-Id: I3a6374ce5421575cdde893c62aa97c750a07acd8
2014-10-23 16:42:45 +01:00
|
|
|
constraints:
|
|
|
|
- custom_constraint: nova.flavor
|
2014-08-06 13:24:10 +02:00
|
|
|
GlanceHost:
|
|
|
|
type: string
|
|
|
|
default: '' # Has to be here because of the ignored empty value bug
|
|
|
|
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
|
|
|
|
Image:
|
|
|
|
type: string
|
|
|
|
default: overcloud-compute
|
Use parameter constraints for image, key and flavor
If you don't have (or provide) the wrong image, KeyName,
or flavor, we fail at some later point (not always early,
depending on what's wrong).
Since Icehouse, Heat has had a "custom constraints" method
of dynamically validating parameter values, by comparing the
value provided with a list from the underlying service.
Despite the name, there's nothing "custom" about the constraints,
these ones are included in Heat by default (though they are pluggable,
which is where the name comes from..)
See the docs for more info:
http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#custom-constraint
Note, I've not considered network validation here, this could
possibly be added in a subsequent patch.
These constraints are evaluated via any of the following:
- heat template-validate -f <template>
- heat stack-preview <arguments given to create>
- heat stack-create <arguments, fails fast before creating anything>
- heat stack-update <arguments, fails fast before updating anything>
Change-Id: I3a6374ce5421575cdde893c62aa97c750a07acd8
2014-10-23 16:42:45 +01:00
|
|
|
constraints:
|
|
|
|
- custom_constraint: glance.image
|
2014-08-06 13:24:10 +02:00
|
|
|
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
|
Use parameter constraints for image, key and flavor
If you don't have (or provide) the wrong image, KeyName,
or flavor, we fail at some later point (not always early,
depending on what's wrong).
Since Icehouse, Heat has had a "custom constraints" method
of dynamically validating parameter values, by comparing the
value provided with a list from the underlying service.
Despite the name, there's nothing "custom" about the constraints,
these ones are included in Heat by default (though they are pluggable,
which is where the name comes from..)
See the docs for more info:
http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#custom-constraint
Note, I've not considered network validation here, this could
possibly be added in a subsequent patch.
These constraints are evaluated via any of the following:
- heat template-validate -f <template>
- heat stack-preview <arguments given to create>
- heat stack-create <arguments, fails fast before creating anything>
- heat stack-update <arguments, fails fast before updating anything>
Change-Id: I3a6374ce5421575cdde893c62aa97c750a07acd8
2014-10-23 16:42:45 +01:00
|
|
|
constraints:
|
|
|
|
- custom_constraint: nova.keypair
|
2015-07-23 22:19:25 -04:00
|
|
|
KeystoneAdminApiVirtualIP:
|
|
|
|
type: string
|
|
|
|
default: ''
|
|
|
|
KeystonePublicApiVirtualIP:
|
2014-08-06 13:24:10 +02:00
|
|
|
type: string
|
|
|
|
default: ''
|
|
|
|
NeutronBridgeMappings:
|
|
|
|
description: >
|
|
|
|
The OVS logical->physical bridge mappings to use. See the Neutron
|
|
|
|
documentation for details. Defaults to mapping br-ex - the external
|
|
|
|
bridge on hosts - to a physical name 'datacentre' which can be used
|
|
|
|
to create provider networks (and we use this for the default floating
|
|
|
|
network) - if changing this either use different post-install network
|
|
|
|
scripts or be sure to keep 'datacentre' as a mapping network name.
|
|
|
|
type: string
|
2015-04-07 18:10:19 -04:00
|
|
|
default: "datacentre:br-ex"
|
2014-08-06 13:24:10 +02:00
|
|
|
NeutronEnableTunnelling:
|
|
|
|
type: string
|
|
|
|
default: "True"
|
|
|
|
NeutronFlatNetworks:
|
|
|
|
type: string
|
2015-04-07 18:10:19 -04:00
|
|
|
default: 'datacentre'
|
2014-08-06 13:24:10 +02:00
|
|
|
description: >
|
|
|
|
If set, flat networks to configure in neutron plugins.
|
|
|
|
NeutronHost:
|
|
|
|
type: string
|
|
|
|
default: '' # Has to be here because of the ignored empty value bug
|
|
|
|
NeutronNetworkType:
|
|
|
|
type: string
|
|
|
|
description: The tenant network type for Neutron, either gre or vxlan.
|
2015-08-21 12:50:37 -04:00
|
|
|
default: 'vxlan'
|
2014-08-06 13:24:10 +02:00
|
|
|
NeutronNetworkVLANRanges:
|
|
|
|
default: 'datacentre'
|
|
|
|
description: >
|
|
|
|
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
|
|
|
|
Neutron documentation for permitted values. Defaults to permitting any
|
|
|
|
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
|
2015-06-02 08:32:55 -04:00
|
|
|
type: comma_delimited_list
|
2014-08-06 13:24:10 +02:00
|
|
|
NeutronPassword:
|
|
|
|
default: unset
|
|
|
|
description: The password for the neutron service account, used by neutron agents.
|
|
|
|
type: string
|
|
|
|
hidden: true
|
|
|
|
NeutronPhysicalBridge:
|
|
|
|
default: ''
|
|
|
|
description: An OVS bridge to create for accessing external networks.
|
|
|
|
type: string
|
|
|
|
NeutronPublicInterface:
|
2014-11-25 15:23:22 -05:00
|
|
|
default: nic1
|
2014-08-06 13:24:10 +02:00
|
|
|
description: A port to add to the NeutronPhysicalBridge.
|
|
|
|
type: string
|
|
|
|
NeutronTunnelTypes:
|
|
|
|
type: string
|
|
|
|
description: |
|
|
|
|
The tunnel types for the Neutron tenant network. To specify multiple
|
|
|
|
values, use a comma separated string, like so: 'gre,vxlan'
|
2015-08-21 12:50:37 -04:00
|
|
|
default: 'vxlan'
|
2015-07-08 13:29:59 +03:00
|
|
|
NeutronTunnelIdRanges:
|
|
|
|
description: |
|
|
|
|
Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
|
|
|
|
of GRE tunnel IDs that are available for tenant network allocation
|
|
|
|
default: ["1:1000", ]
|
|
|
|
type: comma_delimited_list
|
|
|
|
NeutronVniRanges:
|
|
|
|
description: |
|
|
|
|
Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
|
|
|
|
of VXLAN VNI IDs that are available for tenant network allocation
|
|
|
|
default: ["1:1000", ]
|
|
|
|
type: comma_delimited_list
|
2014-12-05 11:13:18 -05:00
|
|
|
NeutronPublicInterfaceRawDevice:
|
|
|
|
default: ''
|
|
|
|
type: string
|
|
|
|
NeutronDVR:
|
|
|
|
default: 'False'
|
|
|
|
type: string
|
|
|
|
NeutronMetadataProxySharedSecret:
|
|
|
|
default: 'unset'
|
|
|
|
description: Shared secret to prevent spoofing
|
|
|
|
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
|
2015-03-13 07:33:21 -04:00
|
|
|
# Not relevant for Computes, should be removed
|
2014-12-05 11:13:18 -05:00
|
|
|
NeutronAllowL3AgentFailover:
|
|
|
|
default: 'True'
|
|
|
|
description: Allow automatic l3-agent failover
|
|
|
|
type: string
|
2015-03-13 07:33:21 -04:00
|
|
|
# Not relevant for Computes, should be removed
|
2015-01-08 07:13:48 -05:00
|
|
|
NeutronL3HA:
|
|
|
|
default: 'False'
|
|
|
|
description: Whether to enable l3-agent HA
|
|
|
|
type: string
|
2014-12-05 11:13:18 -05:00
|
|
|
NeutronAgentMode:
|
|
|
|
default: 'dvr_snat'
|
|
|
|
description: Agent mode for the neutron-l3-agent on the controller hosts
|
|
|
|
type: string
|
2014-08-06 13:24:10 +02:00
|
|
|
NovaApiHost:
|
|
|
|
type: string
|
|
|
|
default: '' # Has to be here because of the ignored empty value bug
|
|
|
|
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: ''
|
2015-03-11 05:14:35 -04:00
|
|
|
NovaEnableRbdBackend:
|
|
|
|
default: false
|
|
|
|
description: Whether to enable or not the Rbd backend for Nova
|
|
|
|
type: boolean
|
2014-08-06 13:24:10 +02:00
|
|
|
NovaPassword:
|
|
|
|
default: unset
|
|
|
|
description: The password for the nova service account, used by nova-api.
|
|
|
|
type: string
|
|
|
|
hidden: true
|
|
|
|
NovaPublicIP:
|
|
|
|
type: string
|
|
|
|
default: '' # Has to be here because of the ignored empty value bug
|
|
|
|
NtpServer:
|
|
|
|
type: string
|
|
|
|
default: ''
|
|
|
|
RabbitHost:
|
|
|
|
type: string
|
|
|
|
default: '' # Has to be here because of the ignored empty value bug
|
|
|
|
RabbitPassword:
|
|
|
|
default: guest
|
|
|
|
description: The password for RabbitMQ
|
|
|
|
type: string
|
|
|
|
hidden: true
|
|
|
|
RabbitUserName:
|
|
|
|
default: guest
|
|
|
|
description: The username for RabbitMQ
|
|
|
|
type: string
|
2015-03-18 14:57:56 -04:00
|
|
|
RabbitClientUseSSL:
|
|
|
|
default: false
|
|
|
|
description: >
|
|
|
|
Rabbit client subscriber parameter to specify
|
|
|
|
an SSL connection to the RabbitMQ host.
|
|
|
|
type: string
|
|
|
|
RabbitClientPort:
|
|
|
|
default: 5672
|
|
|
|
description: Set rabbit subscriber port, change this if using SSL
|
|
|
|
type: number
|
2014-08-06 13:24:10 +02:00
|
|
|
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
|
2015-06-02 10:33:01 -04:00
|
|
|
ServiceNetMap:
|
|
|
|
default: {}
|
|
|
|
description: Mapping of service_name -> network name. Typically set
|
|
|
|
via parameter_defaults in the resource registry.
|
|
|
|
type: json
|
2015-05-05 11:25:40 +12:00
|
|
|
UpdateIdentifier:
|
|
|
|
default: ''
|
|
|
|
type: string
|
|
|
|
description: >
|
|
|
|
Setting to a previously unused value during stack-update will trigger
|
|
|
|
package update on all nodes
|
2015-06-15 05:13:07 -04:00
|
|
|
Hostname:
|
|
|
|
type: string
|
|
|
|
default: '' # Defaults to Heat created hostname
|
2014-08-06 13:24:10 +02:00
|
|
|
|
|
|
|
resources:
|
|
|
|
|
|
|
|
NovaCompute:
|
|
|
|
type: OS::Nova::Server
|
|
|
|
properties:
|
|
|
|
image:
|
|
|
|
{get_param: Image}
|
|
|
|
image_update_policy:
|
|
|
|
get_param: ImageUpdatePolicy
|
|
|
|
flavor: {get_param: Flavor}
|
|
|
|
key_name: {get_param: KeyName}
|
|
|
|
networks:
|
|
|
|
- network: ctlplane
|
|
|
|
user_data_format: SOFTWARE_CONFIG
|
2015-04-02 09:52:18 -04:00
|
|
|
user_data: {get_resource: NodeUserData}
|
2015-06-15 05:13:07 -04:00
|
|
|
name: {get_param: Hostname}
|
2015-04-02 09:52:18 -04:00
|
|
|
|
|
|
|
NodeUserData:
|
|
|
|
type: OS::TripleO::NodeUserData
|
2014-08-06 13:24:10 +02:00
|
|
|
|
2015-05-06 15:57:12 -04:00
|
|
|
InternalApiPort:
|
|
|
|
type: OS::TripleO::Compute::Ports::InternalApiPort
|
|
|
|
properties:
|
|
|
|
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
|
|
|
|
|
|
|
StoragePort:
|
|
|
|
type: OS::TripleO::Compute::Ports::StoragePort
|
|
|
|
properties:
|
|
|
|
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
|
|
|
|
|
|
|
TenantPort:
|
|
|
|
type: OS::TripleO::Compute::Ports::TenantPort
|
|
|
|
properties:
|
|
|
|
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
|
|
|
|
2014-10-23 15:17:49 -04:00
|
|
|
NetworkConfig:
|
2015-04-14 17:21:49 -07:00
|
|
|
type: OS::TripleO::Compute::Net::SoftwareConfig
|
2015-05-06 15:57:12 -04:00
|
|
|
properties:
|
2015-07-27 07:35:49 -04:00
|
|
|
ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
2015-05-06 15:57:12 -04:00
|
|
|
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
|
|
|
|
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
|
|
|
|
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
|
2014-10-23 15:17:49 -04:00
|
|
|
|
|
|
|
NetworkDeployment:
|
|
|
|
type: OS::TripleO::SoftwareDeployment
|
|
|
|
properties:
|
|
|
|
signal_transport: NO_SIGNAL
|
2015-05-19 12:19:52 -07:00
|
|
|
config: {get_resource: NetworkConfig}
|
2014-10-23 15:17:49 -04:00
|
|
|
server: {get_resource: NovaCompute}
|
|
|
|
input_values:
|
|
|
|
bridge_name: {get_param: NeutronPhysicalBridge}
|
|
|
|
interface_name: {get_param: NeutronPublicInterface}
|
|
|
|
|
2014-08-06 13:24:10 +02:00
|
|
|
NovaComputeConfig:
|
2015-01-14 15:54:45 -05:00
|
|
|
type: OS::Heat::StructuredConfig
|
2014-10-22 14:22:44 -04:00
|
|
|
properties:
|
2015-01-14 15:54:45 -05:00
|
|
|
group: os-apply-config
|
|
|
|
config:
|
|
|
|
nova:
|
|
|
|
compute_driver: { get_input: nova_compute_driver }
|
|
|
|
compute_libvirt_type: { get_input: nova_compute_libvirt_type }
|
|
|
|
debug: {get_input: debug}
|
|
|
|
host: {get_input: nova_api_host}
|
|
|
|
public_ip: {get_input: nova_public_ip}
|
|
|
|
service-password: {get_input: nova_password}
|
|
|
|
ceilometer:
|
|
|
|
debug: {get_input: debug}
|
|
|
|
metering_secret: {get_input: ceilometer_metering_secret}
|
|
|
|
service-password: {get_input: ceilometer_password}
|
|
|
|
compute_agent: {get_input: ceilometer_compute_agent}
|
|
|
|
snmpd:
|
|
|
|
export_MIB: UCD-SNMP-MIB
|
|
|
|
readonly_user_name: {get_input: snmpd_readonly_user_name}
|
|
|
|
readonly_user_password: {get_input: snmpd_readonly_user_password}
|
|
|
|
glance:
|
|
|
|
debug: {get_input: debug}
|
|
|
|
host: {get_input: glance_host}
|
|
|
|
port: {get_input: glance_port}
|
|
|
|
protocol: {get_input: glance_protocol}
|
|
|
|
keystone:
|
|
|
|
debug: {get_input: debug}
|
|
|
|
host: {get_input: keystone_host}
|
|
|
|
neutron:
|
|
|
|
debug: {get_input: debug}
|
|
|
|
flat-networks: {get_input: neutron_flat_networks}
|
|
|
|
host: {get_input: neutron_host}
|
|
|
|
router_distributed: {get_input: neutron_router_distributed}
|
|
|
|
agent_mode: {get_input: neutron_agent_mode}
|
|
|
|
ovs_db: {get_input: neutron_dsn}
|
|
|
|
metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
|
|
|
|
mechanism_drivers: {get_input: neutron_mechanism_drivers}
|
|
|
|
allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
|
|
|
|
l3_ha: {get_input: neutron_l3_ha}
|
|
|
|
ovs:
|
|
|
|
local_ip: {get_input: neutron_local_ip}
|
|
|
|
tenant_network_type: {get_input: neutron_tenant_network_type}
|
|
|
|
tunnel_types: {get_input: neutron_tunnel_types}
|
|
|
|
network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
|
2015-07-08 13:29:59 +03:00
|
|
|
tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
|
|
|
|
vni_ranges: {get_input: neutron_vni_ranges}
|
2015-01-14 15:54:45 -05:00
|
|
|
bridge_mappings: {get_input: neutron_bridge_mappings}
|
|
|
|
enable_tunneling: {get_input: neutron_enable_tunneling}
|
|
|
|
physical_bridge: {get_input: neutron_physical_bridge}
|
|
|
|
public_interface: {get_input: neutron_public_interface}
|
|
|
|
public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
|
|
|
|
service-password: {get_input: neutron_password}
|
|
|
|
admin-password: {get_input: admin_password}
|
|
|
|
rabbit:
|
|
|
|
host: {get_input: rabbit_host}
|
|
|
|
username: {get_input: rabbit_username}
|
|
|
|
password: {get_input: rabbit_password}
|
|
|
|
ntp:
|
|
|
|
servers:
|
|
|
|
- {server: {get_input: ntp_server}}
|
2014-08-06 13:24:10 +02:00
|
|
|
|
|
|
|
NovaComputeDeployment:
|
2014-10-15 11:18:42 -04:00
|
|
|
type: OS::TripleO::SoftwareDeployment
|
2014-08-06 13:24:10 +02:00
|
|
|
properties:
|
|
|
|
signal_transport: NO_SIGNAL
|
2015-01-14 15:54:45 -05:00
|
|
|
config: {get_resource: NovaComputeConfig}
|
2014-08-06 13:24:10 +02:00
|
|
|
server: {get_resource: NovaCompute}
|
|
|
|
input_values:
|
2014-10-15 11:18:42 -04:00
|
|
|
debug: {get_param: Debug}
|
2014-08-06 13:24:10 +02:00
|
|
|
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}
|
2015-07-23 22:19:25 -04:00
|
|
|
keystone_host: {get_param: KeystonePublicApiVirtualIP}
|
2014-08-06 13:24:10 +02:00
|
|
|
neutron_flat_networks: {get_param: NeutronFlatNetworks}
|
|
|
|
neutron_host: {get_param: NeutronHost}
|
|
|
|
neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
|
|
|
neutron_tenant_network_type: {get_param: NeutronNetworkType}
|
|
|
|
neutron_tunnel_types: {get_param: NeutronTunnelTypes}
|
2015-07-08 13:29:59 +03:00
|
|
|
neutron_tunnel_id_ranges:
|
|
|
|
str_replace:
|
|
|
|
template: "['RANGES']"
|
|
|
|
params:
|
|
|
|
RANGES:
|
|
|
|
list_join:
|
|
|
|
- "','"
|
|
|
|
- {get_param: NeutronTunnelIdRanges}
|
|
|
|
neutron_vni_ranges:
|
|
|
|
str_replace:
|
|
|
|
template: "['RANGES']"
|
|
|
|
params:
|
|
|
|
RANGES:
|
|
|
|
list_join:
|
|
|
|
- "','"
|
|
|
|
- {get_param: NeutronVniRanges}
|
2014-08-06 13:24:10 +02:00
|
|
|
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_password: {get_param: NeutronPassword}
|
2014-12-05 11:13:18 -05:00
|
|
|
neutron_agent_mode: {get_param: NeutronAgentMode}
|
|
|
|
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}
|
2015-01-08 07:13:48 -05:00
|
|
|
neutron_l3_ha: {get_param: NeutronL3HA}
|
2014-12-05 11:13:18 -05:00
|
|
|
neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
|
2014-08-06 13:24:10 +02:00
|
|
|
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}
|
|
|
|
|
|
|
|
NovaComputePassthrough:
|
|
|
|
type: OS::Heat::StructuredConfig
|
|
|
|
properties:
|
|
|
|
group: os-apply-config
|
|
|
|
config: {get_input: passthrough_config}
|
|
|
|
|
|
|
|
NovaComputePassthroughSpecific:
|
|
|
|
type: OS::Heat::StructuredConfig
|
|
|
|
properties:
|
|
|
|
group: os-apply-config
|
|
|
|
config: {get_input: passthrough_config_specific}
|
|
|
|
|
|
|
|
NovaComputePassthroughDeployment:
|
|
|
|
depends_on: [NovaComputeDeployment]
|
|
|
|
type: OS::Heat::StructuredDeployment
|
|
|
|
properties:
|
|
|
|
config: {get_resource: NovaComputePassthrough}
|
|
|
|
server: {get_resource: NovaCompute}
|
|
|
|
signal_transport: NO_SIGNAL
|
|
|
|
input_values:
|
|
|
|
passthrough_config: {get_param: ExtraConfig}
|
|
|
|
|
|
|
|
NovaComputePassthroughDeploymentSpecific:
|
|
|
|
depends_on: [NovaComputePassthroughDeployment]
|
|
|
|
type: OS::Heat::StructuredDeployment
|
|
|
|
properties:
|
|
|
|
config: {get_resource: NovaComputePassthroughSpecific}
|
|
|
|
server: {get_resource: NovaCompute}
|
|
|
|
signal_transport: NO_SIGNAL
|
|
|
|
input_values:
|
|
|
|
passthrough_config_specific: {get_param: NovaComputeExtraConfig}
|
|
|
|
|
|
|
|
outputs:
|
|
|
|
ip_address:
|
|
|
|
description: IP address of the server in the ctlplane network
|
|
|
|
value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
2015-05-06 15:57:12 -04:00
|
|
|
internal_api_ip_address:
|
|
|
|
description: IP address of the server in the internal_api network
|
|
|
|
value: {get_attr: [InternalApiPort, ip_address]}
|
|
|
|
storage_ip_address:
|
|
|
|
description: IP address of the server in the storage network
|
|
|
|
value: {get_attr: [StoragePort, ip_address]}
|
|
|
|
tenant_ip_address:
|
|
|
|
description: IP address of the server in the tenant network
|
|
|
|
value: {get_attr: [TenantPort, ip_address]}
|
2014-08-06 13:24:10 +02:00
|
|
|
hostname:
|
|
|
|
description: Hostname of the server
|
|
|
|
value: {get_attr: [NovaCompute, name]}
|
|
|
|
hosts_entry:
|
|
|
|
description: >
|
|
|
|
Server's IP address and hostname in the /etc/hosts format
|
|
|
|
value:
|
|
|
|
str_replace:
|
2015-04-28 05:38:11 -04:00
|
|
|
template: "IP HOST"
|
2014-08-06 13:24:10 +02:00
|
|
|
params:
|
|
|
|
IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
|
|
|
HOST: {get_attr: [NovaCompute, name]}
|
|
|
|
nova_server_resource:
|
|
|
|
description: Heat resource handle for the Nova compute server
|
|
|
|
value:
|
|
|
|
{get_resource: NovaCompute}
|
2015-06-12 15:43:30 +01:00
|
|
|
config_identifier:
|
|
|
|
description: identifier which changes if the node configuration may need re-applying
|
|
|
|
value: "None - NO_SIGNAL"
|