Remove prerelease project when SR is accepted
authorEd Bartosh <eduard.bartosh@intel.com>
Sat, 15 Feb 2014 16:09:58 +0000 (18:09 +0200)
committerEd Bartosh <eduard.bartosh@intel.com>
Tue, 18 Feb 2014 06:02:44 +0000 (08:02 +0200)
Prerelease projects should be removed from OBS when their SRs are
accepted as they're not needed anymore.

Fixes: #1649

Change-Id: I7563e19ac2c4be21b1530d110ff771fd996ba7cc
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
job_request.py

index 19129b2..fdd87e4 100755 (executable)
@@ -135,14 +135,21 @@ def obs_git_data(event_fields):
     print ppt.pprint(ret_data)
     return ret_data
 
-def delete_package(prj, pkg):
-    """delete source package when sr end"""
+def delete_from_obs(prj, pkg):
+    """
+    Delete package from OBS.
+    Delete project if it's prerelease project
+    """
 
     _bs = BuildService(os.getenv('OBS_API_URL'),
                       os.getenv('OBS_API_USERNAME'),
                       os.getenv('OBS_API_PASSWD'))
     if _bs.get_package_real_project_name(prj, pkg) == prj:
-        _bs.delete_package(prj, pkg)
+        if 'home:prerelease:' in prj:
+            print 'Removing %s' % prj
+            _bs.delete_project(prj)
+        else:
+            _bs.delete_package(prj, pkg)
 
 def request_accepted(data, gerrit, gitprj):
     """Do lots of things when request accepted"""
@@ -198,8 +205,8 @@ def request_accepted(data, gerrit, gitprj):
         print gre
         return 1
 
-    # delete obs source package
-    delete_package(data['OBS_REQ_PRJ_SRC'], data['OBS_REQ_PKG_SRC'])
+    delete_from_obs(data['OBS_REQ_PRJ_SRC'], data['OBS_REQ_PKG_SRC'])
+
 
 def request_rejected(data, gerrit):
     """When request rejected, give msg to gerrit and delete remote package"""
@@ -230,16 +237,14 @@ def request_rejected(data, gerrit):
         if 'no such patch set' not in str(err):
             return 1
 
-    # delete obs source package
-    delete_package(data['OBS_REQ_PRJ_SRC'], data['OBS_REQ_PKG_SRC'])
+    delete_from_obs(data['OBS_REQ_PRJ_SRC'], data['OBS_REQ_PKG_SRC'])
 
 def request_revoked(data):
     """When request revoked, delete the remote package"""
 
     print '====request revoked===================================='
 
-    # delete obs source package
-    delete_package(data['OBS_REQ_PRJ_SRC'], data['OBS_REQ_PKG_SRC'])
+    delete_from_obs(data['OBS_REQ_PRJ_SRC'], data['OBS_REQ_PKG_SRC'])
 
 def request_created(data):
     """Print request created information"""