From: Ed Bartosh Date: Fri, 26 Apr 2013 13:32:31 +0000 (+0300) Subject: Moved cleanup to BuildService. X-Git-Tag: 0.12~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=91a33f0e51330c20d4f9d044009cd4d03f879d12;p=services%2Fjenkins-scripts.git Moved cleanup to BuildService. As cleanup is used by job_pre_release_gerrit and job_pre_release_obs it's better to move it to common API. BuildService is a good candidate for this API. Change-Id: I1e5c7a7e7612ade64b8249fc7143b72c7f61f57e --- diff --git a/common/buildservice.py b/common/buildservice.py index 355deb1..33de7b9 100644 --- a/common/buildservice.py +++ b/common/buildservice.py @@ -509,3 +509,8 @@ class BuildService(OSC): return json.loads(description) except ValueError: return {} + + def cleanup(self, obs_project, msg): + """Remove pre-release OBS project.""" + if self.exists(obs_project): + return self.delete_project(obs_project, force=True, msg=msg) diff --git a/job_pre_release_gerrit.py b/job_pre_release_gerrit.py index 4e6e7d7..8fe971e 100755 --- a/job_pre_release_gerrit.py +++ b/job_pre_release_gerrit.py @@ -101,15 +101,13 @@ def create(git_url, git_project, git_tag, git_revision, build, raise LocalError("Unable to upload _service to %s: %s" % \ (obs_project, error)) -def cleanup(build, obs_project): - """Remove pre-release OBS project.""" - if build.exists(obs_project): - print "Deleting OBS Project %s ..." % obs_project - return build.delete_project(obs_project, force=True, - msg="Cleaned up by job_pre_release") +def main(name): + """ + Script entry point. + Parameters: + name - name of the script -def main(): - """Script entry point.""" + """ print '---[JOB STARTED]-------------------------' @@ -132,7 +130,7 @@ def main(): build = BuildService(obs_api, obs_user, obs_passwd) if is_ref_deleted(os.getenv("GERRIT_OlDREV"), os.getenv("GERRIT_NEWREV")): - rcode = cleanup(build, project) + rcode = build.cleanup(project, "Cleaned by %s" % name) else: url = 'ssh://%s:%s' % (os.getenv('GERRIT_HOSTNAME'), os.getenv('GERRIT_SSHPORT')) @@ -144,7 +142,7 @@ def main(): if __name__ == '__main__': try: - sys.exit(main()) + sys.exit(main(os.path.basename(sys.argv[0]))) except LocalError, err: print err sys.exit(1) diff --git a/job_pre_release_obs.py b/job_pre_release_obs.py index 1b71af6..ce75170 100755 --- a/job_pre_release_obs.py +++ b/job_pre_release_obs.py @@ -12,16 +12,11 @@ import re from common.tempbuildpkg import ProjectBuildService, ProjectRepository from common.tempbuildpkg import BuildData, RepoConf from common.buildtrigger import trigger_info, trigger_next -from testprojects.prerelease import PreRelease, PreRelease2 +from testprojects.prerelease import PreRelease2 from testprojects.prerelease import get_prerelease_project_name +from common.buildservice import BuildService -def cleanup(prerelease): - """Remove pre-release OBS project.""" - prerelease.cleanup() - - print "OBS Project %s deleted" % prerelease.obs_project - def create_images(prerelease): """Create images using live prerelease repository.""" linked, depended = prerelease.get_parent_project() @@ -92,9 +87,10 @@ def create_images(prerelease): trigger_next('%s/image_trigger_%s' %(os.getenv('WORKSPACE'), index), image_info) -def main(action): +def main(name, action): """Script entry point. Parameters: + name - name of the script action - cleanup or create_images """ @@ -103,21 +99,21 @@ def main(action): obs_api = os.getenv("OBS_API_URL") obs_user = os.getenv("OBS_API_USERNAME") obs_passwd = os.getenv("OBS_API_PASSWD") - git_project = os.getenv("GIT_PROJECT") content = trigger_info(os.getenv("TRIGGER_INFO")) obs_target_prj = content.get('OBS_REQ_PRJ') git_tag = content.get("GIT_TAG") + project = get_prerelease_project_name(obs_target_prj, obs_user, git_tag) - projectbuild = ProjectBuildService(project, obs_api, obs_user, obs_passwd) + if action == 'create_images': + projectbuild = ProjectBuildService(project, obs_api, obs_user, obs_passwd) prerelease = PreRelease2(project, projectbuild) create_images(prerelease) elif action == 'cleanup': - prerelease = PreRelease(obs_target_prj, obs_user, - git_tag, git_project, projectbuild) - cleanup(prerelease) + build = BuildService(obs_api, obs_user, obs_passwd) + build.cleanup(project, "Cleaned up by %s" % name) else: print "Not supported method of Pre-release jobs:", action if __name__ == '__main__': - sys.exit(main(sys.argv[1])) + sys.exit(main(os.path.basename(sys.argv[0]), sys.argv[1]))