Add a new file for upload_service in common
authorZhuoX Li <zhuox.li@intel.com>
Thu, 3 Apr 2014 04:47:48 +0000 (12:47 +0800)
committerZhuoX Li <zhuox.li@intel.com>
Thu, 3 Apr 2014 04:47:48 +0000 (12:47 +0800)
The server include job_image.py doesn't have gitbuildsys module.
When executes job_image.py, the gitbuildsys module in common/utils.py
is imported and causes 'No module named gitbuildsys.errors'.
In common/utils.py, the only method of upload_service needs gitbuildsys,
so here should put the method in a new file.

Change-Id: Ib4df37a580c47c430caa39d09865cf877cdeedc6

common/upload_service.py [new file with mode: 0644]
common/utils.py
job_submit.py
job_submitobs.py
packaging/jenkins-scripts.spec

diff --git a/common/upload_service.py b/common/upload_service.py
new file mode 100644 (file)
index 0000000..9dd92f9
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/python -tt
+# vim: ai ts=4 sts=4 et sw=4
+
+"""UPload _service file to OBS
+"""
+
+import os
+from gitbuildsys.errors import ObsError
+
+def upload_obs_service(git_url, git_project, git_tag,
+        git_revision, obs_project, build, package):
+    """UPload _service file to OBS.Create package if doesn't exist.To replace
+    make package in local"""
+    if not build.exists(obs_project, package):
+        try:
+            build.create_package(obs_project, package)
+        except ObsError, error:
+            raise UtilsError("Unable to create package %s/%s :%s" % \
+                    (obs_project, package, error))
+    # Upload _service file to the project for gbs source service
+    print 'Upload service file'
+    commit_message = 'uploaded by prerelease job to build %s/%s(%s)' % \
+            (git_project, git_tag, git_revision)
+    content = "<services><service name='gbs'>" \
+            "<param name='revision'>%s</param>" \
+            "<param name='url'>%s</param></service></services>" % \
+                (git_revision, os.path.join(git_url, git_project))
+    fname = '_service'
+    with open(fname, 'w') as servicef:
+        servicef.write(content)
+    try:
+        build.commit_files(obs_project, package,
+                [(fname, True)], commit_message)
+    except ObsError, error:
+        raise UtilsError("Unable to upload _service to %s: %s" % \
+                (obs_project, error))
index 7a4f2bf..d81c185 100644 (file)
@@ -25,7 +25,6 @@ import re
 import xml.sax.handler
 
 from common import runner
-from gitbuildsys.errors import ObsError
 
 class RuntimeException(Exception):
     """Local error handler"""
@@ -243,30 +242,3 @@ def xml2obj(src):
         xml.sax.parse(src, builder)
     return builder.root._attrs.values()[0]
 
-def upload_obs_service(git_url, git_project, git_tag,
-        git_revision, obs_project, build, package):
-    """UPload _service file to OBS.Create package if doesn't exist.To replace
-    make package in local"""
-    if not build.exists(obs_project, package):
-        try:
-            build.create_package(obs_project, package)
-        except ObsError, error:
-            raise UtilsError("Unable to create package %s/%s :%s" % \
-                    (obs_project, package, error))
-    # Upload _service file to the project for gbs source service
-    print 'Upload service file'
-    commit_message = 'uploaded by prerelease job to build %s/%s(%s)' % \
-            (git_project, git_tag, git_revision)
-    content = "<services><service name='gbs'>" \
-            "<param name='revision'>%s</param>" \
-            "<param name='url'>%s</param></service></services>" % \
-                (git_revision, os.path.join(git_url, git_project))
-    fname = '_service'
-    with open(fname, 'w') as servicef:
-        servicef.write(content)
-    try:
-        build.commit_files(obs_project, package,
-                [(fname, True)], commit_message)
-    except ObsError, error:
-        raise UtilsError("Unable to upload _service to %s: %s" % \
-                (obs_project, error))
index eecd50d..a1fc960 100755 (executable)
@@ -13,7 +13,8 @@ from gitbuildsys.errors import ObsError
 
 from common import mapping
 from common.git import clone_gitproject
-from common.utils import upload_obs_service, UtilsError
+from common.utils import UtilsError
+from common.upload_service import upload_obs_service
 from common.gerrit import is_ref_deleted
 from common.buildservice import BuildService
 from common.backenddb import BackendDB
index 617ecd3..76fa3c1 100755 (executable)
@@ -17,6 +17,7 @@ from urllib2 import HTTPError
 # internal module
 from common import runner
 from common import utils
+from common.upload_service import upload_obs_service
 from common.git import Git, clone_gitproject
 from common import obspkg
 from common import mapping
@@ -484,7 +485,7 @@ def main():
                 gerrit_project = os.getenv('GERRIT_PROJECT')
                 # upload _service to obs
                 try:
-                    utils.upload_obs_service(url, gerrit_project, tag,
+                    upload_obs_service(url, gerrit_project, tag,
                             event['newrev'], obs_stg_prj, build, spec.name)
                 except utils.UtilsError, err:
                     print err
index 6932e46..9b52646 100644 (file)
@@ -116,6 +116,7 @@ fi
 %{destdir}/common/snapshot.py
 %{destdir}/common/utils.py
 %{destdir}/common/manifest.py
+%{destdir}/common/upload_service.py
 %{destdir}/job_create_snapshot.py
 %{destdir}/job_buildlogs.py
 %{destdir}/job_jobs_dispatcher.py