Port all templates to HOT

This change was generated and validated by running the following:

    make hot clean all validate-all

This converts all templates to be valid HOT.

Fn::Select is not converted in this change but this will actually
work with heat_template_version 2013-05-23. Fn::Select is converted
manually in the next change in this series.

This change also sets the heat_template_version to 2014-10-16 which
includes the list_join intrinsic functions used throughout these
templates.

Partial-Blueprint: tripleo-juno-remove-mergepy
Change-Id: Ib3cbb83f6ae94adb7b793ab1b662bd5c55cbb5b3
This commit is contained in:
Steve Baker 2014-08-04 08:43:34 +12:00
parent 9413fb3098
commit beca15dec5
37 changed files with 1136 additions and 1134 deletions

View File

@ -15,25 +15,25 @@ $(VALIDATE):
heat template-validate -f $(subst validate-,,$@)
overcloud.yaml: overcloud-source.yaml block-storage.yaml swift-deploy.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml nova-compute-config.yaml $(overcloud_source_deps)
python ./tripleo_heat_merge/merge.py --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE='0'} overcloud-source.yaml block-storage.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml swift-deploy.yaml nova-compute-config.yaml > $@.tmp
python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE='0'} overcloud-source.yaml block-storage.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml swift-deploy.yaml nova-compute-config.yaml > $@.tmp
mv $@.tmp $@
overcloud-with-block-storage-nfs.yaml: overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml $(overcloud_source_deps)
# $^ won't work here because we want to list nova-compute-instance.yaml as
# a prerequisite but don't want to pass it into merge.py
python ./tripleo_heat_merge/merge.py --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'1'} overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp
python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'1'} overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp
mv $@.tmp $@
undercloud-vm.yaml: undercloud-source.yaml undercloud-vm-nova-config.yaml undercloud-vm-nova-deploy.yaml
python ./tripleo_heat_merge/merge.py $^ > $@.tmp
python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp
mv $@.tmp $@
undercloud-bm.yaml: undercloud-source.yaml undercloud-bm-nova-config.yaml undercloud-bm-nova-deploy.yaml
python ./tripleo_heat_merge/merge.py $^ > $@.tmp
python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp
mv $@.tmp $@
undercloud-vm-ironic.yaml: undercloud-source.yaml undercloud-vm-ironic-config.yaml undercloud-vm-ironic-deploy.yaml
python ./tripleo_heat_merge/merge.py $^ > $@.tmp
python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp
mv $@.tmp $@
check: test

View File

@ -1,77 +1,77 @@
HeatTemplateFormatVersion: '2012-12-12'
Description: 'Tie OpenStack components together'
Parameters:
heat_template_version: 2014-10-16
description: 'Tie OpenStack components together'
parameters:
TemplateRoot:
Description: URL Base where all of our templates are available
Type: String
description: URL Base where all of our templates are available
type: string
KeystoneAdminToken:
Description: Admin Token needed for keystone
Type: String
NoEcho: true
Resources:
description: Admin Token needed for keystone
type: string
hidden: true
resources:
RabbitMQ:
Type: AWS::CloudFormation::Stack
type: AWS::CloudFormation::Stack
TemplateURL:
Fn::Join:
- {Ref: TemplateRoot}
list_join:
- {get_param: TemplateRoot}
- rabbitmq.yaml
Parameters:
parameters:
InstanceType: m1.small
KeyName: default
RabbitMQImage: image-rabbitmq
MySQL:
Type: AWS::CloudFormation::Stack
type: AWS::CloudFormation::Stack
TemplateURL:
Fn::Join:
- {Ref: TemplateRoot}
list_join:
- {get_param: TemplateRoot}
- mysql.yaml
Parameters:
parameters:
InstanceType: m1.small
KeyName: default
MySQLImage: image-mysql
Keystone:
Type: AWS::CloudFormation::Stack
type: AWS::CloudFormation::Stack
TemplateURL:
Fn::Join:
- {Ref: TemplateRoot}
list_join:
- {get_param: TemplateRoot}
- keystone.yaml
Parameters:
AdminToken: {Ref: KeystoneAdminToken}
parameters:
AdminToken: {get_param: KeystoneAdminToken}
KeyName: default
KeystoneDSN:
Fn::Join:
list_join:
- 'mysql://keystone:'
- {"Fn::GetAtt": [ MySQL , KeystonePassword ]}
- {get_attr: [ MySQL , KeystonePassword ]}
- '@'
- {"Fn::GetAtt": [ MySQL , MySQLHost ]}
- {get_attr: [ MySQL , MySQLHost ]}
- '/keystone'
Glance:
Type: AWS::CloudFormation::Stack
type: AWS::CloudFormation::Stack
TemplateURL:
Fn::Join:
- {Ref: TemplateRoot}
list_join:
- {get_param: TemplateRoot}
- glance.yaml
Parameters:
parameters:
KeyName: default
HeatDSN:
Fn::Join:
list_join:
- 'mysql://glance:'
- {"Fn::GetAtt": [ MySQL, GlancePassword ] }
- {get_attr: [ MySQL, GlancePassword ] }
- '@'
- {"Fn::GetAtt": [ MySQL, MySQLHost ]}
- {get_attr: [ MySQL, MySQLHost ]}
- '/glance'
Heat:
Type: AWS::CloudFormation::Stack
type: AWS::CloudFormation::Stack
TemplateURL:
Fn::Join:
- {Ref: TemplateRoot}
list_join:
- {get_param: TemplateRoot}
- heat.yaml
Parameters:
parameters:
KeyName: default
HeatDSN:
Fn::Join:
list_join:
- 'mysql://heat:'
- {"Fn::GetAtt": [ MySQL, HeatPassword ] }
- {get_attr: [ MySQL, HeatPassword ] }
- '@'
- {"Fn::GetAtt": [ MySQL, MySQLHost ]}
- {get_attr: [ MySQL, MySQLHost ]}
- '/heat'

View File

@ -1,68 +1,68 @@
HeatTemplateFormatVersion: '2012-12-12'
Description: 'Common Block Storage Configuration'
Parameters:
heat_template_version: 2014-10-16
description: 'Common Block Storage Configuration'
parameters:
BlockStorageImage:
Type: String
Default: overcloud-cinder-volume
type: string
default: overcloud-cinder-volume
OvercloudBlockStorageFlavor:
Default: baremetal
Description: Flavor for block storage nodes to request when deploying.
Type: String
Resources:
default: baremetal
description: Flavor for block storage nodes to request when deploying.
type: string
resources:
BlockStorageAccessPolicy:
Type: OS::Heat::AccessPolicy
Properties:
type: OS::Heat::AccessPolicy
properties:
AllowedResources:
- BlockStorage0
BlockStorageUser:
Type: AWS::IAM::User
Properties:
Policies: [ { Ref: BlockStorageAccessPolicy } ]
type: AWS::IAM::User
properties:
Policies: [ { get_resource: BlockStorageAccessPolicy } ]
BlockStorageKey:
Type: AWS::IAM::AccessKey
Properties:
type: AWS::IAM::AccessKey
properties:
UserName:
Ref: BlockStorageUser
get_resource: BlockStorageUser
BlockStorage0CompletionCondition:
Type: AWS::CloudFormation::WaitCondition
DependsOn: controller0Config
Properties:
Handle: {Ref: BlockStorage0CompletionHandle}
type: AWS::CloudFormation::WaitCondition
depends_on: controller0Config
properties:
Handle: {get_resource: BlockStorage0CompletionHandle}
Count: '1'
Timeout: '1800'
BlockStorage0CompletionHandle:
Type: AWS::CloudFormation::WaitConditionHandle
type: AWS::CloudFormation::WaitConditionHandle
BlockStorage0:
Type: OS::Nova::Server
Properties:
type: OS::Nova::Server
properties:
image:
{Ref: BlockStorageImage}
flavor: {Ref: OvercloudBlockStorageFlavor}
key_name: {Ref: KeyName}
Metadata:
{get_param: BlockStorageImage}
flavor: {get_param: OvercloudBlockStorageFlavor}
key_name: {get_param: KeyName}
metadata:
completion-handle:
Ref: BlockStorage0CompletionHandle
get_resource: BlockStorage0CompletionHandle
os-collect-config:
cfn:
access_key_id:
Ref: BlockStorageKey
get_resource: BlockStorageKey
secret_access_key:
Fn::GetAtt: [ BlockStorageKey, SecretAccessKey ]
stack_name: {Ref: 'AWS::StackName'}
get_attr: [ BlockStorageKey, SecretAccessKey ]
stack_name: {get_param: 'AWS::StackName'}
keystone:
host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
cinder:
db: {"Fn::Join": ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] } , '/cinder']]}
db: {list_join: ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } , '/cinder']]}
volume_size_mb: '5000'
service-password:
Ref: CinderPassword
get_param: CinderPassword
include_nfs_backend: 'true'
nfs_shares:
- {"Fn::Join": ['', [{"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] } , ':/mnt/state/var/lib/nfs_share']]}
admin-password: {Ref: AdminPassword}
- {list_join: ['', [{"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } , ':/mnt/state/var/lib/nfs_share']]}
admin-password: {get_param: AdminPassword}
rabbit:
host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
username: {Ref: RabbitUserName}
password: {Ref: RabbitPassword}
host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
username: {get_param: RabbitUserName}
password: {get_param: RabbitPassword}
interfaces:
control: {Ref: NeutronPublicInterface}
control: {get_param: NeutronPublicInterface}

View File

@ -1,90 +1,90 @@
HeatTemplateFormatVersion: '2012-12-12'
Description: 'Common Block Storage Configuration'
Parameters:
heat_template_version: 2014-10-16
description: 'Common Block Storage Configuration'
parameters:
BlockStorageImage:
Type: String
Default: overcloud-cinder-volume
type: string
default: overcloud-cinder-volume
OvercloudBlockStorageFlavor:
Default: baremetal
Description: Flavor for block storage nodes to request when deploying.
Type: String
default: baremetal
description: Flavor for block storage nodes to request when deploying.
type: string
NeutronNetworkType:
Type: String
Default: 'gre'
type: string
default: 'gre'
NeutronEnableTunnelling:
Type: String
Default: True
Resources:
type: string
default: True
resources:
BlockStorage0:
Type: OS::Nova::Server
Properties:
type: OS::Nova::Server
properties:
image:
{Ref: BlockStorageImage}
flavor: {Ref: OvercloudBlockStorageFlavor}
key_name: {Ref: KeyName}
{get_param: BlockStorageImage}
flavor: {get_param: OvercloudBlockStorageFlavor}
key_name: {get_param: KeyName}
user_data_format: SOFTWARE_CONFIG
BlockStorage0Deployment:
Type: OS::Heat::StructuredDeployment
Properties:
server: {Ref: BlockStorage0}
config: {Ref: BlockStorageConfig}
type: OS::Heat::StructuredDeployment
properties:
server: {get_resource: BlockStorage0}
config: {get_resource: BlockStorageConfig}
input_values:
controller_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] } , '/cinder']]}
neutron_local_ip: {"Fn::Select": [0, "Fn::Select": [ctlplane, {"Fn::GetAtt": [BlockStorage0 , networks]}]]}
controller_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] } , '/cinder']]}
neutron_local_ip: {"Fn::Select": [0, "Fn::Select": [ctlplane, {get_attr: [BlockStorage0 , networks]}]]}
signal_transport: NO_SIGNAL
BlockStorageConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
admin-password: {Ref: AdminPassword}
admin-password: {get_param: AdminPassword}
keystone:
host: {get_input: controller_host}
cinder:
db: {get_input: cinder_dsn}
volume_size_mb:
Ref: CinderLVMLoopDeviceSize
get_param: CinderLVMLoopDeviceSize
service-password:
Ref: CinderPassword
get_param: CinderPassword
iscsi-helper:
Ref: CinderISCSIHelper
admin-password: {Ref: AdminPassword}
get_param: CinderISCSIHelper
admin-password: {get_param: AdminPassword}
rabbit:
host: {get_input: controller_host}
username: {Ref: RabbitUserName}
password: {Ref: RabbitPassword}
username: {get_param: RabbitUserName}
password: {get_param: RabbitPassword}
interfaces:
control: {Ref: NeutronPublicInterface}
control: {get_param: NeutronPublicInterface}
neutron:
ovs:
local_ip: {get_input: neutron_local_ip}
tenant_network_type: {Ref: NeutronNetworkType}
enable_tunneling: {Ref: NeutronEnableTunnelling}
tenant_network_type: {get_param: NeutronNetworkType}
enable_tunneling: {get_param: NeutronEnableTunnelling}
service-password:
Ref: NeutronPassword
get_param: NeutronPassword
config:
keystone:
host: {get_input: controller_host}
cinder:
db: {get_input: cinder_dsn}
volume_size_mb:
Ref: CinderLVMLoopDeviceSize
get_param: CinderLVMLoopDeviceSize
service-password:
Ref: CinderPassword
get_param: CinderPassword
iscsi-helper:
Ref: CinderISCSIHelper
admin-password: {Ref: AdminPassword}
get_param: CinderISCSIHelper
admin-password: {get_param: AdminPassword}
rabbit:
host: {get_input: controller_host}
username: {Ref: RabbitUserName}
password: {Ref: RabbitPassword}
username: {get_param: RabbitUserName}
password: {get_param: RabbitPassword}
interfaces:
control: {Ref: NeutronPublicInterface}
control: {get_param: NeutronPublicInterface}
neutron:
ovs:
local_ip: { get_input: neutron_local_ip }
tenant_network_type: {Ref: NeutronNetworkType}
enable_tunneling: {Ref: NeutronEnableTunnelling}
tenant_network_type: {get_param: NeutronNetworkType}
enable_tunneling: {get_param: NeutronEnableTunnelling}
service-password:
Ref: NeutronPassword
get_param: NeutronPassword

View File

@ -1,217 +1,217 @@
Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
server,Dedicated RabbitMQ Server
HeatTemplateFormatVersion: '2012-12-12'
Parameters:
heat_template_version: 2014-10-16
parameters:
AdminToken:
Type: String
type: string
BootstrapDumpPassword:
Default: ''
Description: Password to use for mysqldump from Bootstrap Host
Type: String
NoEcho: true
default: ''
description: Password to use for mysqldump from Bootstrap Host
type: string
hidden: true
BootstrapHost:
Default: ''
Description: Load mysqldump from this Host
Type: String
default: ''
description: Load mysqldump from this Host
type: string
BootstrapRootPassword:
Default: ''
Description: Root password for localhost access after bootstrap
Type: String
NoEcho: true
default: ''
description: Root password for localhost access after bootstrap
type: string
hidden: true
BootstrapSlavePassword:
Default: ''
Description: Password to use with BootstrapSlaveUser
Type: String
NoEcho: true
default: ''
description: Password to use with BootstrapSlaveUser
type: string
hidden: true
BootstrapSlaveUser:
Default: ''
Description: User to use for replication from bootstrap host
Type: String
default: ''
description: User to use for replication from bootstrap host
type: string
GlanceDBPassword:
Description: Password for connecting to glance database
Type: String
NoEcho: true
description: Password for connecting to glance database
type: string
hidden: true
GlanceNotifierStrategy:
Description: Strategy to use for Glance notification queue
Type: String
Default: noop
description: Strategy to use for Glance notification queue
type: string
default: noop
GlanceLogFile:
Description: The filepath of the file to use for logging messages from Glance.
Type: String
Default: ''
description: The filepath of the file to use for logging messages from Glance.
type: string
default: ''
HeatDBPassword:
Description: Password for accessing Heat database.
Type: String
NoEcho: true
description: Password for accessing Heat database.
type: string
hidden: true
InstanceType:
Default: baremetal
Description: Use this flavor
Type: String
default: baremetal
description: Use this flavor
type: string
KeyName:
Default: default
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
default: default
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
type: string
KeystoneDBPassword:
Description: Password for connecting to keystone
Type: String
NoEcho: true
description: Password for connecting to keystone
type: string
hidden: true
NovaDBPassword:
Description: Password for connecting to nova database
Type: String
NoEcho: true
description: Password for connecting to nova database
type: string
hidden: true
NovaInterfaces:
Default: eth0
Type: String
default: eth0
type: string
NeutronDBPassword:
Description: Password for connecting to neutron database
Type: String
NoEcho: true
description: Password for connecting to neutron database
type: string
hidden: true
NeutronInterfaces:
Default: eth0
Type: String
default: eth0
type: string
RabbitMQPassword:
Description: Password for RabbitMQ
Type: String
NoEcho: true
description: Password for RabbitMQ
type: string
hidden: true
RabbitUserName:
Type: String
type: string
RabbitPassword:
Type: String
NoEcho: true
type: string
hidden: true
ServicePassword:
Description: admin_password for setting up auth in nova.
Type: String
NoEcho: true
description: admin_password for setting up auth in nova.
type: string
hidden: true
controllerImage:
Type: String
type: string
HeatStackDomainAdminPassword:
Description: Password for heat_domain_admin user.
Type: String
Default: ''
NoEcho: true
Resources:
description: Password for heat_domain_admin user.
type: string
default: ''
hidden: true
resources:
AccessPolicy:
Properties:
properties:
AllowedResources:
- controller0
Type: OS::Heat::AccessPolicy
type: OS::Heat::AccessPolicy
controller0Key:
Properties:
properties:
UserName:
Ref: User
Type: AWS::IAM::AccessKey
get_resource: User
type: AWS::IAM::AccessKey
User:
Properties:
properties:
Policies:
- Ref: AccessPolicy
Type: AWS::IAM::User
- get_resource: AccessPolicy
type: AWS::IAM::User
controller0:
Metadata:
metadata:
admin-password:
Ref: ServicePassword
get_param: ServicePassword
admin-token:
Ref: AdminToken
get_param: AdminToken
mysql:
create-users:
- database: keystone
username: keystone
password: {Ref: KeystoneDBPassword}
password: {get_param: KeystoneDBPassword}
- database: heat
username: heat
password: {Ref: HeatDBPassword}
password: {get_param: HeatDBPassword}
- database: glance
username: glance
password: {Ref: GlanceDBPassword}
password: {get_param: GlanceDBPassword}
- database: nova
username: nova
password: {Ref: NovaDBPassword}
password: {get_param: NovaDBPassword}
- database: neutron
username: neutron
password: {Ref: NeutronDBPassword}
password: {get_param: NeutronDBPassword}
glance:
db:
Fn::Join:
list_join:
- ''
- - 'mysql://glance:'
- {Ref: GlanceDBPassword}
- {get_param: GlanceDBPassword}
- '@127.0.0.1/glance'
notifier-strategy:
Ref: GlanceNotifierStrategy
get_param: GlanceNotifierStrategy
log-file:
Ref: GlanceLogFile
get_param: GlanceLogFile
heat:
db:
Fn::Join:
list_join:
- ''
- - 'mysql://heat:'
- {Ref: HeatDBPassword}
- {get_param: HeatDBPassword}
- '@127.0.0.1/heat'
access_key_id:
Ref: controller0Key
get_resource: controller0Key
refresh:
- resource: controller0
secret_key:
Fn::GetAtt:
get_attr:
- controller0Key
- SecretAccessKey
stack:
name:
Ref: AWS::StackName
get_param: AWS::StackName
region:
Ref: AWS::Region
get_param: AWS::Region
auth_encryption_key: unset
stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
interfaces:
control:
Ref: NovaInterfaces
get_param: NovaInterfaces
keystone:
host:
'127.0.0.1'
db:
Fn::Join:
list_join:
- ''
- - 'mysql://keystone:'
- {Ref: KeystoneDBPassword}
- {get_param: KeystoneDBPassword}
- '@127.0.0.1/keystone'
nova:
db:
Fn::Join:
list_join:
- ''
- - 'mysql://nova:'
- {Ref: NovaDBPassword}
- {get_param: NovaDBPassword}
- '@127.0.0.1/nova'
neutron:
host:
'127.0.0.1'
ovs_db:
Fn::Join:
list_join:
- ''
- - 'mysql://neutron:'
- {Ref: NeutronDBPassword}
- {get_param: NeutronDBPassword}
- '@127.0.0.1/ovs_neutron'
rabbit:
host:
'127.0.0.1'
username:
Ref: RabbitUserName
get_param: RabbitUserName
password:
Ref: RabbitPassword
get_param: RabbitPassword
users:
username:
Ref: RabbitUserName
get_param: RabbitUserName
password:
Ref: RabbitPassword
get_param: RabbitPassword
cookie:
Fn::GetAtt:
get_attr:
- RabbitCookie
- value
service-password:
Ref: ServicePassword
Properties:
get_param: ServicePassword
properties:
ImageId:
Ref: controllerImage
get_param: controllerImage
InstanceType:
Ref: InstanceType
get_param: InstanceType
KeyName:
Ref: KeyName
Type: AWS::EC2::Instance
get_param: KeyName
type: AWS::EC2::Instance

View File

@ -1,31 +1,31 @@
Description: 'Debian-mirror: A Debian or Ubuntu mirror in the cloud'
Parameters:
description: 'Debian-mirror: A Debian or Ubuntu mirror in the cloud'
parameters:
DebianMirrorMirror:
Default: http://archive.ubuntu.com/ubuntu
Description: The mirror that is to be used as the source
Type: String
default: http://archive.ubuntu.com/ubuntu
description: The mirror that is to be used as the source
type: string
DebianMirrorSuites:
Default: ["saucy", "saucy-updates", "saucy-security"]
Description: The suites to be mirrored
Type: JSON
default: ["saucy", "saucy-updates", "saucy-security"]
description: The suites to be mirrored
type: JSON
DebianMirrorArchitectures:
Default: [{"arch": "amd64"}]
Description: The architectures to be mirrored
Type: JSON
default: [{"arch": "amd64"}]
description: The architectures to be mirrored
type: JSON
DebianMirrorComponents:
Default: ["main", "restricted", "universe", "multiverse"]
Description: The components to be mirrored
Type: JSON
Resources:
default: ["main", "restricted", "universe", "multiverse"]
description: The components to be mirrored
type: JSON
resources:
debianMirrorConfig:
Type: AWS::AutoScaling::LaunchConfiguration
Metadata:
type: AWS::AutoScaling::LaunchConfiguration
metadata:
debian-mirror:
mirror:
Ref: DebianMirrorMirror
get_param: DebianMirrorMirror
suites:
Ref: DebianMirrorSuites
get_param: DebianMirrorSuites
architectures:
Ref: DebianMirrorArchitectures
get_param: DebianMirrorArchitectures
components:
Ref: DebianMirrorComponents
get_param: DebianMirrorComponents

View File

@ -1,4 +1,4 @@
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
parameters:
A:
type: string

View File

@ -1,4 +1,4 @@
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
parameters:
C:
type: string

View File

@ -1,5 +1,5 @@
description: examples/launchconfig1_hot.yaml,examples/launchconfig2_hot.yaml
heat_template_version: '2013-05-23'
heat_template_version: '2014-10-16'
parameters:
A:
default: test1

View File

@ -1,4 +1,4 @@
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
resources:
ComputeUser:
type: AWS::IAM::User

View File

@ -1,4 +1,4 @@
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
parameters:
ComputeImage:
type: string

View File

@ -1,4 +1,4 @@
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
parameters:
AllHosts:
type: string

View File

@ -1,4 +1,4 @@
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
resources:
ComputeUser:
type: AWS::IAM::User

View File

@ -1,5 +1,5 @@
description: examples/scale_map_hot.yaml
heat_template_version: '2013-05-23'
heat_template_version: '2014-10-16'
resources:
ComputeUser:
properties:

View File

@ -1,5 +1,5 @@
description: examples/scale1_hot.yaml
heat_template_version: '2013-05-23'
heat_template_version: '2014-10-16'
resources:
ComputeUser:
properties:

View File

@ -1,5 +1,5 @@
description: examples/source2_hot.yaml
heat_template_version: '2013-05-23'
heat_template_version: '2014-10-16'
parameters:
BImage:
type: string

View File

@ -1,4 +1,4 @@
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
parameters:
SourceImage:
type: string

View File

@ -1,4 +1,4 @@
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
parameters:
Foo:
type: string

View File

@ -1,5 +1,5 @@
description: examples/source_include_subkey_hot.yaml
heat_template_version: '2013-05-23'
heat_template_version: '2014-10-16'
parameters:
Foo:
type: string

View File

@ -1,5 +1,5 @@
description: examples/source_hot.yaml
heat_template_version: '2013-05-23'
heat_template_version: '2014-10-16'
parameters:
SourceImage:
default: my_image

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
#
heat_template_version: 2013-05-23
heat_template_version: 2014-10-16
description: Deploy Nagios
parameters:
adm_web_passwd:

View File

@ -1,28 +1,28 @@
Description: 'NFS server share configuration for testing'
Resources:
description: 'NFS server share configuration for testing'
resources:
controller0Config:
Type: AWS::AutoScaling::LaunchConfiguration
Metadata:
type: AWS::AutoScaling::LaunchConfiguration
metadata:
nfs_server:
shares:
Merge::Map:
NovaCompute0:
Fn::Join:
list_join:
- ' '
- - Fn::Select:
- 0
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- get_attr:
- NovaCompute0
- networks
BlockStorage0:
Fn::Join:
list_join:
- ' '
- - Fn::Select:
- 0
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- get_attr:
- BlockStorage0
- networks

View File

@ -1,7 +1,7 @@
Resources:
resources:
NovaComputeConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
nova:
@ -54,7 +54,7 @@ Resources:
servers:
- {server: {get_input: ntp_server}, fudge: "stratum 0"}
NovaComputePassthrough:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config: {get_input: passthrough_config}

View File

@ -1,13 +1,13 @@
HeatTemplateFormatVersion: '2012-12-12'
Description: 'Nova Compute'
Parameters:
heat_template_version: 2014-10-16
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
default: unset
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
type: string
hidden: true
ExtraConfig:
Description: |
description: |
Additional configuration to inject into the cluster. The JSON should have
the following structure:
{"FILEKEY":
@ -42,200 +42,201 @@ Parameters:
]
}
}
Type: Json
type: json
KeyName:
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
Default: default
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
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
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
type: string
default: overcloud-compute
NtpServer:
Type: String
Default: ''
type: string
default: ''
KeystoneHost:
Type: String
type: string
NeutronFlatNetworks:
Type: String
Default: ''
Description: If set, flat networks to configure in neutron plugins.
type: string
default: ''
description: If set, flat networks to configure in neutron plugins.
NeutronHost:
Type: String
type: string
NeutronPhysicalBridge:
Default: ''
Description: An OVS bridge to create for accessing external networks.
Type: String
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
default: ''
description: A port to add to the NeutronPhysicalBridge.
type: string
RabbitUserName:
Type: String
type: string
RabbitPassword:
Type: String
NoEcho: true
type: string
hidden: true
CeilometerComputeAgent:
Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
Type: String
Default: ''
AllowedValues: ['', Present]
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
NoEcho: true
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
NoEcho: true
default: unset
description: The password for the ceilometer service account.
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
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
NoEcho: true
default: unset
description: The user password for SNMPd with readonly rights running on all Overcloud nodes
type: string
hidden: true
NovaComputeDriver:
Type: String
Default: libvirt.LibvirtDriver
type: string
default: libvirt.LibvirtDriver
NovaComputeLibvirtType:
Type: String
Default: ''
type: string
default: ''
NovaApiHost:
Type: String
type: string
NovaPassword:
Default: unset
Description: The password for the nova service account, used by nova-api.
Type: String
NoEcho: true
default: unset
description: The password for the nova service account, used by nova-api.
type: string
hidden: true
GlanceHost:
Type: String
type: string
GlancePort:
Default: 9292
Description: Glance port.
Type: String
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
default: http
description: Protocol to use when connecting to glance, set to https for SSL.
type: string
CeilometerDSN:
Type: String
type: string
NovaDSN:
Type: String
type: string
NeutronDSN:
Type: String
type: string
NeutronBridgeMappings:
Type: String
type: string
NeutronNetworkVLANRanges:
Type: String
type: string
NeutronNetworkType:
Type: String
type: string
NeutronEnableTunnelling:
Type: String
type: string
AllNodesConfig:
Type: String
Description: OS::Heat::Config to use for all nodes deployment
type: string
description: OS::Heat::Config to use for all nodes deployment
LiveUpdateUserName:
Type: String
Description: The live-update username for the undercloud Glance API.
Default: ''
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: ''
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: ''
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
type: string
default: ''
description: The live-update password for the undercloud Glance API.
hidden: true
LiveUpdateComputeImage:
Type: String
Description: The image ID for live-updates to the overcloud compute nodes.
Default: ''
Resources:
type: string
description: The image ID for live-updates to the overcloud compute nodes.
default: ''
resources:
NovaCompute0:
Type: OS::Nova::Server
Properties:
type: OS::Nova::Server
properties:
image:
{Ref: NovaImage}
{get_param: NovaImage}
image_update_policy:
Ref: ImageUpdatePolicy
flavor: {Ref: OvercloudComputeFlavor}
key_name: {Ref: KeyName}
get_param: ImageUpdatePolicy
flavor: {get_param: OvercloudComputeFlavor}
key_name: {get_param: KeyName}
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
NovaCompute0Deploy:
DependsOn: [controller0AllNodes]
Type: OS::Heat::StructuredDeployment
Properties:
depends_on: [controller0AllNodes]
type: OS::Heat::StructuredDeployment
properties:
signal_transport: NO_SIGNAL
config: {Ref: NovaComputeConfig}
server: {Ref: NovaCompute0}
config: {get_resource: NovaComputeConfig}
server: {get_resource: 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}
snmpd_readonly_user_name: {Ref: SnmpdReadonlyUserName}
snmpd_readonly_user_password: {Ref: SnmpdReadonlyUserPassword}
glance_host: {Ref: GlanceHost}
glance_port: {Ref: GlancePort}
glance_protocol: {Ref: GlanceProtocol}
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_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}
ntp_server: {Ref: NtpServer}
nova_compute_driver: {get_param: NovaComputeDriver}
nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
nova_dsn: {get_param: NovaDSN}
nova_api_host: {get_param: NovaApiHost}
nova_password: {get_param: NovaPassword}
ceilometer_dsn: {get_param: CeilometerDSN}
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_dsn: {get_param: NeutronDSN}
neutron_local_ip: {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { get_attr: [ NovaCompute0, networks ]}]]}
neutron_tenant_network_type: {get_param: NeutronNetworkType}
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}
admin_password: {get_param: AdminPassword}
rabbit_username: {get_param: RabbitUserName}
rabbit_password: {get_param: RabbitPassword}
live_update_host: {get_param: LiveUpdateHost}
live_update_username: {get_param: LiveUpdateUserName}
live_update_password: {get_param: LiveUpdatePassword}
live_update_tenant_name: {get_param: LiveUpdateTenantName}
nova_image: {get_param: NovaImage}
live_update_image_id: {get_param: LiveUpdateComputeImage}
ntp_server: {get_param: NtpServer}
NovaCompute0AllNodesDeploy:
DependsOn: [NovaCompute0Passthrough]
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: AllNodesConfig}
server: {Ref: NovaCompute0}
depends_on: [NovaCompute0Passthrough]
type: OS::Heat::StructuredDeployment
properties:
config: {get_param: AllNodesConfig}
server: {get_resource: NovaCompute0}
NovaCompute0Passthrough:
DependsOn: [NovaCompute0Deploy]
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: NovaComputePassthrough}
server: {Ref: NovaCompute0}
depends_on: [NovaCompute0Deploy]
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: NovaComputePassthrough}
server: {get_resource: NovaCompute0}
signal_transport: NO_SIGNAL
input_values:
passthrough_config: {Ref: ExtraConfig}
passthrough_config: {get_param: ExtraConfig}

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +1,23 @@
Description: 'ssl-source: SSL endpoint metadata for openstack'
Parameters:
description: 'ssl-source: SSL endpoint metadata for openstack'
parameters:
SSLCertificate:
Default: ''
Description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
Type: String
NoEcho: true
default: ''
description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
type: string
hidden: true
SSLKey:
Default: ''
Description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
Type: String
NoEcho: true
default: ''
description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
type: string
hidden: true
SSLCACertificate:
Default: ''
Description: If set, the contents of an SSL certificate authority file.
Type: String
Resources:
default: ''
description: If set, the contents of an SSL certificate authority file.
type: string
resources:
SSLConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
stunnel:

View File

@ -1,55 +1,55 @@
Description: 'Swift-proxy: OpenStack object storage proxy'
Parameters:
description: 'Swift-proxy: OpenStack object storage proxy'
parameters:
SwiftHashSuffix:
Default: unset
Description: A random string to be used as a salt when hashing to determine mappings in the ring.
Type: String
NoEcho: true
default: unset
description: A random string to be used as a salt when hashing to determine mappings in the ring.
type: string
hidden: true
SwiftPassword:
Default: unset
Description: The password for the swift service account, used by the swift proxy services.
Type: String
NoEcho: true
Resources:
default: unset
description: The password for the swift service account, used by the swift proxy services.
type: string
hidden: true
resources:
controller0Swift:
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: SwiftConfig}
server: {Ref: controller0}
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: SwiftConfig}
server: {get_resource: controller0}
signal_transport: NO_SIGNAL
input_values:
swift_hash_suffix: {Ref: SwiftHashSuffix}
swift_password: {Ref: SwiftPassword}
swift_hash_suffix: {get_param: SwiftHashSuffix}
swift_password: {get_param: SwiftPassword}
swift_devices:
Fn::Join:
list_join:
- ', '
- Merge::Map:
controller0:
Fn::Join:
list_join:
- ''
- - 'r1z1-'
- {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
- ':%PORT%/d1'
SwiftStorage0:
Fn::Join:
list_join:
- ''
- - 'r1z1-'
- Fn::Select:
- 0
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- get_attr:
- SwiftStorage0
- networks
- ':%PORT%/d1'
swift_proxy_memcache:
Fn::Join:
list_join:
- ','
- Merge::Map:
controller0:
Fn::Join:
list_join:
- ', '
- - Fn::Join:
- - list_join:
- ''
- - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
- ':11211'

View File

@ -1,7 +1,7 @@
Resources:
resources:
SwiftConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
swift:
@ -12,7 +12,7 @@ Resources:
replicas: 1
service-password: { get_input: swift_password }
neutron:
enable_tunnelling: {Ref: NeutronEnableTunnelling}
tenant_network_type: {Ref: NeutronNetworkType}
enable_tunnelling: {get_param: NeutronEnableTunnelling}
tenant_network_type: {get_param: NeutronNetworkType}
ovs:
local_ip: { get_input: neutron_local_ip }

View File

@ -1,81 +1,81 @@
HeatTemplateFormatVersion: '2012-12-12'
Description: 'Common Swift Storage Configuration'
Parameters:
heat_template_version: 2014-10-16
description: 'Common Swift Storage Configuration'
parameters:
SwiftStorageImage:
Type: String
Default: overcloud-swift-storage
type: string
default: overcloud-swift-storage
OvercloudSwiftStorageFlavor:
Default: baremetal
Description: Flavor for Swift storage nodes to request when deploying.
Type: String
default: baremetal
description: Flavor for Swift storage nodes to request when deploying.
type: string
NeutronNetworkType:
Type: String
Default: 'gre'
type: string
default: 'gre'
NeutronEnableTunnelling:
Type: String
Default: True
Resources:
type: string
default: True
resources:
SwiftStorage0:
Type: OS::Nova::Server
Properties:
image: {Ref: SwiftStorageImage}
flavor: {Ref: OvercloudSwiftStorageFlavor}
key_name: {Ref: KeyName}
type: OS::Nova::Server
properties:
image: {get_param: SwiftStorageImage}
flavor: {get_param: OvercloudSwiftStorageFlavor}
key_name: {get_param: KeyName}
user_data_format: SOFTWARE_CONFIG
SwiftKeystoneConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
config:
keystone:
host: {get_input: keystone_host}
SwiftStorage0Keystone:
Type: OS::Heat::StructuredDeployment
Properties:
server: {Ref: SwiftStorage0}
config: {Ref: SwiftKeystoneConfig}
type: OS::Heat::StructuredDeployment
properties:
server: {get_resource: SwiftStorage0}
config: {get_resource: SwiftKeystoneConfig}
signal_transport: NO_SIGNAL
input_values:
keystone_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
keystone_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
SwiftStorage0Deploy:
Type: OS::Heat::StructuredDeployment
Properties:
server: {Ref: SwiftStorage0}
config: {Ref: SwiftConfig}
type: OS::Heat::StructuredDeployment
properties:
server: {get_resource: SwiftStorage0}
config: {get_resource: SwiftConfig}
signal_transport: NO_SIGNAL
input_values:
neutron_local_ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [SwiftStorage0, networks]} ]} ] }
swift_hash_suffix: {Ref: SwiftHashSuffix}
swift_password: {Ref: SwiftPassword}
neutron_local_ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [SwiftStorage0, networks]} ]} ] }
swift_hash_suffix: {get_param: SwiftHashSuffix}
swift_password: {get_param: SwiftPassword}
swift_devices:
Fn::Join:
list_join:
- ', '
- Merge::Map:
controller0:
Fn::Join:
list_join:
- ''
- - 'r1z1-'
- {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
- ':%PORT%/d1'
SwiftStorage0:
Fn::Join:
list_join:
- ''
- - 'r1z1-'
- Fn::Select:
- 0
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- get_attr:
- SwiftStorage0
- networks
- ':%PORT%/d1'
swift_proxy_memcache:
Fn::Join:
list_join:
- ','
- Merge::Map:
controller0:
Fn::Join:
list_join:
- ', '
- - Fn::Join:
- - list_join:
- ''
- - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {get_attr: [controller0, networks]} ]} ] }
- ':11211'

View File

@ -26,7 +26,7 @@ class Cfn(object):
class Hot(object):
base_template = {
'heat_template_version': '2013-05-23',
'heat_template_version': '2014-10-16',
'description': []
}
get_resource = 'get_resource'

View File

@ -1,7 +1,7 @@
Resources:
resources:
undercloudNovaConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
config:
nova:
compute_hostname: undercloud

View File

@ -1,25 +1,25 @@
Parameters:
parameters:
NeutronPublicInterface:
Default: eth2
Description: What interface to bridge onto br-ex for network nodes.
Type: String
default: eth2
description: What interface to bridge onto br-ex for network nodes.
type: string
PowerManager:
Default: nova.virt.baremetal.ipmi.IPMI
Description: Bare metal power manager driver.
Type: String
default: nova.virt.baremetal.ipmi.IPMI
description: Bare metal power manager driver.
type: string
PxeDeployTimeout:
Default: 2400
Description: Timeout for PXE deployment of baremetal nodes
Type: Number
Resources:
default: 2400
description: Timeout for PXE deployment of baremetal nodes
type: number
resources:
01_undercloudNovaDeployment:
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: undercloudNovaConfig}
server: {Ref: undercloud}
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudNovaConfig}
server: {get_resource: undercloud}
signal_transport: NO_SIGNAL
input_values:
nova_arch: {Ref: BaremetalArch}
power_manager: {Ref: PowerManager}
pxe_deploy_timeout: {Ref: PxeDeployTimeout}
nova_service_password: {Ref: NovaPassword}
nova_arch: {get_param: BaremetalArch}
power_manager: {get_param: PowerManager}
pxe_deploy_timeout: {get_param: PxeDeployTimeout}
nova_service_password: {get_param: NovaPassword}

View File

@ -1,46 +1,46 @@
Description: All-in-one baremetal OpenStack and all dependencies.
HeatTemplateFormatVersion: '2012-12-12'
Parameters:
description: All-in-one baremetal OpenStack and all dependencies.
heat_template_version: 2014-10-16
parameters:
AdminPassword:
Default: unset
Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
Type: String
NoEcho: true
default: unset
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
type: string
hidden: true
AdminToken:
Default: unset
Description: The keystone auth secret.
Type: String
NoEcho: true
default: unset
description: The keystone auth secret.
type: string
hidden: true
CinderLVMLoopDeviceSize:
Default: 5000
Description: The size of the loopback file used by the cinder LVM driver.
Type: Number
default: 5000
description: The size of the loopback file used by the cinder LVM driver.
type: number
BaremetalArch:
Default: i386
Description: The architecture to use in Nova-BM - i386 or amd64.
Type: String
default: i386
description: The architecture to use in Nova-BM - i386 or amd64.
type: string
CeilometerMeteringSecret:
Default: unset
Description: Secret shared by the ceilometer services.
Type: String
NoEcho: true
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
NoEcho: true
default: unset
description: The password for the ceilometer service account.
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
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
NoEcho: true
default: unset
description: The user password for SNMPd with readonly rights running on all Overcloud nodes
type: string
hidden: true
ExtraConfig:
Default: {}
Description: |
default: {}
description: |
Additional configuration to inject into the cluster. The JSON should have
the following structure:
{"FILEKEY":
@ -75,128 +75,128 @@ Parameters:
]
}
}
Type: Json
type: json
Flavor:
Default: baremetal
Description: Flavor to request when deploying.
Type: String
default: baremetal
description: Flavor to request when deploying.
type: string
GlancePort:
Default: 9292
Description: Glance port.
Type: String
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
default: http
description: Protocol to use when connecting to glance, set to https for SSL.
type: string
GlancePassword:
Default: unset
Description: The password for the glance service account, used by the glance services.
Type: String
NoEcho: true
default: unset
description: The password for the glance service account, used by the glance services.
type: string
hidden: true
GlanceNotifierStrategy:
Description: Strategy to use for Glance notification queue
Type: String
Default: noop
description: Strategy to use for Glance notification queue
type: string
default: noop
GlanceLogFile:
Description: The filepath of the file to use for logging messages from Glance.
Type: String
Default: ''
description: The filepath of the file to use for logging messages from Glance.
type: string
default: ''
KeyName:
Default: default
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
default: default
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
type: string
HeatPassword:
Default: unset
Description: The password for the Heat service account, used by the Heat services.
Type: String
NoEcho: true
default: unset
description: The password for the Heat service account, used by the Heat services.
type: string
hidden: true
ImageUpdatePolicy:
Default: REBUILD_PRESERVE_EPHEMERAL
Description: What policy to use when reconstructing instances. REBUILD for rebuilds,
default: REBUILD_PRESERVE_EPHEMERAL
description: What policy to use when reconstructing instances. REBUILD for rebuilds,
REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
Type: String
type: string
undercloudImage:
Default: undercloud
Type: String
default: undercloud
type: string
NeutronPassword:
Default: unset
Description: The password for the neutron service account, used by neutron agents.
Type: String
NoEcho: true
default: unset
description: The password for the neutron service account, used by neutron agents.
type: string
hidden: true
NovaPassword:
Default: unset
Description: The password for the nova service account, used by nova-api.
Type: String
NoEcho: true
default: unset
description: The password for the nova service account, used by nova-api.
type: string
hidden: true
NeutronPublicInterfaceDefaultRoute:
Default: ''
Description: A custom default route for the NeutronPublicInterface.
Type: String
default: ''
description: A custom default route for the NeutronPublicInterface.
type: string
NeutronPublicInterfaceIP:
Default: ''
Description: A custom IP address to put onto the NeutronPublicInterface.
Type: String
default: ''
description: A custom IP address to put onto the NeutronPublicInterface.
type: string
NeutronPublicInterfaceRawDevice:
Default: ''
Description: If set, the public interface is a vlan with this device as the raw device.
Type: String
default: ''
description: If set, the public interface is a vlan with this device as the raw device.
type: string
NtpServer:
Type: String
Default: ''
type: string
default: ''
RabbitUserName:
Default: guest
Description: The username for RabbitMQ
Type: String
default: guest
description: The username for RabbitMQ
type: string
RabbitPassword:
Default: guest
Description: The password for RabbitMQ
Type: String
NoEcho: true
default: guest
description: The password for RabbitMQ
type: string
hidden: true
RabbitCookieSalt:
Type: String
Default: unset
Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
type: string
default: unset
description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
HeatStackDomainAdminPassword:
Description: Password for heat_domain_admin user.
Type: String
Default: ''
NoEcho: true
description: Password for heat_domain_admin user.
type: string
default: ''
hidden: true
MysqlInnodbBufferPoolSize:
Description: >
description: >
Specifies the size of the buffer pool in megabytes. Setting to
zero should be interpreted as "no value" and will defer to the
lower level default.
Type: Number
Default: 0
type: number
default: 0
KeystoneCACertificate:
Default: ''
Description: Keystone self-signed certificate authority certificate.
Type: String
default: ''
description: Keystone self-signed certificate authority certificate.
type: string
KeystoneSigningCertificate:
Default: ''
Description: Keystone certificate for verifying token validity.
Type: String
default: ''
description: Keystone certificate for verifying token validity.
type: string
KeystoneSigningKey:
Default: ''
Description: Keystone key for signing tokens.
Type: String
NoEcho: true
Resources:
default: ''
description: Keystone key for signing tokens.
type: string
hidden: true
resources:
RabbitCookie:
Type: OS::Heat::RandomString
Properties:
type: OS::Heat::RandomString
properties:
length: 20
salt:
Ref: RabbitCookieSalt
get_param: RabbitCookieSalt
undercloudConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
config:
completion-signal: {get_input: deploy_signal_id}
admin-password:
Ref: AdminPassword
get_param: AdminPassword
admin-token:
Ref: AdminToken
get_param: AdminToken
bootstrap_host:
bootstrap_nodeid:
Fn::Select:
@ -207,68 +207,68 @@ Resources:
undercloud:
- Fn::Select:
- name
- Fn::GetAtt:
- get_attr:
- undercloud
- show
nodeid: {get_input: bootstack_nodeid}
bootstack:
public_interface_ip:
Ref: NeutronPublicInterfaceIP
get_param: NeutronPublicInterfaceIP
controller-address:
get_input: controller_host
ceilometer:
db: mysql://ceilometer:unset@localhost/ceilometer
metering_secret: {Ref: CeilometerMeteringSecret}
metering_secret: {get_param: CeilometerMeteringSecret}
snmpd_readonly_user_name:
Ref: SnmpdReadonlyUserName
get_param: SnmpdReadonlyUserName
snmpd_readonly_user_password:
Ref: SnmpdReadonlyUserPassword
get_param: SnmpdReadonlyUserPassword
service-password:
Ref: CeilometerPassword
get_param: CeilometerPassword
db-password: unset
glance:
backend: file
db: mysql://glance:unset@localhost/glance
host: 127.0.0.1
port:
Ref: GlancePort
get_param: GlancePort
protocol:
Ref: GlanceProtocol
get_param: GlanceProtocol
service-password:
Ref: GlancePassword
get_param: GlancePassword
notifier-strategy:
Ref: GlanceNotifierStrategy
get_param: GlanceNotifierStrategy
log-file:
Ref: GlanceLogFile
get_param: GlanceLogFile
heat:
admin_password:
Ref: HeatPassword
get_param: HeatPassword
admin_tenant_name: service
admin_user: heat
auth_encryption_key: unset___________
db: mysql://heat:unset@localhost/heat
stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
watch_server_url: {get_input: heat.watch_server_url}
metadata_server_url: {get_input: heat.metadata_server_url}
waitcondition_server_url: {get_input: heat.waitcondition_server_url}
keystone:
db: mysql://keystone:unset@localhost/keystone
host: 127.0.0.1
ca_certificate: {Ref: KeystoneCACertificate}
signing_key: {Ref: KeystoneSigningKey}
signing_certificate: {Ref: KeystoneSigningCertificate}
ca_certificate: {get_param: KeystoneCACertificate}
signing_key: {get_param: KeystoneSigningKey}
signing_certificate: {get_param: KeystoneSigningCertificate}
mysql:
innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
neutron:
host: 127.0.0.1
ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
ovs:
public_interface:
Ref: NeutronPublicInterface
get_param: NeutronPublicInterface
public_interface_raw_device:
Ref: NeutronPublicInterfaceRawDevice
get_param: NeutronPublicInterfaceRawDevice
public_interface_route:
Ref: NeutronPublicInterfaceDefaultRoute
get_param: NeutronPublicInterfaceDefaultRoute
physical_bridge: br-ctlplane
physical_network: ctlplane
network_vlan_ranges: ctlplane
@ -276,48 +276,48 @@ Resources:
tenant_network_type: vlan
enable_tunneling: 'False'
service-password:
Ref: NeutronPassword
get_param: NeutronPassword
rabbit:
host: 127.0.0.1
username:
Ref: RabbitUserName
get_param: RabbitUserName
password:
Ref: RabbitPassword
get_param: RabbitPassword
cookie:
Fn::GetAtt:
get_attr:
- RabbitCookie
- value
ntp:
servers:
- {server: {Ref: NtpServer}, fudge: "stratum 0"}
- {server: {get_param: NtpServer}, fudge: "stratum 0"}
undercloudPassthroughConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
config: {get_input: passthrough_config}
undercloud:
Type: OS::Nova::Server
Properties:
type: OS::Nova::Server
properties:
image:
Ref: undercloudImage
get_param: undercloudImage
flavor:
Ref: Flavor
get_param: Flavor
key_name:
Ref: KeyName
get_param: KeyName
image_update_policy:
Ref: ImageUpdatePolicy
get_param: ImageUpdatePolicy
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
99_undercloudDeployment:
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: undercloudConfig}
server: {Ref: undercloud}
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudConfig}
server: {get_resource: undercloud}
input_values:
bootstack_nodeid:
Fn::Select:
- name
- Fn::GetAtt:
- get_attr:
- undercloud
- show
controller_host:
@ -325,32 +325,32 @@ Resources:
- 0
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- get_attr:
- undercloud
- networks
heat.watch_server_url:
Fn::Join:
list_join:
- ''
- - 'http://'
- {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ undercloud, networks ]}]]}
- {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { get_attr: [ undercloud, networks ]}]]}
- ':8003'
heat.metadata_server_url:
Fn::Join:
list_join:
- ''
- - 'http://'
- {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ undercloud, networks ]}]]}
- {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { get_attr: [ undercloud, networks ]}]]}
- ':8000'
heat.waitcondition_server_url:
Fn::Join:
list_join:
- ''
- - 'http://'
- {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ undercloud, networks ]}]]}
- {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { get_attr: [ undercloud, networks ]}]]}
- ':8000/v1/waitcondition'
00_undercloudPassthroughDeployment:
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: undercloudPassthroughConfig}
server: {Ref: undercloud}
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudPassthroughConfig}
server: {get_resource: undercloud}
signal_transport: NO_SIGNAL
input_values:
passthrough_config: {Ref: ExtraConfig}
passthrough_config: {get_param: ExtraConfig}

View File

@ -1,7 +1,7 @@
Resources:
resources:
undercloudNovaConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
config:
nova:
compute_hostname: undercloud
@ -16,8 +16,8 @@ Resources:
reserved_host_memory_mb: 0
service-password: {get_input: nova_service_password}
undercloudIronicConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
config:
ironic:
db: mysql://ironic:unset@localhost/ironic

View File

@ -1,31 +1,31 @@
Parameters:
parameters:
IronicPassword:
Type: String
Description: Ironic password for keystone access
NoEcho: true
type: string
description: Ironic password for keystone access
hidden: true
NeutronPublicInterface:
Default: eth0
Description: What interface to bridge onto br-ex for network nodes.
Type: String
default: eth0
description: What interface to bridge onto br-ex for network nodes.
type: string
PowerSSHPrivateKey:
Description: Private key for using to ssh to a virtual power host.
Type: String
NoEcho: true
Resources:
description: Private key for using to ssh to a virtual power host.
type: string
hidden: true
resources:
01_undercloudNovaDeployment:
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: undercloudNovaConfig}
server: {Ref: undercloud}
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudNovaConfig}
server: {get_resource: undercloud}
signal_transport: NO_SIGNAL
input_values:
nova_service_password: {Ref: NovaPassword}
nova_service_password: {get_param: NovaPassword}
02_undercloudIronicDeployment:
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: undercloudIronicConfig}
server: {Ref: undercloud}
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudIronicConfig}
server: {get_resource: undercloud}
signal_transport: NO_SIGNAL
input_values:
ironic_service_password: {Ref: IronicPassword}
virtual_power_ssh_key: {Ref: PowerSSHPrivateKey}
ironic_service_password: {get_param: IronicPassword}
virtual_power_ssh_key: {get_param: PowerSSHPrivateKey}

View File

@ -1,7 +1,7 @@
Resources:
resources:
undercloudNovaConfig:
Type: OS::Heat::StructuredConfig
Properties:
type: OS::Heat::StructuredConfig
properties:
config:
nova:
compute_hostname: undercloud

View File

@ -1,40 +1,40 @@
Parameters:
parameters:
NeutronPublicInterface:
Default: eth0
Description: What interface to bridge onto br-ex for network nodes.
Type: String
default: eth0
description: What interface to bridge onto br-ex for network nodes.
type: string
PowerManager:
Default: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
Description: Bare metal power manager driver.
Type: String
default: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
description: Bare metal power manager driver.
type: string
PxeDeployTimeout:
Default: 2400
Description: Timeout for PXE deployment of baremetal nodes
Type: Number
default: 2400
description: Timeout for PXE deployment of baremetal nodes
type: number
PowerSSHHost:
Default: 192.168.122.1
Description: SSH host to ssh to for power management operations.
Type: String
default: 192.168.122.1
description: SSH host to ssh to for power management operations.
type: string
PowerSSHPrivateKey:
Description: Private key for using to ssh to a virtual power host.
Type: String
NoEcho: true
description: Private key for using to ssh to a virtual power host.
type: string
hidden: true
PowerUserName:
Default: stack
Description: What username to ssh to the virtual power host with.
Type: String
Resources:
default: stack
description: What username to ssh to the virtual power host with.
type: string
resources:
01_undercloudNovaDeployment:
Type: OS::Heat::StructuredDeployment
Properties:
config: {Ref: undercloudNovaConfig}
server: {Ref: undercloud}
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudNovaConfig}
server: {get_resource: undercloud}
signal_transport: NO_SIGNAL
input_values:
nova_arch: {Ref: BaremetalArch}
power_manager: {Ref: PowerManager}
pxe_deploy_timeout: {Ref: PxeDeployTimeout}
nova_service_password: {Ref: NovaPassword}
user: {Ref: PowerUserName}
ssh_host: {Ref: PowerSSHHost}
ssh_key: {Ref: PowerSSHPrivateKey}
nova_arch: {get_param: BaremetalArch}
power_manager: {get_param: PowerManager}
pxe_deploy_timeout: {get_param: PxeDeployTimeout}
nova_service_password: {get_param: NovaPassword}
user: {get_param: PowerUserName}
ssh_host: {get_param: PowerSSHHost}
ssh_key: {get_param: PowerSSHPrivateKey}