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:
+ deploy_type:
+ - 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
+ - installer: compass
+ os: centos7
+ - installer: compass
+ os: ubuntu1804
+ - iecType: type1
+ installer: fuel
+
# -------------------------------
# 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-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}'
+ - 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ - 'iec-{iecType}-destroy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ - 'iec-{iecType}-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}'
+ - 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/**
+
##############
# PARAMETERS #
name: ARCHIVE_ARTIFACTS
default: '**/*.log'
description: Artifacts to archive to the logs server.
-- parameter:
- name: 'seba_on_arm-defaults'
+# Usecase params are both installer and OS specific
+- parameter: &k8s_fuel_ubuntu1604_parameter
+ name: 'fuel-ubuntu1604-defaults'
parameters:
- - string:
+ - string: &k8s_master_ip
+ name: K8S_MASTER_IP
+ default: '172.16.10.36'
+ description: 'IP address to connect to the K8s master'
+ - string: &k8s_ssh_user
name: K8S_SSH_USER
default: 'ubuntu'
description: 'SSH username to connect to the K8s master '
- - string:
+ - string: &k8s_ssh_password
name: K8S_SSH_PASSWORD
default: ''
description: 'SSH password to connect to the K8s master'
- - string:
+ - string: &k8s_ssh_key
name: K8S_SSH_KEY
- default: ''
+ default: '/var/lib/opnfv/mcp.rsa'
description: 'SSH key to connect to the K8s master'
+- parameter:
+ <<: *k8s_fuel_ubuntu1604_parameter
+ name: 'fuel-ubuntu1804-defaults'
+- parameter:
+ name: 'fuel-centos7-defaults'
+ parameters:
+ - string:
+ <<: *k8s_master_ip
+ - string:
+ <<: *k8s_ssh_user
+ default: 'centos'
+ - string:
+ <<: *k8s_ssh_password
+ - string:
+ <<: *k8s_ssh_key
+- parameter:
+ name: 'compass-ubuntu1604-defaults'
+ parameters:
+ - string:
+ <<: *k8s_master_ip
+ default: '10.1.0.50'
+ - string:
+ <<: *k8s_ssh_user
+ default: 'root'
+ - string:
+ <<: *k8s_ssh_password
+ default: 'root'
+ - string:
+ <<: *k8s_ssh_key
########################
# job templates
########################
- job-template:
- name: 'iec-{deploy-type}-daily-{stream}'
+ name: 'iec-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}'
disabled: '{obj:disabled}'
concurrent: false
node: '{slave-label}'
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - '.*-{deploy-type}-daily-.*'
- blocking-level: 'NODE'
+ - '.*-fuel-{deploy_type}-.*'
+ - '.*-compass-{deploy_type}-.*'
+ block-level: 'NODE'
wrappers:
- build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO $IEC_TYPE'
triggers:
- - 'iec-{deploy-type}-daily-{stream}-trigger'
+ - 'iec-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}-trigger'
parameters:
- lf-infra-parameters:
stream: '{stream}'
branch: '{branch}'
- '{project}-defaults'
+ - '{installer}-{os}-defaults'
- string:
name: DEPLOY_SCENARIO
default: '{scenario}'
+ - string:
+ name: IEC_TYPE
+ default: '{iecType}'
builders:
- trigger-builds:
- - project: 'iec-deploy-{deploy-type}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
+ - project: 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ current-parameters: true
+ predefined-parameters:
DEPLOY_SCENARIO={scenario}
same-node: true
block: true
- - project: 'iec-install-{usecase}-daily-{stream}'
+ - project: 'validation-enea-daily-{stream}'
+ same-node: true
+ current-parameters: true
+ predefined-parameters: |
+ BLUEPRINT={project-name}
+ LAYER=k8s
+ VERSION=master
+ OPTIONAL=yes
+ block: true
+ - project:
+ !j2: |
+ {%- for uc in usecase -%}
+ iec-{{ iecType }}-install-{{ uc | first }}-{{ installer }}-{{ deploy_type }}-{{ os }}-daily-{{ stream }}
+ {%- if not loop.last -%},{%- endif -%}
+ {%- endfor %}
+ current-parameters: true
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - project: 'iec-{iecType}-destroy-{installer}-{deploy_type}-{os}-daily-{stream}'
current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO={scenario}
+ IEC_TYPE={iecType}
same-node: true
block: true
- job-template:
- name: 'iec-deploy-{deploy-type}-daily-{stream}'
+ name: 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-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-*'
- blocking-level: 'NODE'
+ - '.*-{iecType}-deploy-{installer}-{deploy_type}-.*'
+ - '.*-{iecType}-destroy-{installer}-{deploy_type}-.*'
+ - '.*-{iecType}-install-.*-{installer}-{deploy_type}-.*'
+ block-level: 'NODE'
parameters:
- lf-infra-parameters:
stream: '{stream}'
branch: '{branch}'
- '{project}-defaults'
+ - '{installer}-{os}-defaults'
- string:
name: DEPLOY_SCENARIO
default: '{scenario}'
+ - string:
+ name: IEC_TYPE
+ default: '{iecType}'
+ - string:
+ name: EXTRA_ARGS
+ default: '-o {os}'
- wrappers:
+ wrappers: &wrappers
- build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO $IEC_TYPE'
scm: &scm
- 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-install-{usecase}-{deploy-type}-daily-{stream}'
+ name: 'iec-{iecType}-destroy-{installer}-{deploy_type}-{os}-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'
+ - '{installer}-{os}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - string:
+ name: IEC_TYPE
+ default: '{iecType}'
+ - string:
+ name: EXTRA_ARGS
+ default: '-EEE -o {os}'
+
+ 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-{iecType}-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}'
+ concurrent: true
+ node: '{slave-label}'
+ properties: *properties
parameters:
- lf-infra-parameters:
stream: '{stream}'
branch: '{branch}'
- '{project}-defaults'
- - '{usecase}-defaults'
+ - '{installer}-{os}-defaults'
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
# Akraino IEC CI Baremetal Triggers running against master branch
# ----------------------------------------------------------------
- trigger:
- name: 'iec-fuel-virtual-daily-master-trigger'
+ name: 'iec-type2-fuel-virtual-ubuntu1604-daily-master-trigger'
triggers:
- - timed: '0 1 * * *'
+ - timed: '0 1 * * 1,3,5'
- trigger:
- name: 'iec-fuel-baremetal-daily-master-trigger'
+ name: 'iec-type2-fuel-baremetal-ubuntu1604-daily-master-trigger'
triggers:
- timed: ''
- trigger:
- name: 'iec-compass-virtual-daily-master-trigger'
+ name: 'iec-type2-compass-virtual-ubuntu1604-daily-master-trigger'
triggers:
- timed: '0 13 * * *'
+- trigger:
+ name: 'iec-type2-fuel-virtual-ubuntu1804-daily-master-trigger'
+ triggers:
+ - timed: '0 1 * * 2,6'
+- trigger:
+ name: 'iec-type2-fuel-baremetal-ubuntu1804-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'iec-type2-fuel-virtual-centos7-daily-master-trigger'
+ triggers:
+ - timed: '0 1 * * 4,7'
+- trigger:
+ name: 'iec-type2-fuel-baremetal-centos7-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'iec-type1-compass-virtual-ubuntu1604-daily-master-trigger'
+ triggers:
+ - timed: '0 19 * * *'