From fd1bf62701d9f50677deaed1facf12e0d1188a2f Mon Sep 17 00:00:00 2001 From: Yuming Zhu Date: Nov 15 2017 10:48:04 +0000 Subject: [PATCH 1/2] cli: make return code of watch_task to always ignore sub-task failure fixes: #696 --- diff --git a/cli/koji_cli/lib.py b/cli/koji_cli/lib.py index 4135308..e7aa686 100644 --- a/cli/koji_cli/lib.py +++ b/cli/koji_cli/lib.py @@ -218,9 +218,11 @@ class TaskWatcher(object): state = koji.TASK_STATES[self.info['state']] return (state in ['CLOSED','CANCELED','FAILED']) - def is_success(self): + def is_success(self, ignore_child=True): if self.info is None: return False + if ignore_child and self.level != 0: + return True state = koji.TASK_STATES[self.info['state']] return (state == 'CLOSED') @@ -285,7 +287,7 @@ def watch_tasks(session, tasklist, quiet=False, poll_interval=60): try: tasks = {} for task_id in tasklist: - tasks[task_id] = TaskWatcher(task_id,session,quiet=quiet) + tasks[task_id] = TaskWatcher(task_id, session, quiet=quiet) while True: all_done = True for task_id, task in list(tasks.items()): From 12dfce07e6ddd4f9cfe32d1a442ab7c622d01269 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Nov 16 2017 02:14:18 +0000 Subject: [PATCH 2/2] avoid reporting incorrect info in is_success() --- diff --git a/cli/koji_cli/lib.py b/cli/koji_cli/lib.py index e7aa686..761dff2 100644 --- a/cli/koji_cli/lib.py +++ b/cli/koji_cli/lib.py @@ -218,11 +218,9 @@ class TaskWatcher(object): state = koji.TASK_STATES[self.info['state']] return (state in ['CLOSED','CANCELED','FAILED']) - def is_success(self, ignore_child=True): + def is_success(self): if self.info is None: return False - if ignore_child and self.level != 0: - return True state = koji.TASK_STATES[self.info['state']] return (state == 'CLOSED') @@ -299,7 +297,7 @@ def watch_tasks(session, tasklist, quiet=False, poll_interval=60): # task is done and state just changed if not quiet: display_tasklist_status(tasks) - if not task.is_success(): + if task.level == 0 and not task.is_success(): rv = 1 for child in session.getTaskChildren(task_id): child_id = child['id']