Merge "iec: exclude seba_on_arm from virtual PODs"
[ci-management.git] / jjb / iec / iec.yaml
index faab545..36b7cfb 100644 (file)
@@ -4,7 +4,9 @@
     project-name: 'iec'
     project: '{project-name}'
     views:
-      - project-view
+      - common-view:
+          view-name: iec
+          view-regex: '^{project-name}-(tox|type1|type2)-(verify|fuel|compass)-.*'
     # -------------------------------
     # BRANCH DEFINITIONS
     # -------------------------------
           disabled: false
 
     # -------------------------------
+    # INSTALLER DEFINITIONS
+    # -------------------------------
+    installer:
+      - fuel
+      - compass
+
+    # -------------------------------
+    # OPERATING SYSTEM DEFINITIONS
+    # -------------------------------
+    os:
+      - ubuntu1604
+      - ubuntu1804
+      - centos7
+    #--------------------------------
+    # IEC TYPE DEFINITINONS
+    # type1 Mcbin embeded board
+    # type2 Arm Server
+    # -------------------------------
+    iecType:
+      - type1
+      - type2
+    # -------------------------------
     # DEPLOY TYPE DEFINITIONS
     # -------------------------------
-    deploy-type:
-      - fuel-baremetal:
-          slave-label: 'aarch64_dev'
-          scenario: 'k8-calico-iec-noha'
-      - fuel-virtual:
-          slave-label: 'aarch64_dev'
+    deploy_type:
+      - baremetal:
+          slave-label: 'aarch64_baremetal_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
+      - installer: compass
+        os: centos7
+      - installer: compass
+        os: ubuntu1804
+      - iecType: type1
+        installer: fuel
+      # Fuel baremetal provisioning only supports Ubuntu 18.04
+      - installer: fuel
+        deploy_type: baremetal
+        os: centos7
+      - installer: fuel
+        deploy_type: baremetal
+        os: ubuntu1604
+      # SEBA on virtual PODs should be excluded
+      - deploy_type: virtual
+        usecase: seba_on_arm
+
     # -------------------------------
     # 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-install-{usecase}-{deploy-type}-daily-{stream}'
-
-##############
-# PARAMETERS #
-##############
-- parameter:
-    name: 'iec-defaults'
-    parameters:
-      - string:
-          name: INSTALLER_IP
-          default: '10.20.0.2'
-          description: 'IP of the installer'
-      - string:
-          name: SSH_KEY
-          default: '/var/lib/opnfv/mcp.rsa'
-          description: 'Path to private SSH key to access environment nodes'
-      - string:
-          name: EXTERNAL_NETWORK
-          default: 'floating_net'
-          description: 'external network for test'
-      - string:
-          name: CI_DEBUG
-          default: 'false'
-          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'
-
-########################
-# job templates
-########################
-- job-template:
-    name: 'iec-{deploy-type}-daily-{stream}'
-    disabled: '{obj:disabled}'
-    concurrent: false
-    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-type}-daily-.*'
-          blocking-level: 'NODE'
+      - seba_on_arm
 
-    wrappers:
-      - build-name:
-          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+    phase:
+      - install
+      - test
 
-    triggers:
-      - 'iec-{deploy-type}-daily-{stream}-trigger'
-
-    parameters:
-      - lf-infra-parameters:
-          project: '{project}'
-          stream: '{stream}'
-          branch: '{branch}'
-      - '{project}-defaults'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: '{scenario}'
-
-    builders:
-      - trigger-builds:
-          - project: 'iec-deploy-{deploy-type}-daily-{stream}'
-            current-parameters: false
-            predefined-parameters: |
-              DEPLOY_SCENARIO={scenario}
-            same-node: true
-            block: true
-          - project: 'iec-install-{usecase}-daily-{stream}'
-            current-parameters: false
-            same-node: true
-            block: true
-
-- job-template:
-    name: 'iec-deploy-{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-*'
-          blocking-level: 'NODE'
-
-    parameters:
-      - lf-infra-parameters:
-          project: '{project}'
-          stream: '{stream}'
-          branch: '{branch}'
-      - '{project}-defaults'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: '{scenario}'
-
-    wrappers:
-      - build-name:
-          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
-    scm: &scm
-      - git:
-          credentials-id: '{jenkins-ssh-credential}'
-          url: '{git-url}/{project}.git'
-          refspec: ''
-          branches:
-            - 'refs/heads/{branch}'
-          skip-tag: true
-          wipe-workspace: true
-          submodule:
-            disable: true
-            recursive: false
-            timeout: '{submodule-timeout}'
-          choosing-strategy: default
-
-    builders:
-      - description-setter:
-          description: "POD: $NODE_NAME"
-      - conditional-step:
-          condition-kind: regex-match
-          regex: 'compass-.*'
-          label: '{deploy-type}'
-          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
-      - conditional-step:
-          condition-kind: regex-match
-          regex: 'fuel-.*'
-          label: '{deploy-type}'
-          steps:
-            - shell:
-                !include-raw-escape: ./iec-fuel-deploy.sh
-
-    publishers:
-      - email:
-          recipients: armband@enea.com
-      - lf-infra-publish
-
-- job-template:
-    name: 'iec-install-{usecase}-{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'
-
-    parameters:
-      - lf-infra-parameters:
-          project: '{project}'
-          stream: '{stream}'
-          branch: '{branch}'
-      - '{project}-defaults'
-      - '{usecase}-defaults'
-
-    wrappers:
-      - build-name:
-          name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${deploy-type}'
-
-    scm: *scm
-
-    builders:
-      - shell:
-          !include-raw-escape: ./iec-{usecase}.sh
-
-    publishers:
-      - email:
-          recipients: armband@enea.com
-      - lf-infra-publish
-
-########################
-# trigger macros
-########################
-# CI PODs
-# ----------------------------------------------------------------
-# Akraino IEC CI Baremetal Triggers running against master branch
-# ----------------------------------------------------------------
-- trigger:
-    name: 'iec-fuel-virtual-daily-master-trigger'
-    triggers:
-      - timed: '0 1 * * *'
-- trigger:
-    name: 'iec-fuel-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'iec-compass-virtual-daily-master-trigger'
-    triggers:
-      - timed: '0 13 * * *'
+    jobs:
+      - akraino-iec-install
+      - akraino-iec-deploy
+      - akraino-iec-destroy
+      - akraino-iec-phase-usecase
+      - gerrit-sonar:
+          sonar-project-file: ""
+          build-node: centos7-builder-2c-1g
+          sonar-properties: |
+            # Required metadata
+            sonar.projectKey=iec
+            sonar.projectName=iec
+            sonar.organization=akraino-edge-stack
+
+            #Source
+            sonar.sources=.
+            sonar.exclusions=**/*_test.go,**/vendor/**
+
+            # Language
+            sonar.language=go
+
+            # Encoding
+            sonar.build.sourceEncoding=UTF-8
+
+            # Inclusions
+            sonar.inclusions=**/**.go
+
+            # Test Execution
+            sonar.tests=.
+            sonar.test.inclusions=**/*_test.go
+            sonar.test.exclusions=**/vendor/**