diff options
author | Oliver Walsh <owalsh@redhat.com> | 2017-10-20 23:27:15 +0100 |
---|---|---|
committer | Oliver Walsh <owalsh@redhat.com> | 2017-11-10 09:25:25 +0000 |
commit | 4217767d8782abae02b11f553fc14daf7cd72916 (patch) | |
tree | 40a20fb6bd90c57faed62de6192d3b208a6a0194 /puppet | |
parent | 690b938c58af1446bd27c34b17fa45e865241e99 (diff) |
Refactor cellv2 host discovery logic to avoid races
The compute service list is polled until all expected hosts are reported or a
timeout occurs (600s).
Adds a cellv2_discovery flag to puppet services. Used to generate a list of
hosts that should have cellv2 host mappings.
Adds a canonical fqdn and that should match the fqdn reported by a host.
Adds the ability to upload a config script for docker config instead of using
complex bash on-liners.
Closes-bug: 1720821
Change-Id: I33e2f296526c957cb5f96dff19682a4e60c6a0f0
(cherry picked from commit 61fcfca045aeb5be1ee280d8dd9c260fb39b9084)
Diffstat (limited to 'puppet')
-rw-r--r-- | puppet/all-nodes-config.j2.yaml | 6 | ||||
-rw-r--r-- | puppet/role.role.j2.yaml | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/puppet/all-nodes-config.j2.yaml b/puppet/all-nodes-config.j2.yaml index bdd2bcf3..65949625 100644 --- a/puppet/all-nodes-config.j2.yaml +++ b/puppet/all-nodes-config.j2.yaml @@ -22,6 +22,8 @@ parameters: type: json controller_names: type: comma_delimited_list + cellv2_discovery_hosts: + type: comma_delimited_list NetVipMap: type: json RedisVirtualIP: @@ -141,6 +143,10 @@ resources: list_join: - ',' - {get_param: controller_names} + - cellv2_discovery_hosts: + list_join: + - ',' + - {get_param: cellv2_discovery_hosts} deploy_identifier: {get_param: DeployIdentifier} update_identifier: {get_param: UpdateIdentifier} stack_action: {get_param: StackAction} diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml index d53afd04..a3cbe851 100644 --- a/puppet/role.role.j2.yaml +++ b/puppet/role.role.j2.yaml @@ -477,6 +477,14 @@ resources: - '.' - - {get_attr: [{{server_resource_name}}, name]} - ctlplane + canonical: + fqdn: + list_join: + - '.' + - - {get_attr: [{{server_resource_name}}, name]} + - {get_param: CloudDomain} + short: + - {get_attr: [{{server_resource_name}}, name]} PreNetworkConfig: type: OS::TripleO::{{role.name}}::PreNetworkConfig @@ -602,6 +610,7 @@ resources: fqdn_management: {get_attr: [NetHostMap, value, management, fqdn]} fqdn_ctlplane: {get_attr: [NetHostMap, value, ctlplane, fqdn]} fqdn_external: {get_attr: [NetHostMap, value, external, fqdn]} + fqdn_canonical: {get_attr: [NetHostMap, value, canonical, fqdn]} # Resource for site-specific injection of root certificate NodeTLSCAData: @@ -696,6 +705,7 @@ outputs: {{network.name_lower|default(network.name.lower())}}: {get_attr: [NetHostMap, value, {{network.name_lower|default(network.name.lower()) }}, fqdn]} {%- endfor %} ctlplane: {get_attr: [NetHostMap, value, ctlplane, fqdn]} + canonical: {get_attr: [NetHostMap, value, canonical, fqdn]} hosts_entry: value: str_replace: |