From 5e51be1def4658c3528c27923b01c90482e43cb5 Mon Sep 17 00:00:00 2001 From: Steve Milner Date: Wed, 24 May 2017 09:52:09 -0400 Subject: oc_atomic_container: Hard code system-package=no --- roles/lib_openshift/src/ansible/oc_atomic_container.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'roles/lib_openshift/src') diff --git a/roles/lib_openshift/src/ansible/oc_atomic_container.py b/roles/lib_openshift/src/ansible/oc_atomic_container.py index 20d75cb63..e80349572 100644 --- a/roles/lib_openshift/src/ansible/oc_atomic_container.py +++ b/roles/lib_openshift/src/ansible/oc_atomic_container.py @@ -9,7 +9,9 @@ from ansible.module_utils.basic import AnsibleModule def _install(module, container, image, values_list): ''' install a container using atomic CLI. values_list is the list of --set arguments. container is the name given to the container. image is the image to use for the installation. ''' - args = ['atomic', 'install', "--system", '--name=%s' % container] + values_list + [image] + # NOTE: system-package=no is hardcoded. This should be changed to an option in the future. + args = ['atomic', 'install', '--system', '--system-package=no', + '--name=%s' % container] + values_list + [image] rc, out, err = module.run_command(args, check_rc=False) if rc != 0: return rc, out, err, False -- cgit v1.2.3 From cbad3cf9bb5a3f82ac9b328a64083e82caa1f661 Mon Sep 17 00:00:00 2001 From: Steve Milner Date: Thu, 25 May 2017 13:43:17 -0400 Subject: oc_atomic_container: Workaround for invalid json from atomic command When no other containers are present and one attempts to list containers via the atomic command with the --json flag an empty string is returned. If a json.loads is used on this value an error is raised. This change adds a workaround to fall back to '[]' when an empty string is returned from the atomic containers command. --- roles/lib_openshift/src/ansible/oc_atomic_container.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'roles/lib_openshift/src') diff --git a/roles/lib_openshift/src/ansible/oc_atomic_container.py b/roles/lib_openshift/src/ansible/oc_atomic_container.py index e80349572..1a5ab6869 100644 --- a/roles/lib_openshift/src/ansible/oc_atomic_container.py +++ b/roles/lib_openshift/src/ansible/oc_atomic_container.py @@ -95,7 +95,9 @@ def core(module): module.fail_json(rc=rc, msg=err) return - containers = json.loads(out) + # NOTE: "or '[]' is a workaround until atomic containers list --json + # provides an empty list when no containers are present. + containers = json.loads(out or '[]') present = len(containers) > 0 old_image = containers[0]["image_name"] if present else None -- cgit v1.2.3