diff options
Diffstat (limited to 'roles')
| -rwxr-xr-x | roles/openshift_facts/library/openshift_facts.py | 27 | ||||
| -rw-r--r-- | roles/openshift_hosted/tasks/router.yml | 1 | ||||
| -rw-r--r-- | roles/openshift_master_facts/tasks/main.yml | 1 | 
3 files changed, 20 insertions, 9 deletions
diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index 862871bd8..f2d17293a 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -95,6 +95,7 @@ def migrate_local_facts(facts):      migrated_facts = migrate_docker_facts(migrated_facts)      migrated_facts = migrate_common_facts(migrated_facts)      migrated_facts = migrate_node_facts(migrated_facts) +    migrated_facts = migrate_hosted_facts(migrated_facts)      return migrated_facts  def migrate_hosted_facts(facts): @@ -1852,14 +1853,7 @@ class OpenShiftFacts(object):                          val = [x.strip() for x in val.split(',')]                      new_local_facts['docker'][key] = list(set(val) - set([''])) -        for facts in new_local_facts.values(): -            keys_to_delete = [] -            if isinstance(facts, dict): -                for fact, value in facts.iteritems(): -                    if value == "" or value is None: -                        keys_to_delete.append(fact) -                for key in keys_to_delete: -                    del facts[key] +        new_local_facts = self.remove_empty_facts(new_local_facts)          if new_local_facts != local_facts:              self.validate_local_facts(new_local_facts) @@ -1870,6 +1864,23 @@ class OpenShiftFacts(object):          self.changed = changed          return new_local_facts +    def remove_empty_facts(self, facts=None): +        """ Remove empty facts + +            Args: +                facts (dict): facts to clean +        """ +        facts_to_remove = [] +        for fact, value in facts.iteritems(): +            if isinstance(facts[fact], dict): +                facts[fact] = self.remove_empty_facts(facts[fact]) +            else: +                if value == "" or value is None: +                    facts_to_remove.append(fact) +        for fact in facts_to_remove: +            del facts[fact] +        return facts +      def validate_local_facts(self, facts=None):          """ Validate local facts diff --git a/roles/openshift_hosted/tasks/router.yml b/roles/openshift_hosted/tasks/router.yml index 6a36f74b2..4ccbf4430 100644 --- a/roles/openshift_hosted/tasks/router.yml +++ b/roles/openshift_hosted/tasks/router.yml @@ -32,6 +32,7 @@      {{ openshift.common.client_binary }} --api-version='v1' -o json      get nodes -n default --config={{ openshift.common.config_base }}/master/admin.kubeconfig    register: openshift_hosted_router_nodes_json +  changed_when: false    when: openshift.hosted.router.replicas | default(None) == None  - name: Collect nodes matching router selector diff --git a/roles/openshift_master_facts/tasks/main.yml b/roles/openshift_master_facts/tasks/main.yml index e3be12182..a020fdb41 100644 --- a/roles/openshift_master_facts/tasks/main.yml +++ b/roles/openshift_master_facts/tasks/main.yml @@ -54,7 +54,6 @@        mcs_allocator_range: "{{ osm_mcs_allocator_range | default(None) }}"        mcs_labels_per_project: "{{ osm_mcs_labels_per_project | default(None) }}"        uid_allocator_range: "{{ osm_uid_allocator_range | default(None) }}" -      router_selector: "{{ openshift_router_selector | default(None) }}"        registry_selector: "{{ openshift_registry_selector | default(None) }}"        api_server_args: "{{ osm_api_server_args | default(None) }}"        controller_args: "{{ osm_controller_args | default(None) }}"  | 
