summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--nova-compute-config.yaml2
-rw-r--r--nova-compute-instance.yaml17
-rw-r--r--overcloud-source.yaml143
-rw-r--r--undercloud-source.yaml2
5 files changed, 96 insertions, 72 deletions
diff --git a/Makefile b/Makefile
index 3fb54d34..18199edf 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,10 @@ generated_templates = \
overcloud_source_deps = nova-compute-instance.yaml
all: $(generated_templates)
+VALIDATE := $(patsubst %,validate-%,$(generated_templates))
+validate-all: $(VALIDATE)
+$(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
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml
index ebc8fbd2..6c6f7dc8 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -21,7 +21,6 @@ Resources:
readonly_user_password: {get_input: snmpd_readonly_user_password}
glance:
host: {get_input: glance_host}
- hosts: {get_input: static_hosts}
keystone:
host: {get_input: keystone_host}
neutron:
@@ -39,7 +38,6 @@ Resources:
service-password: {get_input: neutron_password}
admin-password: {get_input: admin_password}
rabbit:
- host: {get_input: rabbit_host}
username: {get_input: rabbit_user_name}
password: {get_input: rabbit_password}
live-update:
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index d32159a3..baa20e29 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -77,8 +77,6 @@ Parameters:
Default: ''
Description: A port to add to the NeutronPhysicalBridge.
Type: String
- RabbitHost:
- Type: String
RabbitUserName:
Type: String
RabbitPassword:
@@ -145,10 +143,9 @@ Parameters:
Type: String
NeutronEnableTunnelling:
Type: String
- StaticHosts:
- Default: ''
- Description: Static content to append to /etc/hosts
+ AllNodesConfig:
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.
@@ -180,11 +177,14 @@ Resources:
Ref: ImageUpdatePolicy
flavor: {Ref: OvercloudComputeFlavor}
key_name: {Ref: KeyName}
+ networks:
+ - network: ctlplane
user_data_format: SOFTWARE_CONFIG
NovaCompute0Deploy:
DependsOn: [controller0Deployment]
Type: OS::Heat::StructuredDeployment
Properties:
+ signal_transport: NO_SIGNAL
config: {Ref: NovaComputeConfig}
server: {Ref: NovaCompute0}
input_values:
@@ -202,7 +202,6 @@ Resources:
glance_host: {Ref: GlanceHost}
glance_port: {Ref: GlancePort}
glance_protocol: {Ref: GlanceProtocol}
- static_hosts: {Ref: StaticHosts}
keystone_host: {Ref: KeystoneHost}
neutron_flat_networks: {Ref: NeutronFlatNetworks}
neutron_host: {Ref: NeutronHost}
@@ -216,7 +215,6 @@ Resources:
neutron_public_interface: {Ref: NeutronPublicInterface}
neutron_password: {Ref: NeutronPassword}
admin_password: {Ref: AdminPassword}
- rabbit_host: {Ref: RabbitHost}
rabbit_username: {Ref: RabbitUserName}
rabbit_password: {Ref: RabbitPassword}
live_update_host: {Ref: LiveUpdateHost}
@@ -226,6 +224,11 @@ Resources:
nova_image: {Ref: NovaImage}
live_update_image_id: {Ref: LiveUpdateComputeImage}
ntp_server: {Ref: NtpServer}
+ NovaCompute0AllNodesDeploy:
+ Type: OS::Heat::StructuredDeployment
+ Properties:
+ config: {Ref: AllNodesConfig}
+ server: {Ref: NovaCompute0}
NovaCompute0Passthrough:
Type: OS::Heat::StructuredDeployment
Properties:
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index bfec872c..7cce21a3 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -273,6 +273,10 @@ Resources:
network_id: {Ref: NeutronControlPlaneID}
fixed_ips:
Ref: ControlFixedIPs
+ MysqlClusterUniquePart:
+ Type: OS::Heat::RandomString
+ Properties:
+ length: 10
RabbitCookie:
Type: OS::Heat::RandomString
Properties:
@@ -286,7 +290,6 @@ Resources:
Parameters:
NovaApiHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
KeystoneHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
- RabbitHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
NeutronHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
GlanceHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/nova']]}
@@ -303,62 +306,12 @@ Resources:
Ref: HypervisorNeutronPublicInterface
NeutronBridgeMappings:
Ref: NeutronBridgeMappings
- StaticHosts:
- Fn::Join:
- - "\n"
- - - Fn::Join:
- - "\n"
- - Merge::Map:
- NovaCompute0:
- Fn::Join:
- - ' '
- - - Fn::Select:
- - 0
- - Fn::Select:
- - ctlplane
- - Fn::GetAtt:
- - NovaCompute0
- - networks
- - Fn::Select:
- - name
- - Fn::GetAtt:
- - NovaCompute0
- - show
- - Fn::Join:
- - '.'
- - - Fn::Select:
- - name
- - Fn::GetAtt:
- - NovaCompute0
- - show
- - 'novalocal'
- - Fn::Join:
- - "\n"
- - Merge::Map:
- controller0:
- Fn::Join:
- - ' '
- - - Fn::Select:
- - 0
- - Fn::Select:
- - ctlplane
- - Fn::GetAtt:
- - controller0
- - networks
- - Fn::Select:
- - name
- - Fn::GetAtt:
- - controller0
- - show
- - Fn::Join:
- - '.'
- - - Fn::Select:
- - name
- - Fn::GetAtt:
- - controller0
- - show
- - 'novalocal'
- - {Ref: CloudName}
+ NovaCompute0AllNodes:
+ Type: FileInclude
+ Path: nova-compute-instance.yaml
+ SubKey: Resources.NovaCompute0AllNodesDeploy
+ Parameters:
+ AllNodesConfig: {Ref: allNodesConfig}
NovaCompute0Passthrough:
Type: OS::Heat::StructuredDeployment
Properties:
@@ -376,7 +329,6 @@ Resources:
Properties:
group: os-apply-config
config:
- completion-signal: {get_input: deploy_signal_id}
admin-password:
Ref: AdminPassword
admin-token:
@@ -440,7 +392,6 @@ Resources:
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:
@@ -450,6 +401,15 @@ Resources:
signing_certificate: {Ref: KeystoneSigningCertificate}
mysql:
innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
+ nodes:
+ Merge::Map:
+ controller0:
+ ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ cluster_name:
+ Fn::Join:
+ - '-'
+ - - 'tripleo'
+ - {Ref: MysqlClusterUniquePart}
neutron:
flat-networks: {Ref: NeutronFlatNetworks}
host: {get_input: controller_virtual_ip}
@@ -493,8 +453,6 @@ Resources:
service-password:
Ref: NovaPassword
rabbit:
- host:
- get_input: controller_host
username:
Ref: RabbitUserName
password:
@@ -515,6 +473,45 @@ Resources:
ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
interface:
Ref: ControlVirtualInterface
+ haproxy:
+ nodes:
+ Merge::Map:
+ controller0:
+ ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ name: {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
+ net_binds:
+ - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ services:
+ - name: keystone_admin
+ port: 35357
+ - name: keystone_public
+ port: 5000
+ - name: horizon
+ port: 80
+ - name: neutron
+ port: 9696
+ - name: cinder
+ port: 8776
+ - name: glance_api
+ port: 9292
+ - name: glance_registry
+ port: 9191
+ - name: heat_api
+ port: 8004
+ - name: heat_cloudwatch
+ port: 8003
+ - name: heat_cfn
+ port: 8000
+ - name: nova_ec2
+ port: 8773
+ - name: nova_osapi
+ port: 8774
+ - name: nova_metadata
+ port: 8775
+ - name: ceilometer
+ port: 8777
+ - name: swift_proxy_server
+ port: 8080
controllerPassthrough:
Type: OS::Heat::StructuredConfig
Properties:
@@ -531,10 +528,18 @@ Resources:
Ref: OvercloudControlFlavor
key_name:
Ref: KeyName
+ networks:
+ - network: ctlplane
user_data_format: SOFTWARE_CONFIG
+ controller0AllNodesConfig:
+ Type: OS::Heat::StructuredDeployment
+ Properties:
+ config: {Ref: allNodesConfig}
+ server: {Ref: controller0}
controller0Deployment:
Type: OS::Heat::StructuredDeployment
Properties:
+ signal_transport: NO_SIGNAL
config: {Ref: controllerConfig}
server: {Ref: controller0}
input_values:
@@ -552,6 +557,8 @@ Resources:
- Fn::GetAtt:
- controller0
- networks
+ controller_virtual_ip:
+ {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
heat.watch_server_url:
Fn::Join:
- ''
@@ -570,6 +577,11 @@ Resources:
- - 'http://'
- {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
- ':8000/v1/waitcondition'
+ allNodesConfig:
+ Type: OS::Heat::StructuredConfig
+ Properties:
+ config:
+ completion-signal: {get_input: deploy_signal_id}
hosts:
Fn::Join:
- "\n"
@@ -626,8 +638,13 @@ Resources:
- show
- 'novalocal'
- {Ref: CloudName}
- controller_virtual_ip:
- {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ rabbit:
+ nodes:
+ Fn::Join:
+ - ','
+ - Merge::Map:
+ controller0:
+ {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
controller0SSLDeployment:
Type: OS::Heat::StructuredDeployment
Properties:
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index 66517586..aa0c9eed 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -305,6 +305,8 @@ Resources:
Ref: KeyName
image_update_policy:
Ref: ImageUpdatePolicy
+ networks:
+ - network: ctlplane
user_data_format: SOFTWARE_CONFIG
99_undercloudDeployment:
Type: OS::Heat::StructuredDeployment