Enabling local environment
[ci-management.git] / jjb / iec / iec.yaml
index b0cc699..0e6308c 100644 (file)
           gs-pathname: ''
           disabled: false
 
+    # -------------------------------
+    # INSTALLER DEFINITIONS
+    # -------------------------------
+    installer:
+      - fuel
+      - compass
+
     # -------------------------------
     # DEPLOY TYPE DEFINITIONS
     # -------------------------------
-    deploy-type:
-      - fuel-baremetal:
+    deploy_type:
+      - baremetal:
           slave-label: 'aarch64_dev'
           scenario: 'k8-calico-iec-noha'
-      - fuel-virtual:
+      - virtual:
           slave-label: 'aarch64_dev'
           scenario: 'k8-calico-iec-noha'
-      - compass-virtual:
+
+    exclude:
+      # Compass does not run against baremetal PODs yet
+      - installer: compass
+        deploy_type: baremetal
+
+    # -------------------------------
+    # USECASE DEFINITIONS
+    # -------------------------------
+    usecase:
+      - seba_on_arm:
           slave-label: 'aarch64_dev'
           scenario: 'k8-calico-iec-noha'
 
     jobs:
-      - 'iec-{deploy-type}-daily-{stream}'
-      - 'iec-deploy-{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 #
@@ -44,7 +63,7 @@
           description: 'IP of the installer'
       - string:
           name: SSH_KEY
-          default: "/var/lib/opnfv/mcp.rsa"
+          default: '/var/lib/opnfv/mcp.rsa'
           description: 'Path to private SSH key to access environment nodes'
       - string:
           name: EXTERNAL_NETWORK
       - string:
           name: CI_DEBUG
           default: 'false'
-          description: "Show debug output information"
+          description: 'Show debug output information'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '**/*.log'
+          description: Artifacts to archive to the logs server.
+- parameter:
+    name: 'seba_on_arm-defaults'
+    parameters:
+      - string:
+          name: K8S_SSH_USER
+          default: 'ubuntu'
+          description: 'SSH username to connect to the K8s master '
+      - string:
+          name: K8S_SSH_PASSWORD
+          default: ''
+          description: 'SSH password to connect to the K8s master'
+      - string:
+          name: K8S_SSH_KEY
+          default: ''
+          description: 'SSH key to connect to the K8s master'
+      - string:
+          name: K8S_MASTER_IP_COMPASS
+          default: '10.1.0.50'
+          description: 'IP address to compass connect to the K8s master'
+      - string:
+          name: K8S_SSH_PASSWORD_COMPASS
+          default: 'root'
+          description: 'SSH password to compass connect to the K8s master'
+      - string:
+          name: K8S_SSH_USER_COMPASS
+          default: 'root'
+          description: 'SSH username to compass connect to the K8s master'
 
 ########################
 # 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:
       - '{project}-defaults'
       - string:
           name: DEPLOY_SCENARIO
-          default: 'k8-calico-iec-noha'
+          default: '{scenario}'
 
     builders:
       - trigger-builds:
-          - project: 'iec-deploy-{deploy-type}-daily-{stream}'
+          - project: 'iec-deploy-{installer}-{deploy_type}-daily-{stream}'
             current-parameters: false
-            predefined-parameters: |
+            predefined-parameters:
+              DEPLOY_SCENARIO={scenario}
+            same-node: true
+            block: true
+          - project:
+              !j2: |
+                {%- for uc in usecase -%}
+                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}
-              INSTALLER_VERSION={stream}
             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:
       - '{project}-defaults'
       - string:
           name: DEPLOY_SCENARIO
-          default: 'k8-calico-iec-noha'
+          default: '{scenario}'
 
-    wrappers:
+    wrappers: &wrappers
       - build-name:
           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
-    scm:
+    scm: &scm
       - git:
           credentials-id: '{jenkins-ssh-credential}'
           url: '{git-url}/{project}.git'
           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
             - shell:
                 !include-raw-escape: ./iec-compass-deploy.sh
             - shell:
-                !include-raw-escape: ./iec-compass-destroy.sh
+                !include-raw-escape: ./iec-fdn-install.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-destroy-{installer}-{deploy_type}-daily-{stream}'
+    concurrent: true
+    node: '{slave-label}'
+    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:
+          project: '{project}'
+          stream: '{stream}'
+          branch: '{branch}'
+      - '{project}-defaults'
+      - '{usecase}-defaults'
+
+    wrappers:
+      - build-name:
+          name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${installer}-${deploy_type}'
+
+    scm: *scm
+
+    builders:
+      - shell:
+          !include-raw-escape: ./iec-{usecase}.sh
+
+    publishers: *publishers
 
 ########################
 # trigger macros