diff options
author | Jose A. Rivera <jarrpa@redhat.com> | 2017-04-19 11:08:49 -0500 |
---|---|---|
committer | Jose A. Rivera <jarrpa@redhat.com> | 2017-04-21 17:35:04 -0500 |
commit | 914200d06956603fa71e11cb9516b0ad8e69deec (patch) | |
tree | 28efaf7df4c02ae2d5914f4bdfa84df68e2bbf6c | |
parent | f6db43fa2ce74b8d05b81c188b7238fd88bc69b5 (diff) | |
download | openshift-914200d06956603fa71e11cb9516b0ad8e69deec.tar.gz openshift-914200d06956603fa71e11cb9516b0ad8e69deec.tar.bz2 openshift-914200d06956603fa71e11cb9516b0ad8e69deec.tar.xz openshift-914200d06956603fa71e11cb9516b0ad8e69deec.zip |
oc_obj: Allow for multiple kinds in delete
Signed-off-by: Jose A. Rivera <jarrpa@redhat.com>
-rw-r--r-- | roles/lib_openshift/library/oc_obj.py | 11 | ||||
-rw-r--r-- | roles/lib_openshift/src/class/oc_obj.py | 9 | ||||
-rw-r--r-- | roles/lib_openshift/src/doc/obj | 2 |
3 files changed, 8 insertions, 14 deletions
diff --git a/roles/lib_openshift/library/oc_obj.py b/roles/lib_openshift/library/oc_obj.py index 0b01670c6..133411312 100644 --- a/roles/lib_openshift/library/oc_obj.py +++ b/roles/lib_openshift/library/oc_obj.py @@ -98,7 +98,7 @@ options: aliases: [] kind: description: - - The kind attribute of the object. e.g. dc, bc, svc, route + - The kind attribute of the object. e.g. dc, bc, svc, route. May be a comma-separated list, e.g. "dc,po,svc". required: True default: None aliases: [] @@ -1539,12 +1539,9 @@ class OCObject(OpenShiftCLI): # Delete ######## if state == 'absent': - # if we were passed a name, verify its not in our results - if params['name'] is not None and not Utils.exists(api_rval['results'], params['name']): - return {'changed': False, 'state': state} - - # verify results are empty for the selector - if params['selector'] is not None and len(api_rval['results']) == 0: + # verify its not in our results + if (params['name'] is not None or params['selector'] is not None) and \ + (len(api_rval['results']) == 0 or len(api_rval['results'][0].getattr('items', [])) == 0): return {'changed': False, 'state': state} if check_mode: diff --git a/roles/lib_openshift/src/class/oc_obj.py b/roles/lib_openshift/src/class/oc_obj.py index 667b98eac..89ee2f5a0 100644 --- a/roles/lib_openshift/src/class/oc_obj.py +++ b/roles/lib_openshift/src/class/oc_obj.py @@ -115,12 +115,9 @@ class OCObject(OpenShiftCLI): # Delete ######## if state == 'absent': - # if we were passed a name, verify its not in our results - if params['name'] is not None and not Utils.exists(api_rval['results'], params['name']): - return {'changed': False, 'state': state} - - # verify results are empty for the selector - if params['selector'] is not None and len(api_rval['results']) == 0: + # verify its not in our results + if (params['name'] is not None or params['selector'] is not None) and \ + (len(api_rval['results']) == 0 or len(api_rval['results'][0].getattr('items', [])) == 0): return {'changed': False, 'state': state} if check_mode: diff --git a/roles/lib_openshift/src/doc/obj b/roles/lib_openshift/src/doc/obj index e44843eb3..4ff912b2d 100644 --- a/roles/lib_openshift/src/doc/obj +++ b/roles/lib_openshift/src/doc/obj @@ -47,7 +47,7 @@ options: aliases: [] kind: description: - - The kind attribute of the object. e.g. dc, bc, svc, route + - The kind attribute of the object. e.g. dc, bc, svc, route. May be a comma-separated list, e.g. "dc,po,svc". required: True default: None aliases: [] |