[iec] Add Fuel uninstall script & build step 47/947/3
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Mon, 27 May 2019 15:47:28 +0000 (17:47 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Wed, 5 Jun 2019 14:43:00 +0000 (16:43 +0200)
- add iec-fuel-destroy.sh, responsible for uninstalling Fuel resources
  from the jumpserver;
- move Compass uninstall step after usecase(s) step(s);
- rework `deploy_type` matrix to be installer-agnostic and introduce
  a new `installer` matrix;
- add blocking threshold for usecase(s) step(s) so destroy step is
  always performed;

Change-Id: Ifaba336e436131a8ac9e871e706c0b8234b617ed
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
jjb/iec/iec-fuel-destroy.sh [new symlink]
jjb/iec/iec.yaml

diff --git a/jjb/iec/iec-fuel-destroy.sh b/jjb/iec/iec-fuel-destroy.sh
new file mode 120000 (symlink)
index 0000000..e0a1962
--- /dev/null
@@ -0,0 +1 @@
+iec-fuel-deploy.sh
\ No newline at end of file
index c63f546..8ec06aa 100644 (file)
           gs-pathname: ''
           disabled: false
 
+    # -------------------------------
+    # INSTALLER DEFINITIONS
+    # -------------------------------
+    installer:
+      - fuel
+      - compass
+
     # -------------------------------
     # DEPLOY TYPE DEFINITIONS
     # -------------------------------
     deploy_type:
-      - fuel-baremetal:
+      - baremetal:
           slave-label: 'aarch64_dev'
           scenario: 'k8-calico-iec-noha'
-      - fuel-virtual:
-          slave-label: 'aarch64_dev'
-          scenario: 'k8-calico-iec-noha'
-      - compass-virtual:
+      - virtual:
           slave-label: 'aarch64_dev'
           scenario: 'k8-calico-iec-noha'
 
+    exclude:
+      # Compass does not run against baremetal PODs yet
+      - installer: compass
+        deploy_type: baremetal
+
     # -------------------------------
     # USECASE DEFINITIONS
     # -------------------------------
           scenario: 'k8-calico-iec-noha'
 
     jobs:
-      - 'iec-{deploy_type}-daily-{stream}'
-      - 'iec-deploy-{deploy_type}-daily-{stream}'
-      - 'iec-install-{usecase}-{deploy_type}-daily-{stream}'
+      - 'iec-{installer}-{deploy_type}-daily-{stream}'
+      - 'iec-deploy-{installer}-{deploy_type}-daily-{stream}'
+      - 'iec-destroy-{installer}-{deploy_type}-daily-{stream}'
+      - 'iec-install-{usecase}-{installer}-{deploy_type}-daily-{stream}'
 
 ##############
 # PARAMETERS #
@@ -87,7 +97,7 @@
 # job templates
 ########################
 - job-template:
-    name: 'iec-{deploy_type}-daily-{stream}'
+    name: 'iec-{installer}-{deploy_type}-daily-{stream}'
     disabled: '{obj:disabled}'
     concurrent: false
     node: '{slave-label}'
       - build-blocker:
           use-build-blocker: true
           blocking-jobs:
-            - '.*-{deploy_type}-daily-.*'
+            - '.*-fuel-{deploy_type}-daily-.*'
+            - '.*-compass-{deploy_type}-daily-.*'
           blocking-level: 'NODE'
 
     wrappers:
           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
     triggers:
-      - 'iec-{deploy_type}-daily-{stream}-trigger'
+      - 'iec-{installer}-{deploy_type}-daily-{stream}-trigger'
 
     parameters:
       - lf-infra-parameters:
 
     builders:
       - trigger-builds:
-          - project: 'iec-deploy-{deploy_type}-daily-{stream}'
+          - project: 'iec-deploy-{installer}-{deploy_type}-daily-{stream}'
             current-parameters: false
             predefined-parameters:
               DEPLOY_SCENARIO={scenario}
           - project:
               !j2: |
                 {%- for uc in usecase -%}
-                iec-install-{{ uc | first }}-{{ deploy_type }}-daily-{{ stream }}
+                iec-install-{{ uc | first }}-{{ installer }}-{{ deploy_type }}-daily-{{ stream }}
                 {%- if not loop.last -%},{%- endif -%}
                 {%- endfor %}
             current-parameters: false
             same-node: true
             block: true
+            block-thresholds:
+              build-step-failure-threshold: 'never'
+              failure-threshold: 'never'
+              unstable-threshold: 'FAILURE'
+          - project: 'iec-destroy-{installer}-{deploy_type}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters:
+              DEPLOY_SCENARIO={scenario}
+            same-node: true
+            block: true
 
 - job-template:
-    name: 'iec-deploy-{deploy_type}-daily-{stream}'
+    name: 'iec-deploy-{installer}-{deploy_type}-daily-{stream}'
     concurrent: true
     node: '{slave-label}'
-    properties:
+    properties: &properties
       - throttle:
           enabled: true
           max-total: 4
       - build-blocker:
           use-build-blocker: true
           blocking-jobs:
-            - '.*-deploy-{deploy_type}-daily-*'
+            - '.*-deploy-{installer}-{deploy_type}-daily-.*'
+            - '.*-destroy-{installer}-{deploy_type}-daily-.*'
+            - '.*-install-.*-{installer}-{deploy_type}-daily-.*'
           blocking-level: 'NODE'
 
     parameters:
           name: DEPLOY_SCENARIO
           default: '{scenario}'
 
-    wrappers:
+    wrappers: &wrappers
       - build-name:
           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
           description: "POD: $NODE_NAME"
       - conditional-step:
           condition-kind: regex-match
-          regex: 'compass-.*'
-          label: '{deploy_type}'
+          regex: 'compass'
+          label: '{installer}'
           steps:
             - shell:
                 !include-raw-escape: ./iec-compass-build.sh
                 !include-raw-escape: ./iec-compass-deploy.sh
             - shell:
                 !include-raw-escape: ./iec-fdn-install.sh
-            - shell:
-                !include-raw-escape: ./iec-compass-destroy.sh
       - conditional-step:
           condition-kind: regex-match
-          regex: 'fuel-.*'
-          label: '{deploy_type}'
+          regex: 'fuel'
+          label: '{installer}'
           steps:
             - shell:
                 !include-raw-escape: ./iec-fuel-deploy.sh
 
-    publishers:
+    publishers: &publishers
       - email:
           recipients: armband@enea.com
       - lf-infra-publish
 
 - job-template:
-    name: 'iec-install-{usecase}-{deploy_type}-daily-{stream}'
+    name: 'iec-destroy-{installer}-{deploy_type}-daily-{stream}'
     concurrent: true
     node: '{slave-label}'
-    properties:
-      - throttle:
-          enabled: true
-          max-total: 4
-          max-per-node: 1
-          option: 'project'
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - '.*-deploy-{deploy_type}-daily-*'
-            - '.*-install-{usecase}-{deploy_type}-daily-*'
-          blocking-level: 'NODE'
+    properties: *properties
+    parameters:
+      - lf-infra-parameters:
+          project: '{project}'
+          stream: '{stream}'
+          branch: '{branch}'
+      - '{project}-defaults'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
+      - string:
+          name: EXTRA_ARGS
+          default: '-EEE'
+
+    wrappers: *wrappers
+    scm: *scm
+
+    builders:
+      - description-setter:
+          description: "POD: $NODE_NAME"
+      - shell:
+          !include-raw-escape: ./iec-{installer}-destroy.sh
+
+    publishers: *publishers
+
+- job-template:
+    name: 'iec-install-{usecase}-{installer}-{deploy_type}-daily-{stream}'
+    concurrent: true
+    node: '{slave-label}'
+    properties: *properties
 
     parameters:
       - lf-infra-parameters:
 
     wrappers:
       - build-name:
-          name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${deploy_type}'
+          name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${installer}-${deploy_type}'
 
     scm: *scm
 
       - shell:
           !include-raw-escape: ./iec-{usecase}.sh
 
-    publishers:
-      - email:
-          recipients: armband@enea.com
-      - lf-infra-publish
+    publishers: *publishers
 
 ########################
 # trigger macros