X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2Fci-pipelines%2Fci_stage_3.groovy;h=005232b360f70624312a6fce223c740f2bbd5fbf;hb=34bf143217719276746d986de53f940176d7de09;hp=52aa3b2fabb06bb85f9746cb2a0ea128c4223d45;hpb=515503e249283b6e0a2ccd5b4c134fa7a5572647;p=osm%2Fdevops.git diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index 52aa3b2f..005232b3 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -34,12 +34,30 @@ properties([ booleanParam(defaultValue: false, description: '', name: 'SAVE_CONTAINER_ON_FAIL'), booleanParam(defaultValue: false, description: '', name: 'SAVE_CONTAINER_ON_PASS'), booleanParam(defaultValue: false, description: '', name: 'DO_STAGE_4'), - booleanParam(defaultValue: false, description: '', name: 'DO_INSTALL'), - booleanParam(defaultValue: false, description: '', name: 'DO_SMOKE'), + booleanParam(defaultValue: true, description: '', name: 'DO_BUILD'), + booleanParam(defaultValue: true, description: '', name: 'DO_INSTALL'), + booleanParam(defaultValue: true, description: '', name: 'DO_SMOKE'), booleanParam(defaultValue: false, description: '', name: 'SAVE_ARTIFACTS_OVERRIDE'), ]) ]) +def uninstall_osm(stackName) { + sh """ + export OSM_USE_LOCAL_DEVOPS=true + export PATH=$PATH:/snap/bin + installers/full_install_osm.sh -y -w /tmp/osm -t ${stackName} -s ${stackName} --test --nolxd --nodocker --nojuju --nohostports --nohostclient --uninstall + """ +} + +def run_systest(stackName,tagName,testName) { + sh """ + tempdir=$(mktemp -d) + docker run -ti --network net${stackName} -v $tempdir:/usr/share/osm-devops/systest/reports osm/osmclient:${tagName} make -C /usr/share/osm-devops/systest ${testName} + cp $tempdir/*.xml . + """ + junit '*.xml' +} + node("${params.NODE}") { sh 'env' @@ -71,7 +89,7 @@ node("${params.NODE}") { // grab all stable upstream builds based on the dir("${RELEASE}") { - def list = ["RO", "openvim", "osmclient", "IM", "devops", "MON", "N2VC", "NBI", "common", "LCM"] + def list = ["RO", "openvim", "osmclient", "IM", "devops", "MON", "N2VC", "NBI", "common", "LCM", "POL"] for (component in list) { step ([$class: 'CopyArtifact', projectName: "${component}${upstream_main_job}/${GERRIT_BRANCH}"]) @@ -145,6 +163,12 @@ node("${params.NODE}") { } error = null + if ( params.DO_BUILD ) { + stage("Build") { + sh "make -C docker clean" + sh "make -j4 -C docker CMD_DOCKER_ARGS= TAG=${container_name} RELEASE=${params.RELEASE} REPOSITORY_BASE=${repo_base_url} REPOSITORY_KEY=${params.REPO_KEY_NAME} REPOSITORY=${params.REPO_DISTRO}" + } + } try { if ( params.DO_INSTALL ) { @@ -179,8 +203,10 @@ node("${params.NODE}") { } sh """ - export OSM_USE_LOCAL_DEVOPS=true - jenkins/host/start_build system --build-container ${container_name} \ + export PATH=$PATH:/snap/bin + installers/full_install_osm.sh -y -s ${container_name} --test --nolxd --nodocker --nojuju --nohostports --nohostclient \ + --nodockerbuild -t ${container_name} \ + -w /tmp/osm \ ${commit_id} \ ${repo_distro} \ ${repo_base_url} \ @@ -192,9 +218,11 @@ node("${params.NODE}") { } if ( params.DO_SMOKE ) { + stage("OSM Health") { + sh "installers/osm_health.sh -s ${container_name}" + } stage("Smoke") { - ci_helper.systest_run(container_name, 'smoke') - junit '*.xml' + run_systest(container_name,container_name,"smoke") } } @@ -234,16 +262,19 @@ node("${params.NODE}") { } finally { sh "docker stop ${http_server_name}" + sh "docker rm ${http_server_name}" - if (error) { - if ( !params.SAVE_CONTAINER_ON_FAIL ) { - sh "lxc delete ${container_name} --force" + if ( params.DO_INSTALL ) { + if (error) { + if ( !params.SAVE_CONTAINER_ON_FAIL ) { + uninstall_osm container_name + } + throw error } - throw error - } - else { - if ( !params.SAVE_CONTAINER_ON_PASS ) { - sh "lxc delete ${container_name} --force" + else { + if ( !params.SAVE_CONTAINER_ON_PASS ) { + uninstall_osm container_name + } } } }