X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=jenkins%2Fci-pipelines%2Fci_stage_3.groovy;h=d17d46ed26efe58f84964133a3f756d3f7bbb560;hb=9d1d0c13292004487f57c7fd1ed8fb23d604725a;hp=13c8e3b13101e7d9dfee588d59c927ac799ddf64;hpb=c40dbfe0905fd7e937370542c3e57fbe8dd01b3c;p=osm%2Fdevops.git diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index 13c8e3b1..d17d46ed 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -32,6 +32,7 @@ properties([ string(defaultValue: 'artifactory-osm', description: '', name: 'ARTIFACTORY_SERVER'), string(defaultValue: 'osm-stage_4', description: '', name: 'DOWNSTREAM_STAGE_NAME'), string(defaultValue: 'testing-daily', description: '', name: 'DOCKER_TAG'), + string(defaultValue: 'ubuntu20.04', description: '', name: 'OPENSTACK_BASE_IMAGE'), booleanParam(defaultValue: false, description: '', name: 'SAVE_CONTAINER_ON_FAIL'), booleanParam(defaultValue: false, description: '', name: 'SAVE_CONTAINER_ON_PASS'), booleanParam(defaultValue: true, description: '', name: 'SAVE_ARTIFACTS_ON_SMOKE_SUCCESS'), @@ -160,6 +161,7 @@ node("${params.NODE}") { INTERNAL_DOCKER_REGISTRY = 'osm.etsi.org:5050/devops/cicd/' INTERNAL_DOCKER_PROXY = 'http://172.21.1.1:5000' + APT_PROXY="http://172.21.1.1:3142" SSH_KEY = '~/hive/cicd_rsa' sh 'env' @@ -321,7 +323,8 @@ node("${params.NODE}") { usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) { sh "docker login ${INTERNAL_DOCKER_REGISTRY} -u ${USERNAME} -p ${PASSWORD}" } - moduleBuildArgs = "" + datetime = sh(returnStdout: true, script: "date +%Y-%m-%d:%H:%M:%S").trim() + moduleBuildArgs = " --build-arg CACHE_DATE=${datetime}" for (packageName in builtModules.keySet()) { envName=packageName.replaceAll("-","_").toUpperCase()+"_URL" moduleBuildArgs += " --build-arg ${envName}=" + builtModules[packageName] @@ -339,7 +342,7 @@ node("${params.NODE}") { def moduleTag = container_name parallelSteps[module] = { dir("$module") { - sh "docker build -t opensourcemano/${moduleName}:${moduleTag} ${moduleBuildArgs} ." + sh "docker build --build-arg APT_PROXY=${APT_PROXY} -t opensourcemano/${moduleName}:${moduleTag} ${moduleBuildArgs} ." println("Tagging ${moduleName}:${moduleTag}") sh "docker tag opensourcemano/${moduleName}:${moduleTag} ${INTERNAL_DOCKER_REGISTRY}opensourcemano/${moduleName}:${moduleTag}" sh "docker push ${INTERNAL_DOCKER_REGISTRY}opensourcemano/${moduleName}:${moduleTag}" @@ -360,7 +363,7 @@ node("${params.NODE}") { output=sh(returnStdout: true, script: """#!/bin/sh -e for line in `grep OS ~/hive/robot-systest.cfg | grep -v OS_CLOUD` ; do export \$line ; done openstack server create --flavor osm.sanity \ - --image ubuntu18.04 \ + --image ${OPENSTACK_BASE_IMAGE} \ --key-name CICD \ --property build_url="${BUILD_URL}" \ --nic net-id=osm-ext \ @@ -443,8 +446,17 @@ node("${params.NODE}") { remote.logLevel = 'INFO' remote.pty = true + // Force time sync to avoid clock drift and invalid certificates sshCommand remote: remote, command: """ - wget https://osm-download.etsi.org/ftp/osm-10.0-ten/install_osm.sh + sudo apt update + sudo apt install -y ntp + sudo service ntp stop + sudo ntpd -gq + sudo service ntp start + """ + + sshCommand remote: remote, command: """ + wget https://osm-download.etsi.org/ftp/osm-11.0-eleven/install_osm.sh chmod +x ./install_osm.sh sed -i '1 i\\export PATH=/snap/bin:\${PATH}' ~/.bashrc """ @@ -484,8 +496,7 @@ node("${params.NODE}") { ${release} -r unstable \ -d ${USERNAME}:${PASSWORD}@${INTERNAL_DOCKER_REGISTRY} \ -p ${INTERNAL_DOCKER_PROXY} \ - -t ${container_name} \ - --nocachelxdimages + -t ${container_name} """ } prometheusHostname = IP_ADDRESS