Cherry picks from master
[osm/devops.git] / jenkins / ci-pipelines / ci_stage_3.groovy
index f851fc0..6e23ba3 100644 (file)
@@ -32,7 +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'),
-        booleanParam(defaultValue: true, description: '', name: 'SAVE_CONTAINER_ON_FAIL'),
+        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'),
         booleanParam(defaultValue: true, description: '', name: 'DO_STAGE_4'),
@@ -120,20 +120,20 @@ def archive_logs(remote) {
             for container in `kubectl get pods -n osm | grep -v operator | grep -v NAME| awk '{print $1}'`; do
                 logfile=`echo $container | cut -d- -f1`
                 echo "Extracting log for $logfile"
-                kubectl logs -n osm $container 2>&1 > logs/$logfile.log
+                kubectl logs -n osm $container --timestamps=true 2>&1 > logs/$logfile.log
             done
         '''
     } else {
         sshCommand remote: remote, command: '''
             for deployment in `kubectl -n osm get deployments | grep -v operator | grep -v NAME| awk '{print $1}'`; do
                 echo "Extracting log for $deployment"
-                kubectl -n osm logs deployments/$deployment --all-containers 2>&1 > logs/$deployment.log
+                kubectl -n osm logs deployments/$deployment --timestamps=true --all-containers 2>&1 > logs/$deployment.log
             done
         '''
         sshCommand remote: remote, command: '''
             for statefulset in `kubectl -n osm get statefulsets | grep -v operator | grep -v NAME| awk '{print $1}'`; do
                 echo "Extracting log for $statefulset"
-                kubectl -n osm logs statefulsets/$statefulset --all-containers 2>&1 > logs/$statefulset.log
+                kubectl -n osm logs statefulsets/$statefulset --timestamps=true --all-containers 2>&1 > logs/$statefulset.log
             done
         '''
     }
@@ -386,10 +386,12 @@ node("${params.NODE}") {
                     remote.identityFile = SSH_KEY
                     remote.allowAnyHosts = true
                     remote.logLevel = 'INFO'
+                    remote.pty = true
 
                     sshCommand remote: remote, command: """
                         wget https://osm-download.etsi.org/ftp/osm-9.0-nine/install_osm.sh
                         chmod +x ./install_osm.sh
+                        sed -i '1 i\\export PATH=/snap/bin:\${PATH}' ~/.bashrc
                     """
 
                     if ( useCharmedInstaller ) {
@@ -400,7 +402,6 @@ node("${params.NODE}") {
                             sudo sed -i "s|https://registry-1.docker.io|http://172.21.1.1:5000|" /var/snap/microk8s/current/args/containerd-template.toml
                             sudo systemctl restart snap.microk8s.daemon-containerd.service
                             sudo snap alias microk8s.kubectl kubectl
-                            echo export PATH=/snap/bin:\${PATH} > ~/.bashrc
                         '''
 
                         withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'gitlab-registry',
@@ -442,11 +443,7 @@ node("${params.NODE}") {
             stage_archive = false
             if ( params.DO_SMOKE ) {
                 stage("OSM Health") {
-                    if ( useCharmedInstaller ) {
-                        stackName = "osm"
-                    } else {
-                        stackName = container_name
-                    }
+                    stackName = "osm"
                     sshCommand remote: remote, command: """
                         /usr/share/osm-devops/installers/osm_health.sh -k -s ${stackName}
                     """
@@ -489,7 +486,7 @@ EOF"""
                         }
                     }
                 } finally {
-                    stage("Archive Contailer Logs") {
+                    stage("Archive Container Logs") {
                         // Archive logs to containers_logs.txt
                         archive_logs(remote)
                         if ( ! currentBuild.result.equals('UNSTABLE') && ! currentBuild.result.equals('FAILURE')) {
@@ -521,8 +518,9 @@ EOF"""
 
                         stage("Snap promotion") {
                             def snaps = ["osmclient"]
+                            sh "snapcraft login --with ~/.snapcraft/config"
                             for (snap in snaps) {
-                                channel=""
+                                channel="latest/"
                                 if (BRANCH_NAME.startsWith("v")) {
                                     channel=BRANCH_NAME.substring(1)+"/"
                                 } else if (BRANCH_NAME!="master") {
@@ -530,26 +528,19 @@ EOF"""
                                 }
                                 track=channel+"edge\\*"
                                 edge_rev=sh(returnStdout: true,
-                                    script: "sudo docker run -v ~/.snapcraft:/snapcraft -v ${WORKSPACE}:/build " +
-                                    "-w /build snapcore/snapcraft:stable /bin/bash -c " +
-                                    "\"snapcraft login --with /snapcraft/config &>/dev/null && " +
-                                    "snapcraft revisions $snap\" | " +
-                                    "grep \" $track\" | tail -1 | awk '{print \$1}'").trim()
+                                    script: "snapcraft revisions $snap | " +
+                                    "grep \"$track\" | tail -1 | awk '{print \$1}'").trim()
+                                print "edge rev is $edge_rev"
                                 track=channel+"beta\\*"
                                 beta_rev=sh(returnStdout: true,
-                                    script: "sudo docker run -v ~/.snapcraft:/snapcraft -v ${WORKSPACE}:/build " +
-                                    "-w /build snapcore/snapcraft:stable /bin/bash -c " +
-                                    "\"snapcraft login --with /snapcraft/config &>/dev/null && " +
-                                    "snapcraft revisions $snap\" | " +
-                                    "grep \" $track\" | tail -1 | awk '{print \$1}'").trim()
+                                    script: "snapcraft revisions $snap | " +
+                                    "grep \"$track\" | tail -1 | awk '{print \$1}'").trim()
+                                print "beta rev is $beta_rev"
 
                                 if ( edge_rev != beta_rev ) {
                                     print "Promoting $edge_rev to beta in place of $beta_rev"
                                     beta_track=channel+"beta"
-                                    sh("sudo docker run -v ~/.snapcraft:/snapcraft -v ${WORKSPACE}:/build " +
-                                        "-w /build snapcore/snapcraft:stable /bin/bash -c " +
-                                        "\"snapcraft login --with /snapcraft/config &>/dev/null && " +
-                                        "snapcraft release $snap $edge_rev $beta_track\"")
+                                    sh "snapcraft release $snap $edge_rev $beta_track"
                                 }
                             }
                         }