improvement:devops code related to docker clean and email notification
[osm/devops.git] / jenkins / ci-pipelines / ci_stage_3.groovy
index 9620ead..c8cecf8 100644 (file)
  *   License for the specific language governing permissions and limitations
  *   under the License.
  */
-
+/* Change log:
+ * 1. Bug 745 : Jayant Madavi : JM00553988@techmahindra.com : 23-july-2019 : Improvement to the code, typically we have 2 or  
+ *    more branches whose build gets triggered, ex master & release branch, the previous code was removing any/all docker. 
+ *       Now removing previous docker of the same branch, so that the other branch failed docker should not be removed. It also 
+ *    acts as clean-up for previous docker remove failure.
+ */
 properties([
     parameters([
         string(defaultValue: env.GERRIT_BRANCH, description: '', name: 'GERRIT_BRANCH'),
@@ -229,7 +235,9 @@ node("${params.NODE}") {
                     {
                         repo_base_url = "-u ${params.REPOSITORY_BASE}"
                     }
-                    sh "docker stack list |  awk '{ print \$1 }'| xargs docker stack rm"
+                                       if ( params.DO_STAGE_4 ) {
+                        sh "docker stack list |grep "${container_name_prefix}"|  awk '{ print \$1 }'| xargs docker stack rm"
+                                       }
                     sh """
                         export PATH=$PATH:/snap/bin
                         installers/full_install_osm.sh -y -s ${container_name} --test --nolxd --nodocker --nojuju --nohostports --nohostclient \
@@ -256,7 +264,10 @@ node("${params.NODE}") {
 
                     if ( ! currentBuild.result.equals('UNSTABLE') ) {
                         stage_archive = keep_artifacts
-                    }
+                    } else {
+                                          error = new Exception("Smoke test failed")
+                                          currentBuild.result = 'FAILURE'
+                                       }
                 }
             }
 
@@ -268,7 +279,10 @@ node("${params.NODE}") {
 
                     if ( ! currentBuild.result.equals('UNSTABLE') ) {
                         stage_archive = keep_artifacts
-                    }
+                    } else {
+                                          error = new Exception("Systest test failed")
+                                          currentBuild.result = 'FAILURE'
+                                       }
                 }
             }