#!/usr/bin/env python
# -*- coding: utf-8 -*-
-import sys
import logging
+import os
+import platform
+import sys
from logging import Formatter
-def logger_init():
- log_format = '%(asctime)s %(name)s[%(process)d] %(levelname)s: %(message)s'
- formatter = Formatter(log_format)
+def logger_init(
+ log_name = __file__,
+ log_format = '%(asctime)s %(name)s[%(process)d] %(levelname)s: %(message)s',
+ log_level = None,
+ ):
+
+ if log_level == None:
+ try:
+ if ENV['GIT_BRANCH_NAME'] == 'master':
+ log_level = logging.INFO
+ else:
+ log_level = logging.DEBUG
+ except KeyError as e:
+ log_level = logging.NOTSET
+
logging.basicConfig(
- format=log_format,
- level=logging.INFO
- )
- logger = logging.getLogger(__file__)
- logger.setLevel(logging.INFO)
+ format = log_format,
+ level = log_level,
+ )
+ logger = logging.getLogger(log_name)
+ logger.setLevel(log_level)
return logger
def exit_ok():
sys.exitfunc = lambda: None
sys.exit(1)
+ENV = os.environ
+ENV.update({'ARGV': ' '.join(sys.argv)})
+
+BIN_GIT = '/usr/bin/git'
+BIN_RM = '/bin/rm'
+BIN_SUDO = '/usr/bin/sudo'
+BIN_DPUT = '/usr/bin/dput'
+BIN_MAKE_KPKG = '/usr/bin/make-kpkg'
+
+BUILD_ARCH_MAP = {
+ 'x86_64': 'amd64',
+ 'i386': '686',
+ }
+BUILD_ARCH = BUILD_ARCH_MAP.get(platform.machine(), '686')
+BUILD_AREA = os.path.abspath(os.path.join(os.curdir,'../build-area'))
+BUILD_ID = ENV['BUILD_ID']
+BUILD_JOBNAME = ENV['JOB_NAME']
+BUILD_NUMBER = ENV['BUILD_NUMBER']
+BUILD_START = datetime.datetime.now()
+BUILD_URL = ENV['BUILD_URL']
+
+CWD = ENV['WORKSPACE']
+GIT_REPO_PATH = ENV['GIT_REPO_PATH']
+GIT_REPO_NAME = os.path.basename(result['GIT_REPO_PATH'])
+GIT_BRANCH_NAME = ENV['GIT_BRANCH_NAME']
+GIT_COMMITTER_EMAIL = ENV['GIT_COMMITTER_EMAIL']
from ConfigParser import SafeConfigParser
# from common_code
-logger = logger_init()
-
-JOB_URL = 'http://jenkins:80/job/%(flavour)s/buildWithParameters?token=BuildIt&'
-JOB_DELAY = '0sec'
-
-
-GIT = '/usr/bin/git'
-BIN_RM = '/bin/rm'
-BIN_SUDO = '/usr/bin/sudo'
-BIN_DPUT = '/usr/bin/dput'
-MAKE_KPKG = '/usr/bin/make-kpkg'
-DEFAULT_PARALLEL_JOBS = cpu_count() + 1
-
-BUILD_ARCH_MAP = {
- 'x86_64': 'amd64',
- 'i386': '686'
-}
-
-BUILD_ARCH = BUILD_ARCH_MAP.get(platform.machine(), '686')
-
-CWD = os.environ.get('WORKSPACE')
-BUILD_NUMBER = os.environ.get('BUILD_NUMBER')
-BUILD_ID = os.environ.get('BUILD_ID')
-BUILD_URL = os.environ.get('BUILD_URL')
-BUILD_AREA = os.path.abspath(os.path.join(os.curdir,'../build-area'))
-BUILD_JOBNAME = os.environ.get('JOB_NAME')
-BUILD_START = datetime.datetime.now()
-
-GIT_REPO_PATH = os.environ.get('GIT_REPO_PATH')
-GIT_REPO_NAME = os.path.basename(GIT_REPO_PATH)
-GIT_BRANCH_NAME = os.environ.get('GIT_BRANCH_NAME')
-GIT_COMMITTER_EMAIL = os.environ.get('GIT_COMMITTER_EMAIL')
-
-#unused: (except in in-active code)
-GIT_TARGET_WORKSPACE = os.path.join(
- CWD,
- ('%s-build%s' %(BUILD_ID, BUILD_NUMBER))
-)
-#unused: (except in in-active code)
-GIT_TARGET_DIR = os.path.join(
- GIT_TARGET_WORKSPACE,
- os.path.basename(GIT_REPO_PATH)
-)
-
-DPUT_OPTIONS_DEFAULT = {
- 'fqdn': 'alexandria.pb.local',
- 'method': 'scp',
- 'login': 'reprepro',
- 'incoming': '/srv/profitbricks-repository/incoming/profitbricks',
- 'allow_unsigned_uploads': 1,
- 'post_upload_command': 'ssh reprepro@alexandria.pb.local /srv/profitbricks-repository/bin/pb_processincoming',
- }
-DPUT_OPTIONS_DEV = {
- 'fqdn': 'alexandria.pb.local',
- 'method': 'scp',
- 'login': 'reprepro',
- 'incoming': '/srv/dev-repository/incoming/',
- 'allow_unsigned_uploads': 1,
- 'post_upload_command': 'ssh reprepro@alexandria.pb.local /srv/dev-repository/bin/pb_processincoming',
- }
-DPUT_CF = os.path.join(CWD, '..', 'dput.cf')
-
-NO_UPLOAD = os.environ.get('NO_UPLOAD')
-
-AUTO_CHANGELOG_JOBS = (
- 'ri-docs',
- 'so-docs',
- 'infrastructure-docs',
- 'storage-docs',
- )
-
+ logger = logger_init()
+
+# local constants
+ DEFAULT_PARALLEL_JOBS = cpu_count() + 1
+ JOB_URL = 'http://jenkins:80/job/%(flavour)s/buildWithParameters?token=BuildIt&'
+ JOB_DELAY = '0sec'
+
+ #unused: (except in in-active code)
+ GIT_TARGET_WORKSPACE = os.path.join(
+ CWD,
+ ('%s-build%s' %(BUILD_ID, BUILD_NUMBER)),
+ )
+ #unused: (except in in-active code)
+ GIT_TARGET_DIR = os.path.join(
+ GIT_TARGET_WORKSPACE,
+ os.path.basename(GIT_REPO_PATH)
+ )
+
+ DPUT_OPTIONS_DEFAULT = {
+ 'fqdn': 'alexandria.pb.local',
+ 'method': 'scp',
+ 'login': 'reprepro',
+ 'incoming': '/srv/profitbricks-repository/incoming/profitbricks',
+ 'allow_unsigned_uploads': 1,
+ 'post_upload_command': 'ssh reprepro@alexandria.pb.local /srv/profitbricks-repository/bin/pb_processincoming',
+ }
+ DPUT_OPTIONS_DEV = {
+ 'fqdn': 'alexandria.pb.local',
+ 'method': 'scp',
+ 'login': 'reprepro',
+ 'incoming': '/srv/dev-repository/incoming/',
+ 'allow_unsigned_uploads': 1,
+ 'post_upload_command': 'ssh reprepro@alexandria.pb.local /srv/dev-repository/bin/pb_processincoming',
+ }
+ DPUT_CF = os.path.join(CWD, '..', 'dput.cf')
+
+ NO_UPLOAD = ENV['NO_UPLOAD']
+
+ AUTO_CHANGELOG_JOBS = (
+ 'ri-docs',
+ 'so-docs',
+ 'infrastructure-docs',
+ 'storage-docs',
+ )
class HudsonUrl(urllib.FancyURLopener):
pass
def dput_package_upload(changes_path):
try:
- cmd = [BIN_DPUT, '-c', '%s' %(DPUT_CF), '--no-upload-log', 'profitbricks', '%s' %(changes_path)]
+ cmd = [BIN_DPUT,
+ '-c',
+ '%s' %(DPUT_CF),
+ '--no-upload-log',
+ 'profitbricks',
+ '%s' %(changes_path),
+ ]
+
logger.debug( 'Trying to execute: "%s"' %(cmd))
cmd_obj = subprocess.Popen(
- cmd,
- shell=False,
- stdout=sys.stdout,
- stderr=subprocess.STDOUT,
- close_fds=True,
- cwd=os.path.dirname(DPUT_CF)
- )
-
- ret = cmd_obj.wait()
- logger.debug('Exit status: %d' %( ret ))
+ cmd,
+ shell=False,
+ stdout=sys.stdout,
+ stderr=subprocess.STDOUT,
+ close_fds=True,
+ cwd=os.path.dirname(DPUT_CF)
+ )
+ result = cmd_obj.wait()
+ logger.debug('Exit status: %d' %( result ))
- if ret:
+ if not result:
raise Exception(message)
except Exception, error:
try:
cmd = [BIN_SUDO, BIN_RM, '-rf', GIT_TARGET_WORKSPACE]
cmdobj = subprocess.Popen(
- cmd,
- shell=False,
- cwd='/',
- close_fds=True,
- stdout=sys.stdout,
- stderr=sys.stderr,
- env={'':''}
- )
+ cmd,
+ shell=False,
+ cwd='/',
+ close_fds=True,
+ stdout=sys.stdout,
+ stderr=sys.stderr,
+ env={'':''}
+ )
logger.debug(
- 'Trying to call "%s" to delete "%s"'
- %(' '.join(cmd), GIT_TARGET_WORKSPACE)
- )
-
- ret = cmdobj.wait()
- if ret:
- _str = (
- 'Cmd "%s" returned non-zero (exitcode: %s).'
- %(' '.join(cmd), ret)
+ 'Trying to call "%s" to delete "%s"'
+ %(' '.join(cmd), GIT_TARGET_WORKSPACE)
)
- logger.debug(_str)
- raise Exception(_str)
+ ret = cmdobj.wait()
+
+ if not ret:
+ message = (
+ 'Cmd "%s" returned non-zero (exitcode: %s).'
+ %(' '.join(cmd), ret)
+ )
+ logger.debug(message)
+ raise Exception(message)
except Exception, error:
logger.exception(error)
raise