MT#7247 repoapi: fix confusion between jenkins job vs build

Change-Id: I18877ad0c6695769b86b36ac05facce4299f7e19
changes/79/8579/1
Victor Seva 9 years ago
parent 89b0148708
commit eceefa7ff5

7
debian/postinst vendored

@ -21,6 +21,12 @@ mk_dj_secret() {
python -c "import random,string;print '%s'%''.join([random.SystemRandom().choice(\"{}{}{}\".format(string.ascii_letters, string.digits, string.punctuation)) for i in range(63)])" ;
}
rename_job_json() {
find ${LIB_DIR}/jbi_files -mindepth 2 -name 'job.json'| while read -r f; do
mv -v "$f" "$(echo "$f" | sed 's/job\.json/build.json/')"
done
}
case "$1" in
configure)
@ -32,6 +38,7 @@ case "$1" in
fi
cd "${USR_DIR}" && make venv_prod
service uwsgi restart repoapi || true
rename_job_json
;;
abort-upgrade|abort-remove|abort-deconfigure)

@ -20,8 +20,8 @@ from os.path import basename
from celery import shared_task
from django.conf import settings
from .celery import jbi_parse_hotfix
from .utils import jenkins_get_console, jenkins_get_job, jenkins_get_artifact
from .utils import jenkins_get_env
from .utils import jenkins_get_console, jenkins_get_artifact
from .utils import jenkins_get_build, jenkins_get_env
logger = logging.getLogger(__name__)
@ -37,9 +37,9 @@ def jbi_get_artifact(jbi_id, jobname, buildnumber, artifact_info):
def get_jbi_files(jbi_id, jobname, buildnumber):
jenkins_get_console(jobname, buildnumber)
jenkins_get_env(jobname, buildnumber)
path = jenkins_get_job(jobname, buildnumber)
path_build = jenkins_get_build(jobname, buildnumber)
if jobname in settings.JBI_ARTIFACT_JOBS:
with open(path) as data_file:
with open(path_build) as data_file:
data = json.load(data_file)
logger.debug("job_info:%s", data)
for artifact in data['artifacts']:

@ -19,7 +19,7 @@ import shutil
from django.test import TestCase, override_settings
from django.conf import settings
from repoapi.models import JenkinsBuildInfo
from repoapi.utils import JBI_CONSOLE_URL, JBI_JOB_URL, JBI_ARTIFACT_URL
from repoapi.utils import JBI_CONSOLE_URL, JBI_BUILD_URL, JBI_ARTIFACT_URL
from repoapi.utils import JBI_ENVVARS_URL
from mock import patch, call, mock_open
@ -100,17 +100,17 @@ class TestJBICelery(TestCase):
@patch('__builtin__.open', mock_open(read_data=artifacts_json))
@patch('repoapi.utils.dlfile')
def test_jbi_jobinfo(self, dlfile):
def test_jbi_buildinfo(self, dlfile):
param = self.get_defaults()
jbi = JenkinsBuildInfo.objects.create(**param)
base_path = os.path.join(settings.JBI_BASEDIR,
jbi.jobname, str(jbi.buildnumber))
url = JBI_JOB_URL.format(
url = JBI_BUILD_URL.format(
settings.JENKINS_URL,
jbi.jobname,
jbi.buildnumber
)
path = os.path.join(base_path, 'job.json')
path = os.path.join(base_path, 'build.json')
dlfile.assert_any_call(url, path)
url = JBI_ARTIFACT_URL.format(
settings.JENKINS_URL,

@ -25,7 +25,7 @@ from django.conf import settings
logger = logging.getLogger(__name__)
JBI_CONSOLE_URL = "{}/job/{}/{}/consoleText"
JBI_JOB_URL = "{}/job/{}/{}/api/json"
JBI_BUILD_URL = "{}/job/{}/{}/api/json"
JBI_ARTIFACT_URL = "{}/job/{}/{}/artifact/{}"
JBI_ENVVARS_URL = "{}/job/{}/{}/injectedEnvVars/api/json"
@ -90,15 +90,15 @@ def jenkins_get_console(jobname, buildnumber):
return _jenkins_get(url, base_path, 'console.txt')
def jenkins_get_job(jobname, buildnumber):
url = JBI_JOB_URL.format(
def jenkins_get_build(jobname, buildnumber):
url = JBI_BUILD_URL.format(
settings.JENKINS_URL,
jobname,
buildnumber
)
base_path = os.path.join(settings.JBI_BASEDIR,
jobname, str(buildnumber))
return _jenkins_get(url, base_path, 'job.json')
return _jenkins_get(url, base_path, 'build.json')
def jenkins_get_env(jobname, buildnumber):

Loading…
Cancel
Save