from common.buildtrigger import trigger_info, trigger_next
from testprojects.prerelease import PreRelease, PreRelease2
-envparas = ['JENKINS_HOME',
- 'WORKSPACE',
- 'TRIGGER_INFO',
- 'OBS_API_URL',
- 'OBS_API_USERNAME',
- 'OBS_API_PASSWD',
- 'GERRIT_HOSTNAME',
- 'GERRIT_USERNAME',
- 'GERRIT_SSHPORT',
- 'PATH_BASEDIR',
- 'REPO_PUB_BASE_URL',
- 'LIVEREPO_PUB_BASE_URL',
- 'GIT_PROJECT',
- 'GIT_CACHE_DIR']
-
-export(envparas, locals())
-
-GIT_URL = 'ssh://%s@%s:%s' % (GERRIT_USERNAME, GERRIT_HOSTNAME, GERRIT_SSHPORT)
-
-def create(prerelease):
- prjdir = os.path.join(WORKSPACE, GIT_PROJECT)
+def create(prerelease, bservice, git_project):
+ prjdir = os.path.join(os.getenv('WORKSPACE'), git_project)
# clone gerrit project to local dir
- if not clone_gitproject(GERRIT_PROJECT, prjdir):
+ if not clone_gitproject(git_project, prjdir):
exit(1)
mygit = Git(prjdir)
- bs = TempBuildService(prerelease.obs_project_name(), OBS_API_URL, OBS_API_USERNAME, OBS_API_PASSWD)
+ prerelease.create(bservice, mygit)
- prerelease.create(bs, mygit)
+def cleanup(prerelease, bservice):
-def cleanup(prerelease):
- # TODO: clean up should co-worker with OBS
- bs = TempBuildService(prerelease.obs_project, OBS_API_URL, OBS_API_USERNAME, OBS_API_PASSWD)
- bs.cleanup()
+ bservice.cleanup()
print "OBS Project %s deleted" %prerelease.obs_project
- reviewrepo_paths = prerelease.get_published_repo(PATH_BASEDIR)
+ reviewrepo_paths = prerelease.get_published_repo(os.getenv("PATH_BASEDIR"))
+
if reviewrepo_paths:
for repodir in reviewrepo_paths:
print "Removing temporary repo: %s" %repodir
else:
print "WARN: Temporary repo doesn't exist!"
-
-def create_images(prerelease):
+def create_images(project, prerelease):
linked, depended = prerelease.get_parent_project()
# SERVER configuration
server_conf = {}
- server_conf['REPO_PUB_BASE_URL'] = REPO_PUB_BASE_URL
- server_conf['LIVEREPO_PUB_BASE_URL'] = LIVEREPO_PUB_BASE_URL
+ server_conf['REPO_PUB_BASE_URL'] = os.getenv('REPO_PUB_BASE_URL')
+ server_conf['LIVEREPO_PUB_BASE_URL'] = os.getenv('LIVEREPO_PUB_BASE_URL')
repo = ProjectRepository(project, repo_conf = repo_config,
server_conf = server_conf)
ks_info[ks]['kickstart'] = '\n'.join(new_ks_lines)
for index, image_info in enumerate(ks_info.values()):
- trigger_next('%s/image_trigger_%s' %(WORKSPACE, index),
+ trigger_next('%s/image_trigger_%s' %(os.getenv('WORKSPACE'), index),
image_info)
if __name__ == '__main__':
action = sys.argv[1]
print '---[JOB STARTED: %s ]-------------------------', sys.argv[1]
- locals().update(trigger_info(TRIGGER_INFO))
+ content = trigger_info(os.getenv('TRIGGER_INFO'))
+ 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')
+
+ prerelease = PreRelease(content['OBS_REQ_PRJ'], obs_user,
+ content['GIT_TAG'], git_project)
+ project = prerelease.obs_project_name()
+ bservice = TempBuildService(project, obs_api, obs_user, obs_passwd)
if action == 'create':
- prerelease = PreRelease(OBS_REQ_PRJ, OBS_API_USERNAME,
- GIT_TAG, GIT_PROJECT)
- create(prerelease)
+ create(prerelease, bservice, git_project)
elif action == 'cleanup':
- prerelease = PreRelease(OBS_REQ_PRJ, OBS_API_USERNAME,
- GIT_TAG, GIT_PROJECT)
- cleanup(prerelease)
+ cleanup(prerelease, bservice)
elif action == 'create_images':
- build = TempBuildService(project, OBS_API_URL,
- OBS_API_USERNAME, OBS_API_PASSWD)
- prerelease = PreRelease2(project, build)
- create_images(prerelease)
+ prerelease = PreRelease2(project, bservice)
+ create_images(project, prerelease)
else:
print "Not support method of Pre-release jobs"