aboutsummaryrefslogtreecommitdiffstats
path: root/overcloud-source.yaml
diff options
context:
space:
mode:
authorClint Byrum <clint@fewbar.com>2014-03-19 15:16:32 -0700
committerRobert Collins <rbtcollins@hp.com>2014-04-16 14:10:48 +1200
commitbe5af1a35e6bbb9e517fd953a5fe0e2467676b91 (patch)
tree021e451d33e64007e9fae34d273d652709cc6aaf /overcloud-source.yaml
parenta830cea3b1071f70485f427877ac4577f5d13e16 (diff)
Switch overcloud to software-config
This migrates the overcloud to using OS::Heat::StructuredConfig and OS::Heat::StructuredDeployment. With those tools, we can decouple servers from software configuration and begin to deprecate features in tripleo_heat_merge. Change-Id: Ice85f0711e90d0fabf1d1bc4698201c4d6758508
Diffstat (limited to 'overcloud-source.yaml')
-rw-r--r--overcloud-source.yaml412
1 files changed, 147 insertions, 265 deletions
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index 950b39a5..f215e3be 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -181,53 +181,10 @@ Resources:
length: 20
salt:
Ref: RabbitCookieSalt
- AccessPolicy:
- Properties:
- AllowedResources:
- - controller0
- - controller0Config
- Type: OS::Heat::AccessPolicy
- ComputeAccessPolicy:
- Properties:
- AllowedResources:
- - NovaCompute0
- - NovaCompute0Config
- Type: OS::Heat::AccessPolicy
- controller0Key:
- Properties:
- UserName:
- Ref: User
- Type: AWS::IAM::AccessKey
- controller0CompletionCondition:
- Type: AWS::CloudFormation::WaitCondition
- DependsOn: controller0Config
- Properties:
- Handle: {Ref: controller0CompletionHandle}
- Count: '1'
- Timeout: '1800'
- controller0CompletionHandle:
- Type: OS::Heat::UpdateWaitConditionHandle
- NovaCompute0Key:
- Type: FileInclude
- Path: nova-compute-instance.yaml
- SubKey: Resources.NovaCompute0Key
- NovaCompute0CompletionCondition:
- Type: FileInclude
- Path: nova-compute-instance.yaml
- SubKey: Resources.NovaCompute0CompletionCondition
- NovaCompute0CompletionHandle:
- Type: FileInclude
- Path: nova-compute-instance.yaml
- SubKey: Resources.NovaCompute0CompletionHandle
- ComputeUser:
- Properties:
- Policies:
- - Ref: ComputeAccessPolicy
- Type: AWS::IAM::User
NovaCompute0Config:
Type: FileInclude
Path: nova-compute-instance.yaml
- SubKey: Resources.NovaCompute0Config
+ SubKey: Resources.NovaCompute0Deploy
Parameters:
NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
@@ -293,243 +250,168 @@ Resources:
Type: FileInclude
Path: nova-compute-instance.yaml
SubKey: Resources.NovaCompute0
- User:
+ controllerConfig:
+ Type: OS::Heat::StructuredConfig
Properties:
- Policies:
- - Ref: AccessPolicy
- Type: AWS::IAM::User
- controller0Config:
- Type: AWS::AutoScaling::LaunchConfiguration
+ config:
+ completion-signal: {get_input: deploy_signal_id}
+ admin-password:
+ Ref: AdminPassword
+ admin-token:
+ Ref: AdminToken
+ bootstack:
+ public_interface_ip:
+ Ref: NeutronPublicInterfaceIP
+ cinder:
+ db: mysql://cinder:unset@localhost/cinder
+ volume_size_mb: '5000'
+ service-password:
+ Ref: CinderPassword
+ iscsi-helper:
+ Ref: CinderISCSIHelper
+ controller-address:
+ get_input: controller_host
+ db-password: unset
+ glance:
+ backend: swift
+ db: mysql://glance:unset@localhost/glance
+ host:
+ get_input: controller_host
+ service-password:
+ Ref: GlancePassword
+ swift-store-user: service:glance
+ swift-store-key:
+ Ref: GlancePassword
+ notifier-strategy:
+ Ref: GlanceNotifierStrategy
+ log-file:
+ Ref: GlanceLogFile
+ heat:
+ admin_password:
+ Ref: HeatPassword
+ admin_tenant_name: service
+ admin_user: heat
+ auth_encryption_key: unset___________
+ db: mysql://heat:unset@localhost/heat
+ stack_domain_admin_password: {Ref: 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}
+ hosts: {get_input: hosts}
+ keystone:
+ db: mysql://keystone:unset@localhost/keystone
+ host:
+ get_input: controller_host
+ mysql:
+ innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
+ neutron:
+ flat-networks: {Ref: NeutronFlatNetworks}
+ host:
+ get_input: controller_host
+ metadata_proxy_shared_secret: unset
+ ovs:
+ enable_tunneling: 'True'
+ local_ip:
+ get_input: controller_host
+ bridge_mappings: {Ref: NeutronBridgeMappings}
+ public_interface:
+ Ref: NeutronPublicInterface
+ public_interface_raw_device:
+ Ref: NeutronPublicInterfaceRawDevice
+ public_interface_route:
+ Ref: NeutronPublicInterfaceDefaultRoute
+ physical_bridge: br-ex
+ tenant_network_type: gre
+ ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
+ service-password:
+ Ref: NeutronPassword
+ ceilometer:
+ db: mysql://ceilometer:unset@localhost/ceilometer
+ metering_secret: {Ref: CeilometerMeteringSecret}
+ service-password:
+ Ref: CeilometerPassword
+ nova:
+ compute_driver: libvirt.LibvirtDriver
+ db: mysql://nova:unset@localhost/nova
+ default_floating_pool:
+ ext-net
+ host:
+ get_input: controller_host
+ metadata-proxy: true
+ service-password:
+ Ref: NovaPassword
+ rabbit:
+ host:
+ get_input: controller_host
+ username:
+ Ref: RabbitUserName
+ password:
+ Ref: RabbitPassword
+ cookie:
+ Fn::GetAtt:
+ - RabbitCookie
+ - value
+ ntp:
+ servers:
+ - {server: {Ref: NtpServer}, fudge: "stratum 0"}
+ controller0:
+ Type: OS::Nova::Server
Properties:
- ImageId: '0'
- InstanceType: '0'
- Metadata:
- OpenStack::Heat::Stack: {}
- OpenStack::ImageBuilder::Elements:
- - boot-stack
- - heat-cfntools
- - heat-localip
- - neutron-network-node
- admin-password:
- Ref: AdminPassword
- admin-token:
- Ref: AdminToken
- bootstack:
- public_interface_ip:
- Ref: NeutronPublicInterfaceIP
- cinder:
- db: mysql://cinder:unset@localhost/cinder
- volume_size_mb: '5000'
- service-password:
- Ref: CinderPassword
- iscsi-helper:
- Ref: CinderISCSIHelper
- completion-handle:
- Ref: controller0CompletionHandle
- controller-address:
- Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - controller0
- - networks
- db-password: unset
- glance:
- backend: swift
- db: mysql://glance:unset@localhost/glance
- host:
+ image:
+ Ref: controllerImage
+ image_update_policy:
+ Ref: ImageUpdatePolicy
+ flavor:
+ Ref: OvercloudControlFlavor
+ key_name:
+ Ref: KeyName
+ user_data_format: SOFTWARE_CONFIG
+ controller0Deployment:
+ Type: OS::Heat::StructuredDeployment
+ Properties:
+ config: {Ref: controllerConfig}
+ server: {Ref: controller0}
+ input_values:
+ controller_host:
Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - controller0
- - networks
- service-password:
- Ref: GlancePassword
- swift-store-user: service:glance
- swift-store-key:
- Ref: GlancePassword
- notifier-strategy:
- Ref: GlanceNotifierStrategy
- log-file:
- Ref: GlanceLogFile
- heat:
- admin_password:
- Ref: HeatPassword
- admin_tenant_name: service
- admin_user: heat
- auth_encryption_key: unset___________
- db: mysql://heat:unset@localhost/heat
- stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
- watch_server_url:
+ - 0
+ - Fn::Select:
+ - ctlplane
+ - Fn::GetAtt:
+ - controller0
+ - networks
+ heat.watch_server_url:
Fn::Join:
- ''
- - 'http://'
- - Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - controller0
- - networks
+ - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
- ':8003'
- metadata_server_url:
+ heat.metadata_server_url:
Fn::Join:
- ''
- - 'http://'
- - Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - controller0
- - networks
+ - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
- ':8000'
- waitcondition_server_url:
+ heat.waitcondition_server_url:
Fn::Join:
- ''
- - 'http://'
- - Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - controller0
- - networks
+ - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
- ':8000/v1/waitcondition'
- hosts:
- Fn::Join:
- - ' '
- - - Fn::Select:
- - 0
- - Fn::Select:
- - ctlplane
- - Fn::GetAtt:
- - controller0
- - networks
- - {Ref: CloudName}
- keystone:
- db: mysql://keystone:unset@localhost/keystone
- host:
- Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - controller0
- - networks
- mysql:
- innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
- neutron:
- flat-networks: {Ref: NeutronFlatNetworks}
- host:
- Fn::Select:
- - 0
- - Fn::Select:
- - ctlplane
- - Fn::GetAtt:
- - controller0
- - networks
- metadata_proxy_shared_secret: unset
- ovs:
- enable_tunneling: 'True'
- local_ip:
- Fn::Select:
- - 0
- - Fn::Select:
- - ctlplane
- - Fn::GetAtt:
- - controller0
- - networks
- bridge_mappings: {Ref: NeutronBridgeMappings}
- public_interface:
- Ref: NeutronPublicInterface
- public_interface_raw_device:
- Ref: NeutronPublicInterfaceRawDevice
- public_interface_route:
- Ref: NeutronPublicInterfaceDefaultRoute
- physical_bridge: br-ex
- tenant_network_type: gre
- ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
- service-password:
- Ref: NeutronPassword
- ceilometer:
- db: mysql://ceilometer:unset@localhost/ceilometer
- metering_secret: {Ref: CeilometerMeteringSecret}
- service-password:
- Ref: CeilometerPassword
- nova:
- compute_driver: libvirt.LibvirtDriver
- db: mysql://nova:unset@localhost/nova
- default_floating_pool:
- ext-net
- host:
- Fn::Select:
- - 0
- - Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - controller0
- - networks
- metadata-proxy: true
- service-password:
- Ref: NovaPassword
- os-collect-config:
- cfn:
- access_key_id:
- Ref: controller0Key
- path: controller0Config.Metadata
- secret_access_key:
- Fn::GetAtt:
- - controller0Key
- - SecretAccessKey
- stack_name:
- Ref: AWS::StackName
- rabbit:
- host:
- Fn::Select:
- - 0
- - Fn::Select:
- - ctlplane
- - Fn::GetAtt:
- - controller0
- - networks
- username:
- Ref: RabbitUserName
- password:
- Ref: RabbitPassword
- cookie:
- Fn::GetAtt:
- - RabbitCookie
- - value
- ntp:
- servers:
- - {server: {Ref: NtpServer}, fudge: "stratum 0"}
- controller0:
- Type: OS::Nova::Server
+ hosts:
+ Fn::Join:
+ - ' '
+ - - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
+ - {Ref: CloudName}
+ controller0SSLDeployment:
+ Type: OS::Heat::StructuredDeployment
Properties:
- image:
- Ref: controllerImage
- image_update_policy:
- Ref: ImageUpdatePolicy
- flavor:
- Ref: OvercloudControlFlavor
- key_name:
- Ref: KeyName
- Metadata:
- os-collect-config:
- cfn:
- access_key_id:
- Ref: controller0Key
- path: controller0Config.Metadata
- secret_access_key:
- Fn::GetAtt:
- - controller0Key
- - SecretAccessKey
- stack_name:
- Ref: AWS::StackName
+ config: {Ref: SSLConfig}
+ server: {Ref: controller0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ ssl_certificate: {Ref: SSLCertificate}
+ ssl_key: {Ref: SSLKey}
Outputs:
KeystoneURL:
Description: URL for the Overcloud Keystone service