X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2Fci-pipelines%2Fci_stage_3.groovy;h=006509294f2e4e8e78c0c92bc1c40c9ed72771c6;hb=366ed71248f46f8a3754cb5189e39b9ea53a22b7;hp=5d27c7f8a2f3d1291919b0c055514ceeaad7ea61;hpb=d7f1c2729ec9310b83cf7e5459cd3beb77406733;p=osm%2Fdevops.git diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index 5d27c7f8..00650929 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -104,7 +104,8 @@ void run_robot_systest(String tagName, -v ${portmappingfile}:/root/port-mapping.yaml ${hostfilemount} opensourcemano/tests:${tagName} \ -c -t ${testName}""") } finally { - sh("cp ${tempdir}/* .") + sh("cp ${tempdir}/*.xml .") + sh("cp ${tempdir}/*.html .") outputDirectory = sh(returnStdout: true, script: 'pwd').trim() println("Present Directory is : ${outputDirectory}") step([ @@ -215,7 +216,9 @@ node("${params.NODE}") { /////////////////////////////////////////////////////////////////////////////////////// stage('Copy Artifacts') { // cleanup any previous repo - sh 'rm -rf repo' + sh "tree -fD repo || exit 0" + sh 'rm -rvf repo' + sh "tree -fD repo && lsof repo || exit 0" dir('repo') { packageList = [] dir("${RELEASE}") { @@ -255,7 +258,7 @@ node("${params.NODE}") { parallelSteps = [:] list = ['RO', 'osmclient', 'IM', 'devops', 'MON', 'N2VC', 'NBI', - 'common', 'LCM', 'POL', 'NG-UI', 'PLA', 'tests'] + 'common', 'LCM', 'POL', 'NG-UI', 'NG-SA', 'PLA', 'tests'] if (upstreamComponent.length() > 0) { println("Skipping upstream fetch of ${upstreamComponent}") list.remove(upstreamComponent) @@ -323,6 +326,8 @@ node("${params.NODE}") { ci_helper.check_status_http_server(NODE_IP_ADDRESS, repo_port) } + sh "tree -fD repo" + // Unpack devops package into temporary location so that we use it from upstream if it was part of a patch osm_devops_dpkg = sh(returnStdout: true, script: 'find ./repo/release/pool/ -name osm-devops*.deb').trim() devopstempdir = sh(returnStdout: true, script: 'mktemp -d').trim() @@ -448,8 +453,8 @@ node("${params.NODE}") { pty: true ] - // Force loading of the ETSI Debian Package Signing Key - sshCommand remote: remote, command: 'sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93EC7342B1168CDB' + // Ensure the VM is ready + sshCommand remote: remote, command: 'cloud-init status --wait' // Force time sync to avoid clock drift and invalid certificates sshCommand remote: remote, command: 'sudo apt-get update' sshCommand remote: remote, command: 'sudo apt-get install -y chrony' @@ -496,7 +501,7 @@ node("${params.NODE}") { ] sshCommand remote: remote, command: ''' - wget https://osm-download.etsi.org/ftp/osm-11.0-eleven/install_osm.sh + wget https://osm-download.etsi.org/ftp/osm-13.0-thirteen/install_osm.sh chmod +x ./install_osm.sh sed -i '1 i\\export PATH=/snap/bin:\$PATH' ~/.bashrc ''' @@ -632,7 +637,8 @@ EOF""" parallelSteps[module] = { dir("$module") { - sh("""docker tag opensourcemano/${moduleName}:${moduleTag} \ + sh("docker pull ${INTERNAL_DOCKER_REGISTRY}opensourcemano/${moduleName}:${moduleTag}") + sh("""docker tag ${INTERNAL_DOCKER_REGISTRY}opensourcemano/${moduleName}:${moduleTag} \ opensourcemano/${moduleName}:${dockerTag}""") sh "docker push opensourcemano/${moduleName}:${dockerTag}" } @@ -669,61 +675,6 @@ EOF""" } } } // stage('Snap promotion') - stage('Charm promotion') { - charms = [ - 'osm', // bundle - 'osm-ha', // bundle - 'osm-grafana', - 'osm-mariadb', - 'mongodb-exporter', - 'mysqld-exporter', - 'osm-lcm', - 'osm-mon', - 'osm-nbi', - 'osm-ng-ui', - 'osm-pol', - 'osm-ro', - 'osm-prometheus', - 'osm-vca-integrator-operator', - ] - for (charm in charms) { - - channel = 'latest' - if (BRANCH_NAME.startsWith('v')) { - channel = BRANCH_NAME.substring(1) - } else if (BRANCH_NAME != 'master') { - channel += '/' + BRANCH_NAME.replaceAll('/', '-') - } - - withCredentials([string(credentialsId: 'Charmstore', variable: 'CHARMCRAFT_AUTH')]) { - sh "charmcraft status $charm --format json > ${charm}.json" - isCharm = sh(returnStdout: true, script: "grep architecture ${charm}.json | wc -l").trim() as int - if (isCharm) { - jqScriptEdge = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"latest/edge/merged\")| .version'" - jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"latest/beta\")| .version'" - } else { - jqScriptEdge = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[].releases[] | select(.channel==\"latest/edge/merged\")| .version'" - jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[].releases[] | select(.channel==\"latest/beta\")| .version'" - } - println(jqScriptEdge) - println(jqScriptBeta) - // edge/merged is used in place of /edge as 10.1.0 LTS uses latest/edge - edge_rev = sh(returnStdout: true, script: jqScriptEdge).trim() - beta_rev = sh(returnStdout: true, script: jqScriptBeta).trim() - try { edge_rev = edge_rev as int } catch (NumberFormatException nfe) {edge_rev = 0} - try { beta_rev = beta_rev as int } catch (NumberFormatException nfe) {beta_rev = 0} - - print "Edge: $edge_rev, Beta: $beta_rev" - - if (edge_rev > beta_rev) { - print "Promoting $edge_rev to beta in place of $beta_rev" - beta_track = channel + 'beta' - sh "charmcraft release ${charm} --revision=${edge_rev} --channel=${channel}/beta" - } - - } - } - } // stage('Charm promotion') } // if (params.DO_DOCKERPUSH) } // stage('Archive') } // if (params.SAVE_ARTIFACTS_OVERRIDE || stage_archive)