From b9db894eba8741a42f58c7384eb47ded536356bf Mon Sep 17 00:00:00 2001 From: Lin Yang Date: Fri, 17 Aug 2012 17:35:29 +0800 Subject: [PATCH] 1. cleanup environment variable 2. support checkout package from obs linked project --- aiaiaicheck.py | 9 +++-- buildcheck.py | 16 ++++---- common/envparas.py | 58 ----------------------------- common/obspkg.py | 31 +++++++++++++-- policycheck.py | 14 ++++--- request.py | 8 ++-- requests/email_templates/obs_request_create | 3 +- requests/mailer.py | 2 +- submitobs.py | 29 +++++++++------ submitobs_orig.py | 24 +++++++----- 10 files changed, 87 insertions(+), 107 deletions(-) diff --git a/aiaiaicheck.py b/aiaiaicheck.py index f7f407c..900972f 100755 --- a/aiaiaicheck.py +++ b/aiaiaicheck.py @@ -16,7 +16,8 @@ from common.envparas import * envparas = ['GERRIT_SSHPORT', 'GERRIT_USERNAME', - 'GERRIT_HOSTNAME'] + 'GERRIT_HOSTNAME', + 'GIT_CACHE_DIR'] export(envparas, locals()) GERRIT_CMD = 'ssh -p %s %s@%s gerrit' % (GERRIT_SSHPORT, GERRIT_USERNAME, GERRIT_HOSTNAME) GIT_URL = 'ssh://%s@%s:%s' % (GERRIT_USERNAME, GERRIT_HOSTNAME, GERRIT_SSHPORT) @@ -36,11 +37,11 @@ if __name__ == '__main__': # update local git tree from remote try: - if os.path.exists(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)): + if os.path.exists(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)): print '\nuse local repo as reference to clone' - if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: + if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: print 'use local repo as reference to clone: Failed.' - shutil.rmtree(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)) + shutil.rmtree(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)) except Exception, ex: print '\nExcept occur when use reference repo to clone code' print ex diff --git a/buildcheck.py b/buildcheck.py index 61531fd..84ee746 100755 --- a/buildcheck.py +++ b/buildcheck.py @@ -38,7 +38,9 @@ envparas = ['JENKINS_HOME', 'BUILD_TAG', 'OBS_USERNAME', 'OBS_API_URL', - 'OBS_OSCRC_PATH'] + 'OBS_OSCRC_PATH', + 'MAPPING_PRJ', + 'GIT_CACHE_DIR'] export(envparas, locals()) GERRIT_CMD = 'ssh -p %s %s@%s gerrit' % (GERRIT_SSHPORT, GERRIT_USERNAME, GERRIT_HOSTNAME) GIT_URL = 'ssh://%s@%s:%s' % (GERRIT_USERNAME, GERRIT_HOSTNAME, GERRIT_SSHPORT) @@ -73,16 +75,16 @@ if __name__ == '__main__': prjpath, prj = os.path.split(GERRIT_PROJECT) if not os.path.isfile('%s/git/%s/git-obs-mapping.xml' % (JENKINS_HOME, MAPPING_PRJ)): - if not utils.retry(git.update_git_project, (os.path.join(JENKINS_HOME, 'git'), MAPPING_PRJ, GIT_URL)): + if not utils.retry(git.update_git_project, (GIT_CACHE_DIR, MAPPING_PRJ, GIT_URL)): end(1) # update local git tree from remote try: - if os.path.exists(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)): + if os.path.exists(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)): print '\nuse local repo as reference to clone' - if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: + if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join('GIT_CACHE_DIR', GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: print 'use local repo as reference to clone: Failed.' - shutil.rmtree(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)) + shutil.rmtree(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)) except Exception, ex: print '\nExcept occur when use reference repo to clone code' print ex @@ -99,6 +101,8 @@ if __name__ == '__main__': print "Project Mapping info: %s" %mapping + return_value = 0 + for target in mapping: (obs_dest_prj, obs_stg_prj, obs_pkg) = target @@ -142,8 +146,6 @@ if __name__ == '__main__': msg='[BUILD CHECK RESULT] This change is built against OBS project %s: \n\n %-15s%-15s%-15s' %(obs_dest_prj, "repository", "arch", "result") - return_value = 0 - for repo in status.keys(): for arch in status[repo]: msg = msg + '\n\n %-15s%-15s%-15s' %(repo, arch, status[repo][arch]) diff --git a/common/envparas.py b/common/envparas.py index 4b8c00b..97f2109 100644 --- a/common/envparas.py +++ b/common/envparas.py @@ -16,61 +16,3 @@ def export(envargs, local_env): print "WARN: %s doesn't exist" %(element) local_env[element]='' return local_env - -MAPPING_PRJ = 'scm/git-obs-mapping' -RPMLINT_PRJ = 'scm/rpmlint-configi' -OBS_URL = 'https://tz-testing-obs.bj.intel.com' -FROM_EMAIL = 'no-replay@tz-testing-jenkins.bj.intel.com' -#envargs = [# General parameters -# 'OBS_DEST_PROJECT', -# 'OBS_STAGING_PROJECT', -# 'POLICY_MAPPING', -# 'OBS_API_URL', -# 'OBS_USERNAME', -# 'OBS_OSCRC_PATH', -# 'OBS_URL', -# 'MYSQL_HOSTNAME', -# 'MYSQL_PORT', -# 'MYSQL_USERNAME', -# 'MYSQL_PASSWORD', -# 'MYSQL_DB_NAME', -# 'JENKINS_HOME', -# 'JOB_NAME', -# 'BUILD_NUMBER', -# 'WORKSPACE', -# 'MAPPING_PROJECT', -# 'FROM_EMAIL', -# 'SMTP_SERVER', -# 'mappingprj', -# 'rpmlintprj', -# 'OBS_EVENT_STRING', -# 'NOREPLY_EMAIL_SENDER', -# 'MAILINGLIST', -# # Change merged event -# 'GERRIT_BRANCH', -# 'GERRIT_CHANGE_NUMBER', -# 'GERRIT_CHANGE_ID', -# 'GERRIT_PATCHSET_NUMBER', -# 'GERRIT_PATCHSET_REVISION', -# 'GERRIT_REFSPEC', -# 'GERRIT_PROJECT', -# 'GERRIT_CHANGE_SUBJECT', -# 'GERRIT_CHANGE_URL', -# 'GERRIT_CHANGE_OWNER', -# 'GERRIT_CHANGE_OWNER_NAME', -# 'GERRIT_CHANGE_OWNER_EMAIL', -# 'GERRIT_PATCHSET_UPLOADER', -# 'GERRIT_PATCHSET_UPLOADER_NAME', -# 'GERRIT_PATCHSET_UPLOADER_EMAIL', -# 'GERRIT_CHANGE_SUBMITTER', -# 'GERRIT_CHANGE_SUBMITTER_NAME', -# 'GERRIT_CHANGE_SUBMITTER_EMAIL', -# 'GERRIT_HOSTNAME', -# 'GERRIT_USERNAME', -# 'GERRIT_SSHPORT', -# 'GERRIT_EVENT_TYPE', -# # Ref updated event -# 'GERRIT_REFNAME', -# 'GERRIT_OLDREV', -# 'GERRIT_NEWREV'] -# diff --git a/common/obspkg.py b/common/obspkg.py index 95c4995..030a75b 100644 --- a/common/obspkg.py +++ b/common/obspkg.py @@ -29,7 +29,7 @@ class ObsPackage(object): """ Wrapper class of local package dir of OBS """ - def __init__(self, basedir, prj, pkg, apiurl=None, oscrc=None): + def __init__(self, basedir, prj, pkg, dest_prj=None, dest_pkg=None, apiurl=None, oscrc=None): """Arguments: basedir: the base local dir to store obs packages prj: obs project @@ -56,6 +56,11 @@ class ObsPackage(object): self._bdir = os.path.abspath(os.path.expanduser(basedir)) self._prj = prj self._pkg = pkg + self._dest_prj = dest_prj + if not dest_pkg: + self._dest_pkg = pkg + else: + self._dest_pkg = dest_pkg self._pkgpath = os.path.join(self._bdir, prj, pkg) if not os.path.exists(self._bdir): @@ -65,8 +70,12 @@ class ObsPackage(object): shutil.rmtree(prj, ignore_errors = True) if self.is_new_pkg(): - # to init new package in local dir - self._mkpac() + if self._dest_prj and self._is_in_dest_prj(): + # branch from target project + self._branch_checkout() + else: + # to init new package in local dir + self._mkpac() else: # to checkout server stuff self._checkout_latest() @@ -98,6 +107,22 @@ class ObsPackage(object): print "%s is new package in %s" % (self._pkg, self._prj) return True + def _is_in_dest_prj(self): + """Check whether this is new package in obs target project + """ + print "%s package list:" % self._dest_prj, self._bs.getPackageList(self._dest_prj) + if self._pkg in self._bs.getPackageList(self._dest_prj): + print "%s is NOT new package in %s" % (self._pkg, self._dest_prj) + return True + else: + print "%s is new package in %s" % (self._pkg, self._dest_prj) + return False + + def _branch_checkout(self): + print "branch package %s from %s" % (self._pkg, self._dest_prj) + self._bs.branchPkg(self._dest_prj, self._dest_pkg, target_project=self._prj) + self._checkout_latest() + def get_workdir(self): return self._pkgpath diff --git a/policycheck.py b/policycheck.py index 99a68e3..f003e7b 100755 --- a/policycheck.py +++ b/policycheck.py @@ -27,7 +27,9 @@ envparas = ['JENKINS_HOME', 'GERRIT_REFSPEC', 'GERRIT_PATCHSET_NUMBER', 'GERRIT_CHANGE_NUMBER', - 'WORKSPACE'] + 'WORKSPACE', + 'MAPPING_PRJ', + 'GIT_CACHE_DIR'] export(envparas, locals()) GERRIT_CMD = 'ssh -p %s %s@%s gerrit' % (GERRIT_SSHPORT, GERRIT_USERNAME, GERRIT_HOSTNAME) GIT_URL = 'ssh://%s@%s:%s' % (GERRIT_USERNAME, GERRIT_HOSTNAME, GERRIT_SSHPORT) @@ -58,18 +60,18 @@ if __name__ == '__main__': prjpath, prj = os.path.split(GERRIT_PROJECT) # check whether exist git-obs-mapping.xml in local - if not os.path.isfile('%s/git/%s/git-obs-mapping.xml' % (JENKINS_HOME, MAPPING_PRJ)): + if not os.path.isfile('%s/%s/git-obs-mapping.xml' % (GIT_CACHE_DIR, MAPPING_PRJ)): print('Update %s/git-obs-mapping.xml to local.' % MAPPING_PRJ) - if not utils.retry(git.update_git_project, (os.path.join(JENKINS_HOME, 'git'), MAPPING_PRJ, GIT_URL)): + if not utils.retry(git.update_git_project, (GIT_CACHE_DIR, MAPPING_PRJ, GIT_URL)): end(1) # update local git tree from remote try: - if os.path.exists(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)): + if os.path.exists(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)): print '\nuse local repo as reference to clone' - if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: + if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: print 'use local repo as reference to clone: Failed.' - shutil.rmtree(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)) + shutil.rmtree(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)) except Exception, ex: print '\nExcept occur when use reference repo to clone code' print ex diff --git a/request.py b/request.py index f7aff70..0c82431 100644 --- a/request.py +++ b/request.py @@ -23,10 +23,10 @@ envparas = ['OBS_EVENT_STRING', 'GIT_CACHE_DIR', 'GERRIT_HOSTNAME', 'GERRIT_USERNAME', - 'GERRIT_SSHPORT', - 'GIT_URL'] + 'GERRIT_SSHPORT'] export(envparas, locals()) +GIT_URL = 'ssh://%s@%s:%s' % (GERRIT_USERNAME, GERRIT_HOSTNAME, GERRIT_SSHPORT) def request_url(request_id): if OBS_URL: @@ -120,7 +120,7 @@ def request_accepted(data, gerrit, gitprj): target_version = 'unknown' else: try: - target_version = '.'.join(tag.split('/')[1]) + target_version = tag.split('/')[1] except: target_version = 'unknown' @@ -192,7 +192,7 @@ def notify_submiter(event_fields, data): # email notification to mailing list status = mailer(event_fields, bs, event_fields, NOREPLY_EMAIL_SENDER, - MAILINGLIST, BCC_MAILS, data, SR_ENABLE_USER, EMAIL_TEMPLATES_DIR) + MAILINGLIST.split(','), BCC_MAILS, data, SR_ENABLE_USER, EMAIL_TEMPLATES_DIR) print status if status: with open('%s.env' %(BUILD_TAG),'w') as f: diff --git a/requests/email_templates/obs_request_create b/requests/email_templates/obs_request_create index a853e93..ee2d2e8 100644 --- a/requests/email_templates/obs_request_create +++ b/requests/email_templates/obs_request_create @@ -1,8 +1,7 @@ Hi, -I have made the following changes to ${targetpackage} in project ${targetproject}. Please review and accept ASAP. +${realname} have made the following changes to ${targetpackage} in project ${targetproject}. Please review and accept ASAP. Thank You, -${realname} [This message was auto-generated] diff --git a/requests/mailer.py b/requests/mailer.py index 77f3651..09dcb71 100644 --- a/requests/mailer.py +++ b/requests/mailer.py @@ -309,7 +309,7 @@ def mailer(request, bs, wi, noreply_sender, ml, bccs, request_data, return_dict['To'] = request_data['author_email'] # CC mailinglist and the author of superseded SRs - return_dict['Cc'] = [ml] + return_dict['Cc'] = ml for desp in request_data['descriptions']: return_dict['Cc'].append(desp['author_email']) diff --git a/submitobs.py b/submitobs.py index 435759a..4dc3860 100755 --- a/submitobs.py +++ b/submitobs.py @@ -36,13 +36,18 @@ envparas = ['GERRIT_EVENT_TYPE', 'GERRIT_REFNAME', 'WORKSPACE', 'JENKINS_HOME', + 'OBS_URL', 'OBS_API_URL', 'OBS_OSCRC_PATH', 'MYSQL_HOSTNAME', 'MYSQL_USERNAME', 'MYSQL_PASSWORD', 'BUILD_TAG', - 'MYSQL_DB_NAME'] + 'MYSQL_DB_NAME', + 'GIT_CACHE_DIR', + 'MAPPING_PRJ', + 'RPMLINT_PRJ', + 'NOREPLY_EMAIL_SENDER'] export(envparas, locals()) GERRIT_CMD = 'ssh -p %s %s@%s gerrit' % (GERRIT_SSHPORT, GERRIT_USERNAME, GERRIT_HOSTNAME) GIT_URL = 'ssh://%s@%s:%s' % (GERRIT_USERNAME, GERRIT_HOSTNAME, GERRIT_SSHPORT) @@ -96,9 +101,9 @@ if __name__ == '__main__': end('success') # check whether exist git-obs-mapping.xml in local - if GERRIT_PROJECT == MAPPING_PRJ or not os.path.isfile('%s/git/%s/git-obs-mapping.xml' % (JENKINS_HOME, MAPPING_PRJ)): + if GERRIT_PROJECT == MAPPING_PRJ or not os.path.isfile('%s/%s/git-obs-mapping.xml' % (GIT_CACHE_DIR, MAPPING_PRJ)): print('Update %s/git-obs-mapping.xml to local.' % MAPPING_PRJ) - if not utils.retry(git.update_git_project, (os.path.join(JENKINS_HOME, 'git'), MAPPING_PRJ, GIT_URL)): + if not utils.retry(git.update_git_project, (GIT_CACHE_DIR, MAPPING_PRJ, GIT_URL)): end('retry') if GERRIT_PROJECT == MAPPING_PRJ: print '\nPulled scm/git-obs-mapping change to local, exit now' @@ -106,12 +111,12 @@ if __name__ == '__main__': # update local git tree from remote try: - if utils.retry(git.update_git_project, (os.path.join(JENKINS_HOME, 'git'), GERRIT_PROJECT, GIT_URL)): - if os.path.exists(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)): + if utils.retry(git.update_git_project, (GIT_CACHE_DIR, GERRIT_PROJECT, GIT_URL)): + if os.path.exists(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)): print '\nuse local repo as reference to clone' - if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: + if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: print 'use local repo as reference to clone: Failed.' - shutil.rmtree(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)) + shutil.rmtree(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)) except Exception, ex: print '\nExcept occur when use reference repo to clone code' print ex @@ -174,7 +179,7 @@ if __name__ == '__main__': if checktagmsg and title: print checktagmsg checktagmsg = 'Hi, %s,\n\n' % tagger['author'] + checktagmsg + '\n\n----------------------------------------------------------------\nAutomatically generated by backend service.\nPlease DO NOT Reply!' - sendmail(title, checktagmsg, FROM_EMAIL, tagger['email']) + sendmail(title, checktagmsg, NOREPLY_EMAIL_SENDER, tagger['email']) end('failure') packagingdir = utils.parse_link('%s/%s' % (prjdir, 'packaging')) @@ -229,13 +234,13 @@ if __name__ == '__main__': tarballdir = os.path.join(outdir, os.listdir(outdir)[0]) if obs_stg_prj != obs_dst_prj: - tmppkg = obspkg.ObsPackage(tmpdir, obs_stg_prj, 'tmp', + tmppkg = obspkg.ObsPackage(tmpdir, obs_stg_prj, 'tmp', dest_prj = obs_dst_prj, apiurl = OBS_API_URL, oscrc = OBS_OSCRC_PATH) if tmppkg.is_new_pkg(): tmppkg.commit("Leave an empty package in this project to prevent OBS delete it automatically when all request from here are accepted.") print '\nCheckout %s/%s to local' % (obs_stg_prj, spec.name) - localpkg = obspkg.ObsPackage(tmpdir, obs_stg_prj, spec.name, + localpkg = obspkg.ObsPackage(tmpdir, obs_stg_prj, spec.name, dest_prj = obs_dst_prj, apiurl = OBS_API_URL, oscrc = OBS_OSCRC_PATH) oscworkdir = localpkg.get_workdir() localpkg.remove_all() @@ -276,7 +281,7 @@ if __name__ == '__main__': else: print 'GERRIT_CHANGE_NUMBER %s and GERRIT_CHANGE_NUMBER %s is empty.' % (GERRIT_CHANGE_NUMBER, GERRIT_CHANGE_NUMBER) - comment = 'Hi, %s,\n\n' % tagger['author'] + comment + '\n\n----------------------------------------------------------------\nAutomatically generated by backend service.\nPlease DO NOT Reply!' - sendmail('[Submit Request]: changes to %s/%s' % (obs_dst_prj, spec.name), comment, FROM_EMAIL, tagger['email']) + #comment = 'Hi, %s,\n\n' % tagger['author'] + comment + '\n\n----------------------------------------------------------------\nAutomatically generated by backend service.\nPlease DO NOT Reply!' + #sendmail('[Submit Request]: changes to %s/%s' % (obs_dst_prj, spec.name), comment, FROM_EMAIL, tagger['email']) end('success') diff --git a/submitobs_orig.py b/submitobs_orig.py index c35453e..a5a9919 100755 --- a/submitobs_orig.py +++ b/submitobs_orig.py @@ -36,13 +36,17 @@ envparas = ['GERRIT_EVENT_TYPE', 'GERRIT_REFNAME', 'WORKSPACE', 'JENKINS_HOME', + 'OBS_URL', 'OBS_API_URL', 'OBS_OSCRC_PATH', 'BUILD_TAG', 'MYSQL_HOSTNAME', 'MYSQL_USERNAME', 'MYSQL_PASSWORD', - 'MYSQL_DB_NAME'] + 'MYSQL_DB_NAME', + 'GIT_CACHE_DIR', + 'MAPPING_PRJ', + 'NOREPLY_EMAIL_SENDER'] export(envparas, locals()) GERRIT_CMD = 'ssh -p %s %s@%s gerrit' % (GERRIT_SSHPORT, GERRIT_USERNAME, GERRIT_HOSTNAME) GIT_URL = 'ssh://%s@%s:%s' % (GERRIT_USERNAME, GERRIT_HOSTNAME, GERRIT_SSHPORT) @@ -91,9 +95,9 @@ if __name__ == '__main__': end('success') # check whether exist git-obs-mapping.xml in local - if GERRIT_PROJECT == MAPPING_PRJ or not os.path.isfile('%s/git/%s/git-obs-mapping.xml' % (JENKINS_HOME, MAPPING_PRJ)): + if GERRIT_PROJECT == MAPPING_PRJ or not os.path.isfile('%s/%s/git-obs-mapping.xml' % (GIT_CACHE_DIR, MAPPING_PRJ)): print('Update %s/git-obs-mapping.xml to local.' % MAPPING_PRJ) - if not utils.retry(git.update_git_project, (os.path.join(JENKINS_HOME, 'git'), MAPPING_PRJ, GIT_URL)): + if not utils.retry(git.update_git_project, (GIT_CACHE_DIR, MAPPING_PRJ, GIT_URL)): end('retry') if GERRIT_PROJECT == MAPPING_PRJ: print '\nPulled scm/git-obs-mapping change to local, exit now' @@ -101,11 +105,11 @@ if __name__ == '__main__': # update local git tree from remote try: - if os.path.exists(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)): + if os.path.exists(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)): print '\nuse local repo as reference to clone' - if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: + if runner.show('git clone %s/%s --reference %s %s' % (GIT_URL, GERRIT_PROJECT, os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT), '%s/%s' % (tmpdir,GERRIT_PROJECT)))[0]: print 'use local repo as reference to clone: Failed.' - shutil.rmtree(os.path.join(JENKINS_HOME, 'git', GERRIT_PROJECT)) + shutil.rmtree(os.path.join(GIT_CACHE_DIR, GERRIT_PROJECT)) except Exception, ex: print '\nExcept occur when use reference repo to clone code' print ex @@ -155,7 +159,7 @@ if __name__ == '__main__': if tagger: print checktagmsg checktagmsg = 'Hi, %s,\n\n' % tagger['author'] + checktagmsg + '\n\n----------------------------------------------------------------\nAutomatically generated by backend service.\nPlease DO NOT Reply!' - sendmail(title, checktagmsg, FROM_EMAIL, tagger['email']) + sendmail(title, checktagmsg, NOREPLY_EMAIL_SENDER, tagger['email']) end('success') if tagger: @@ -203,14 +207,14 @@ if __name__ == '__main__': if obs_stg_prj != obs_dst_prj: print "check whether tmp package exist in build project" - tmppkg = obspkg.ObsPackage(tmpdir, obs_stg_prj, 'tmp', + tmppkg = obspkg.ObsPackage(tmpdir, obs_stg_prj, 'tmp', dest_prj = obs_dst_prj, apiurl = OBS_API_URL, oscrc = OBS_OSCRC_PATH) if tmppkg.is_new_pkg(): tmppkg.commit("Leave an empty package in this project to prevent OBS delete it automatically when all request from here are accepted.") print '\nCheckout %s/%s to local' % (obs_stg_prj, spec.name) print tmpdir, obs_stg_prj, spec.name, OBS_API_URL, OBS_OSCRC_PATH - localpkg = obspkg.ObsPackage(tmpdir, obs_stg_prj, spec.name, + localpkg = obspkg.ObsPackage(tmpdir, obs_stg_prj, spec.name, dest_prj = obs_dst_prj, apiurl = OBS_API_URL, oscrc = OBS_OSCRC_PATH) oscworkdir = localpkg.get_workdir() localpkg.remove_all() @@ -256,6 +260,6 @@ if __name__ == '__main__': if tagger: comment = 'Hi, %s,\n\n' % tagger['author'] + comment + '\n\n----------------------------------------------------------------\nAutomatically generated by backend service.\nPlease DO NOT Reply!' - sendmail('[Submit Request]: changes to %s/%s' % (obs_dst_prj, spec.name), comment, FROM_EMAIL, tagger['email']) + sendmail('[Submit Request]: changes to %s/%s' % (obs_dst_prj, spec.name), comment, NOREPLY_EMAIL_SENDER, tagger['email']) end('success') -- 2.7.4