diff options
author | Clint Byrum <clint@fewbar.com> | 2014-06-04 00:42:29 -0700 |
---|---|---|
committer | Tomas Sedovic <tsedovic@redhat.com> | 2014-06-30 12:28:57 +0200 |
commit | 19271ebcd290997b99647da1e1e27ac21633aea4 (patch) | |
tree | af33394f5bc30ed067d0216aeb23dbad05aa2855 | |
parent | 9e33760e06116fd44d9766b4b5828a29e69ec736 (diff) |
Compute all hosts matrix once
Then feed in through separate deployments. This reduces the exponential
growth of calculating the entire list for every server.
Change-Id: Ib1187eabeb91b46e29ddcf5065056e43a69bb2a0
-rw-r--r-- | nova-compute-config.yaml | 1 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 12 | ||||
-rw-r--r-- | overcloud-source.yaml | 77 |
3 files changed, 26 insertions, 64 deletions
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml index ebc8fbd2..2da60d1d 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: diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml index d32159a3..f0a64cbf 100644 --- a/nova-compute-instance.yaml +++ b/nova-compute-instance.yaml @@ -145,10 +145,9 @@ Parameters: Type: String NeutronEnableTunnelling: Type: String - StaticHosts: - Default: '' - Description: Static content to append to /etc/hosts + HostsConfig: Type: String + Description: OS::Heat::Config to use for hosts file deployment LiveUpdateUserName: Type: String Description: The live-update username for the undercloud Glance API. @@ -202,7 +201,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} @@ -226,6 +224,12 @@ Resources: nova_image: {Ref: NovaImage} live_update_image_id: {Ref: LiveUpdateComputeImage} ntp_server: {Ref: NtpServer} + NovaCompute0HostsDeploy: + Type: OS::Heat::StructuredDeployment + Properties: + config: {Ref: HostsConfig} + server: {Ref: NovaCompute0} + signal_transport: NO_SIGNAL NovaCompute0Passthrough: Type: OS::Heat::StructuredDeployment Properties: diff --git a/overcloud-source.yaml b/overcloud-source.yaml index e4439f0e..02ecdfa1 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -303,62 +303,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} + NovaCompute0Hosts: + Type: FileInclude + Path: nova-compute-instance.yaml + SubKey: Resources.NovaCompute0HostsDeploy + Parameters: + HostsConfig: {Ref: allHostsConfig} NovaCompute0Passthrough: Type: OS::Heat::StructuredDeployment Properties: @@ -440,7 +390,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: @@ -532,6 +481,12 @@ Resources: key_name: Ref: KeyName user_data_format: SOFTWARE_CONFIG + controller0Hosts: + Type: OS::Heat::StructuredDeployment + Properties: + config: {Ref: allHostsConfig} + server: {Ref: controller0} + signal_transport: NO_SIGNAL controller0Deployment: Type: OS::Heat::StructuredDeployment Properties: @@ -552,6 +507,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 +527,10 @@ Resources: - - 'http://' - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]} - ':8000/v1/waitcondition' + allHostsConfig: + Type: OS::Heat::StructuredConfig + Properties: + config: hosts: Fn::Join: - "\n" @@ -626,8 +587,6 @@ Resources: - show - 'novalocal' - {Ref: CloudName} - controller_virtual_ip: - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]} controller0SSLDeployment: Type: OS::Heat::StructuredDeployment Properties: |