diff options
| -rw-r--r-- | openshift-ansible.spec | 1 | ||||
| -rw-r--r-- | roles/lib_openshift/library/oc_adm_policy_group.py | 11 | ||||
| -rw-r--r-- | roles/lib_openshift/library/oc_adm_policy_user.py | 11 | ||||
| -rw-r--r-- | roles/lib_openshift/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/lib_openshift/tasks/main.yml | 10 | ||||
| -rw-r--r-- | roles/lib_utils/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/lib_utils/tasks/main.yml | 10 | 
7 files changed, 20 insertions, 29 deletions
diff --git a/openshift-ansible.spec b/openshift-ansible.spec index eefe50348..c7b4544be 100644 --- a/openshift-ansible.spec +++ b/openshift-ansible.spec @@ -24,7 +24,6 @@ Requires:      tar  Requires:      openshift-ansible-docs = %{version}-%{release}  Requires:      java-1.8.0-openjdk-headless  Requires:      httpd-tools -Requires:      python-ruamel-yaml  Requires:      libselinux-python  %description diff --git a/roles/lib_openshift/library/oc_adm_policy_group.py b/roles/lib_openshift/library/oc_adm_policy_group.py index 3bc5dea0e..0ab1c8d49 100644 --- a/roles/lib_openshift/library/oc_adm_policy_group.py +++ b/roles/lib_openshift/library/oc_adm_policy_group.py @@ -253,7 +253,8 @@ class Yedit(object):                      continue                  elif data and not isinstance(data, dict): -                    return None +                    raise YeditException("Unexpected item type found while going through key " + +                                         "path: {} (at key: {})".format(key, dict_key))                  data[dict_key] = {}                  data = data[dict_key] @@ -262,7 +263,7 @@ class Yedit(object):                    int(arr_ind) <= len(data) - 1):                  data = data[int(arr_ind)]              else: -                return None +                raise YeditException("Unexpected item type found while going through key path: {}".format(key))          if key == '':              data = item @@ -276,6 +277,12 @@ class Yedit(object):          elif key_indexes[-1][1] and isinstance(data, dict):              data[key_indexes[-1][1]] = item +        # didn't add/update to an existing list, nor add/update key to a dict +        # so we must have been provided some syntax like a.b.c[<int>] = "data" for a +        # non-existent array +        else: +            raise YeditException("Error adding to object at path: {}".format(key)) +          return data      @staticmethod diff --git a/roles/lib_openshift/library/oc_adm_policy_user.py b/roles/lib_openshift/library/oc_adm_policy_user.py index 1ac9bf54d..91bd85122 100644 --- a/roles/lib_openshift/library/oc_adm_policy_user.py +++ b/roles/lib_openshift/library/oc_adm_policy_user.py @@ -253,7 +253,8 @@ class Yedit(object):                      continue                  elif data and not isinstance(data, dict): -                    return None +                    raise YeditException("Unexpected item type found while going through key " + +                                         "path: {} (at key: {})".format(key, dict_key))                  data[dict_key] = {}                  data = data[dict_key] @@ -262,7 +263,7 @@ class Yedit(object):                    int(arr_ind) <= len(data) - 1):                  data = data[int(arr_ind)]              else: -                return None +                raise YeditException("Unexpected item type found while going through key path: {}".format(key))          if key == '':              data = item @@ -276,6 +277,12 @@ class Yedit(object):          elif key_indexes[-1][1] and isinstance(data, dict):              data[key_indexes[-1][1]] = item +        # didn't add/update to an existing list, nor add/update key to a dict +        # so we must have been provided some syntax like a.b.c[<int>] = "data" for a +        # non-existent array +        else: +            raise YeditException("Error adding to object at path: {}".format(key)) +          return data      @staticmethod diff --git a/roles/lib_openshift/meta/main.yml b/roles/lib_openshift/meta/main.yml index 7c72daa63..d5e7ec6e5 100644 --- a/roles/lib_openshift/meta/main.yml +++ b/roles/lib_openshift/meta/main.yml @@ -11,5 +11,4 @@ galaxy_info:      - 7    categories:    - cloud -dependencies: -- { role: openshift_repos } +dependencies: [] diff --git a/roles/lib_openshift/tasks/main.yml b/roles/lib_openshift/tasks/main.yml index b8af7c7c9..ed97d539c 100644 --- a/roles/lib_openshift/tasks/main.yml +++ b/roles/lib_openshift/tasks/main.yml @@ -1,11 +1 @@  --- -- name: lib_openshift detect ostree -  stat: -    path: /run/ostree-booted -  register: ostree_booted - -- name: lib_openshift ensure python-ruamel-yaml package is on target -  package: -    name: python2-ruamel-yaml -    state: present -  when: not ostree_booted.stat.exists diff --git a/roles/lib_utils/meta/main.yml b/roles/lib_utils/meta/main.yml index e06b9a0f1..cc18c453c 100644 --- a/roles/lib_utils/meta/main.yml +++ b/roles/lib_utils/meta/main.yml @@ -11,5 +11,4 @@ galaxy_info:      - 7    categories:    - cloud -dependencies: -- { role: openshift_repos } +dependencies: [] diff --git a/roles/lib_utils/tasks/main.yml b/roles/lib_utils/tasks/main.yml index 32ab9e0c6..ed97d539c 100644 --- a/roles/lib_utils/tasks/main.yml +++ b/roles/lib_utils/tasks/main.yml @@ -1,11 +1 @@  --- -- name: lib_utils detect ostree -  stat: -    path: /run/ostree-booted -  register: ostree_booted - -- name: lib_utils ensure python-ruamel-yaml package is on target -  package: -    name: python-ruamel-yaml -    state: present -  when: not ostree_booted.stat.exists  | 
