← Back to team overview

ubuntu-bugcontrol team mailing list archive

[Merge] ~rodrigo-zaiden/ubuntu-qa-tools:kernel-sru-check into ubuntu-qa-tools:master

 

Rodrigo Figueiredo Zaiden has proposed merging ~rodrigo-zaiden/ubuntu-qa-tools:kernel-sru-check into ubuntu-qa-tools:master.

Requested reviews:
  Steve Beattie (sbeattie)

For more details, see:
https://code.launchpad.net/~rodrigo-zaiden/ubuntu-qa-tools/+git/ubuntu-qa-tools/+merge/436273

While running 'security-tools/kernel-sru-check' we may want to preserve the status and only change if forced to, with the argument '-a' or '--assign'. If this is the case, we are showing the assignee.

 $ ./kernel-sru-check -a
 [<example>] Bug <example>
 kinetic kinetic/linux: <example>
 https://launchpad.net/bugs/<example>
 In Progress: <assignee>

Also added a verbose argument to show status and assignee if status is 'Confirmed' but not yet assigned.

 $ ./kernel-sru-check -v
 [<example>] Bug <example>
 kinetic kinetic/linux: <example>
 https://launchpad.net/bugs/<example>
 Confirmed: canonical-security

for each kernel version, it will first show the 'Confirmed' needing assignment and then the 'In Progress' issues.
-- 
Your team Ubuntu Bug Control is subscribed to branch ubuntu-qa-tools:master.
diff --git a/security-tools/kernel-sru-check b/security-tools/kernel-sru-check
index 4e1fa8a..35f5331 100755
--- a/security-tools/kernel-sru-check
+++ b/security-tools/kernel-sru-check
@@ -29,8 +29,10 @@ import re
 import time
 
 parser = argparse.ArgumentParser()
+parser.add_argument("--assign", "-a", help="Assign the task to the current runner", action='store_true', default=False)
 parser.add_argument("--api-version", help="Which LP API Version to use (default: 1.0)", action='store', default='1.0')
 parser.add_argument("--debug", help="Show HTTP requests", action='store_true', default=False)
+parser.add_argument("--verbose", "-v", help="Show additional information", action='store_true', default=False)
 parser.add_argument("--task", help="which task series to focus on (default: security-signoff)", action='store', default='security-signoff')
 parser.add_argument("--oneline", help="compressed output, useful for aggregating cron jobs", action='store_true', default=False)
 args = parser.parse_args()
@@ -47,6 +49,8 @@ class SignoffBug(object):
         self.release = get_ubuntu_release_from_bug(bug)
         self.kernel, self.version = bug.title.split(' ')[0:2]
         self.kernel_series = self.version.split('-')[0]
+        self.status = task.status
+        self.assignee = task.assignee.name
 
         cycle = 'missing'
         for tag in bug.tags:
@@ -59,6 +63,8 @@ class SignoffBug(object):
         if not short_output:
             print('%s %s %s' % (self.release, self.kernel, self.version))
             print('https://launchpad.net/bugs/%d' % (self.id))
+            if self.status == "In Progress" or args.verbose:
+                print('%s: %s' % (self.status, self.assignee))
             print('')
 
 
@@ -101,16 +107,18 @@ def get_ubuntu_release_from_bug(signoff_bug):
     except AttributeError:
         return "Unknown Release"
 
-
-for task in sec.searchTasks(omit_targeted=False, status="Confirmed"):
-    task.assignee = lp.me
-    task.status = "In Progress"
-    lpl_common.save(task)
+if args.assign:
+    for task in sec.searchTasks(omit_targeted=False, status="Confirmed"):
+        task.assignee = lp.me
+        task.status = "In Progress"
+        lpl_common.save(task)
 
 cycles = defaultdict(dict)
 
 # Report stuff in progress as a reminder
-for task in sec.searchTasks(omit_targeted=False, status="In Progress"):
+for task in sec.searchTasks(omit_targeted=False,
+                            status=["Confirmed", "In Progress"],
+                            order_by="status"):
     bug = SignoffBug(task)
     cycles[bug.cycle].setdefault(bug.kernel_series, []).append(bug)
 

Follow ups