diff options
| author | Scott Dodson <sdodson@redhat.com> | 2016-11-08 17:25:10 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-08 17:25:10 -0500 | 
| commit | bf0f8266e91b552ffa815d3a7bcb65f105606438 (patch) | |
| tree | f6bc352be8a8550b2676ffd8cd1e486d3e1c0a37 /roles | |
| parent | a10e68b03db0e318e960a2f13f5f30ccb59b8d09 (diff) | |
| parent | 9e90b0085b1203830164c7ea515e69236f16de76 (diff) | |
| download | openshift-bf0f8266e91b552ffa815d3a7bcb65f105606438.tar.gz openshift-bf0f8266e91b552ffa815d3a7bcb65f105606438.tar.bz2 openshift-bf0f8266e91b552ffa815d3a7bcb65f105606438.tar.xz openshift-bf0f8266e91b552ffa815d3a7bcb65f105606438.zip  | |
Merge pull request #2764 from openshift/revert-2751-BZ1388253
Revert "Revert openshift.node.nodename changes"
Diffstat (limited to 'roles')
| -rwxr-xr-x | roles/openshift_facts/library/openshift_facts.py | 27 | ||||
| -rw-r--r-- | roles/openshift_manage_node/tasks/main.yml | 10 | ||||
| -rw-r--r-- | roles/openshift_node/templates/node.yaml.v1.j2 | 2 | 
3 files changed, 26 insertions, 13 deletions
diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index 537b6c60f..6d2b81c1f 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -148,6 +148,7 @@ def hostname_valid(hostname):      if (not hostname or              hostname.startswith('localhost') or              hostname.endswith('localdomain') or +            hostname.endswith('novalocal') or              len(hostname.split('.')) < 2):          return False @@ -362,12 +363,15 @@ def normalize_openstack_facts(metadata, facts):      facts['network']['ip'] = local_ipv4      facts['network']['public_ip'] = metadata['ec2_compat']['public-ipv4'] -    # TODO: verify local hostname makes sense and is resolvable -    facts['network']['hostname'] = metadata['hostname'] - -    # TODO: verify that public hostname makes sense and is resolvable -    pub_h = metadata['ec2_compat']['public-hostname'] -    facts['network']['public_hostname'] = pub_h +    for f_var, h_var, ip_var in [('hostname',        'hostname',        'local-ipv4'), +                                 ('public_hostname', 'public-hostname', 'public-ipv4')]: +        try: +            if socket.gethostbyname(metadata['ec2_compat'][h_var]) == metadata['ec2_compat'][ip_var]: +                facts['network'][f_var] = metadata['ec2_compat'][h_var] +            else: +                facts['network'][f_var] = metadata['ec2_compat'][ip_var] +        except socket.gaierror: +            facts['network'][f_var] = metadata['ec2_compat'][ip_var]      return facts @@ -936,6 +940,14 @@ def set_sdn_facts_if_unset(facts, system_facts):      return facts +def set_nodename(facts): +    if 'node' in facts and 'common' in facts: +        if 'cloudprovider' in facts and facts['cloudprovider']['kind'] == 'openstack': +            facts['node']['nodename'] = facts['provider']['metadata']['hostname'].replace('.novalocal', '') +        else: +            facts['node']['nodename'] = facts['common']['hostname'].lower() +    return facts +  def migrate_oauth_template_facts(facts):      """      Migrate an old oauth template fact to a newer format if it's present. @@ -1312,7 +1324,7 @@ def apply_provider_facts(facts, provider_facts):          facts['common'][h_var] = choose_hostname(              [provider_facts['network'].get(h_var)], -            facts['common'][ip_var] +            facts['common'][h_var]          )      facts['provider'] = provider_facts @@ -1795,6 +1807,7 @@ class OpenShiftFacts(object):          facts = set_proxy_facts(facts)          if not safe_get_bool(facts['common']['is_containerized']):              facts = set_installed_variant_rpm_facts(facts) +        facts = set_nodename(facts)          return dict(openshift=facts)      def get_defaults(self, roles, deployment_type, deployment_subtype): diff --git a/roles/openshift_manage_node/tasks/main.yml b/roles/openshift_manage_node/tasks/main.yml index a1f42f8c4..28e4e46e9 100644 --- a/roles/openshift_manage_node/tasks/main.yml +++ b/roles/openshift_manage_node/tasks/main.yml @@ -14,7 +14,7 @@  - name: Wait for Node Registration    command: > -    {{ openshift.common.client_binary }} get node {{ hostvars[item].openshift.common.hostname }} +    {{ openshift.common.client_binary }} get node {{ hostvars[item].openshift.node.nodename }}      --config={{ openshift_manage_node_kubeconfig }}      -n default    register: omd_get_node @@ -26,19 +26,19 @@  - name: Set node schedulability    command: > -    {{ openshift.common.client_binary }} adm manage-node {{ hostvars[item].openshift.common.hostname | lower }} --schedulable={{ 'true' if hostvars[item].openshift.node.schedulable | bool else 'false' }} +    {{ openshift.common.client_binary }} adm manage-node {{ hostvars[item].openshift.node.nodename }} --schedulable={{ 'true' if hostvars[item].openshift.node.schedulable | bool else 'false' }}      --config={{ openshift_manage_node_kubeconfig }}      -n default    with_items: "{{ openshift_nodes }}" -  when: hostvars[item].openshift.common.hostname is defined +  when: hostvars[item].openshift.node.nodename is defined  - name: Label nodes    command: > -    {{ openshift.common.client_binary }} label --overwrite node {{ hostvars[item].openshift.common.hostname | lower }} {{ hostvars[item].openshift.node.labels | oo_combine_dict  }} +    {{ openshift.common.client_binary }} label --overwrite node {{ hostvars[item].openshift.node.nodename }} {{ hostvars[item].openshift.node.labels | oo_combine_dict  }}      --config={{ openshift_manage_node_kubeconfig }}      -n default    with_items: "{{ openshift_nodes }}" -  when: hostvars[item].openshift.common.hostname is defined and 'labels' in hostvars[item].openshift.node and hostvars[item].openshift.node.labels != {} +  when: hostvars[item].openshift.node.nodename is defined and 'labels' in hostvars[item].openshift.node and hostvars[item].openshift.node.labels != {}  - name: Delete temp directory    file: diff --git a/roles/openshift_node/templates/node.yaml.v1.j2 b/roles/openshift_node/templates/node.yaml.v1.j2 index 68d153052..9bcaf4d84 100644 --- a/roles/openshift_node/templates/node.yaml.v1.j2 +++ b/roles/openshift_node/templates/node.yaml.v1.j2 @@ -33,7 +33,7 @@ networkConfig:  {% if openshift.node.set_node_ip | bool %}  nodeIP: {{ openshift.common.ip }}  {% endif %} -nodeName: {{ openshift.common.hostname | lower }} +nodeName: {{ openshift.node.nodename }}  podManifestConfig:  servingInfo:    bindAddress: 0.0.0.0:10250  | 
