diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | nova-compute-config.yaml | 2 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 17 | ||||
-rw-r--r-- | overcloud-source.yaml | 143 | ||||
-rw-r--r-- | undercloud-source.yaml | 2 |
5 files changed, 96 insertions, 72 deletions
@@ -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 |