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
--- /dev/null
+#!/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))
import xml.sax.handler
from common import runner
-from gitbuildsys.errors import ObsError
class RuntimeException(Exception):
"""Local error handler"""
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))
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
# 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
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
%{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