diff options
| -rw-r--r-- | filter_plugins/oo_filters.py | 5 | ||||
| -rw-r--r-- | inventory/byo/hosts.aep.example | 2 | ||||
| -rw-r--r-- | inventory/byo/hosts.origin.example | 2 | ||||
| -rw-r--r-- | inventory/byo/hosts.ose.example | 2 | ||||
| -rwxr-xr-x | roles/openshift_facts/library/openshift_facts.py | 13 | 
5 files changed, 19 insertions, 5 deletions
| diff --git a/filter_plugins/oo_filters.py b/filter_plugins/oo_filters.py index 57c14e9a3..3da4562ac 100644 --- a/filter_plugins/oo_filters.py +++ b/filter_plugins/oo_filters.py @@ -259,8 +259,11 @@ class FilterModule(object):      @staticmethod      def oo_split(string, separator=','): -        """ This splits the input string into a list +        """ This splits the input string into a list. If the input string is +        already a list we will return it as is.          """ +        if isinstance(string, list): +            return string          return string.split(separator)      @staticmethod diff --git a/inventory/byo/hosts.aep.example b/inventory/byo/hosts.aep.example index c3f551401..7c98ddcd6 100644 --- a/inventory/byo/hosts.aep.example +++ b/inventory/byo/hosts.aep.example @@ -75,7 +75,7 @@ deployment_type=atomic-enterprise  #openshift_docker_options="-l warn --ipv6=false"  # Deprecated methods to set --log-driver and --log-opts flags, use openshift_docker_options instead  #openshift_docker_log_driver=json -#openshift_docker_log_options="tag=mailer" +#openshift_docker_log_options=["tag=mailer"]  # Alternate image format string. If you're not modifying the format string and  # only need to inject your own registry you may want to consider diff --git a/inventory/byo/hosts.origin.example b/inventory/byo/hosts.origin.example index caed1c6a1..ad5c77ac6 100644 --- a/inventory/byo/hosts.origin.example +++ b/inventory/byo/hosts.origin.example @@ -76,7 +76,7 @@ deployment_type=origin  #openshift_docker_options="-l warn --ipv6=false"  # Deprecated methods to set --log-driver and --log-opts flags, use openshift_docker_options instead  #openshift_docker_log_driver=json -#openshift_docker_log_options="tag=mailer" +#openshift_docker_log_options=["tag=mailer"]  # Alternate image format string. If you're not modifying the format string and  # only need to inject your own registry you may want to consider diff --git a/inventory/byo/hosts.ose.example b/inventory/byo/hosts.ose.example index 557e7d8aa..7c0c71484 100644 --- a/inventory/byo/hosts.ose.example +++ b/inventory/byo/hosts.ose.example @@ -75,7 +75,7 @@ deployment_type=openshift-enterprise  #openshift_docker_options="-l warn --ipv6=false"  # Deprecated methods to set --log-driver and --log-opts flags, use openshift_docker_options instead  #openshift_docker_log_driver=json -#openshift_docker_log_options="tag=mailer" +#openshift_docker_log_options=["tag=mailer"]  # Alternate image format string. If you're not modifying the format string and diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index f2d17293a..fe5fdd246 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -56,6 +56,13 @@ def migrate_docker_facts(facts):      if 'node' in facts and 'portal_net' in facts['node']:          facts['docker']['hosted_registry_insecure'] = True          facts['docker']['hosted_registry_network'] = facts['node'].pop('portal_net') + +    # log_options was originally meant to be a comma separated string, but +    # we now prefer an actual list, with backward compatability: +    if 'log_options' in facts['docker'] and \ +            isinstance(facts['docker']['log_options'], basestring): +        facts['docker']['log_options'] = facts['docker']['log_options'].split(",") +      return facts  # TODO: We should add a generic migration function that takes source and destination @@ -1852,6 +1859,10 @@ class OpenShiftFacts(object):                      if isinstance(val, basestring):                          val = [x.strip() for x in val.split(',')]                      new_local_facts['docker'][key] = list(set(val) - set([''])) +            # Convert legacy log_options comma sep string to a list if present: +            if 'log_options' in new_local_facts['docker'] and \ +                    isinstance(new_local_facts['docker']['log_options'], basestring): +                new_local_facts['docker']['log_options'] = new_local_facts['docker']['log_options'].split(',')          new_local_facts = self.remove_empty_facts(new_local_facts) @@ -1875,7 +1886,7 @@ class OpenShiftFacts(object):              if isinstance(facts[fact], dict):                  facts[fact] = self.remove_empty_facts(facts[fact])              else: -                if value == "" or value is None: +                if value == "" or value == [""] or value is None:                      facts_to_remove.append(fact)          for fact in facts_to_remove:              del facts[fact] | 
