--- /dev/null
+---
+- job-template:
+ id: akraino-iec-install
+ name: 'iec-{iecType}-{installer}-{deploy_type}-{os}-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:
+ - '.*-fuel-{deploy_type}-.*'
+ - '.*-compass-{deploy_type}-.*'
+ block-level: 'NODE'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO $IEC_TYPE'
+
+ triggers:
+ - 'iec-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}-trigger'
+
+ 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}'
+
+ builders:
+ - trigger-builds:
+ - project: 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ current-parameters: true
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ - project: 'validation-enea-daily-{stream}'
+ same-node: true
+ current-parameters: true
+ predefined-parameters: |
+ CLUSTER_MASTER_IP=$K8S_MASTER_IP
+ CLUSTER_SSH_USER=$K8S_SSH_USER
+ CLUSTER_SSH_PASSWORD=$K8S_SSH_PASSWORD
+ CLUSTER_SSH_KEY=$K8S_SSH_KEY
+ BLUEPRINT={project-name}
+ LAYER=k8s
+ VERSION=master
+ OPTIONAL=false
+ 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:
+ id: akraino-iec-deploy
+ name: 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ concurrent: true
+ node: '{slave-label}'
+ properties: &properties
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '.*-{iecType}-deploy-{installer}-{deploy_type}-.*'
+ - '.*-{iecType}-destroy-{installer}-{deploy_type}-.*'
+ - '.*-{iecType}-install-.*-{installer}-{deploy_type}-.*'
+ block-level: 'NODE'
+
+ 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: '-o {os}'
+
+ wrappers: &wrappers
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO $IEC_TYPE'
+
+ 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: '{installer}'
+ steps:
+ - shell:
+ !include-raw-escape: ../iec/iec-compass-build.sh
+ - shell:
+ !include-raw-escape: ../iec/iec-compass-deploy.sh
+ - shell:
+ !include-raw-escape: ../iec/iec-fdn-install.sh
+ - conditional-step:
+ condition-kind: regex-match
+ regex: 'fuel'
+ label: '{installer}'
+ steps:
+ - shell:
+ !include-raw-escape: ../iec/iec-fuel-deploy.sh
+
+ publishers: &publishers
+ - email:
+ recipients: armband@enea.com
+ - lf-infra-publish
+
+- job-template:
+ id: akraino-iec-destroy
+ name: 'iec-{iecType}-destroy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ concurrent: true
+ node: '{slave-label}'
+ 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/iec-{installer}-destroy.sh
+
+ publishers: *publishers
+
+- job-template:
+ id: akraino-iec-install-usecase
+ name: 'iec-{iecType}-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}'
+ concurrent: true
+ node: '{slave-label}'
+ properties: *properties
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - '{project}-defaults'
+ - '{installer}-{os}-defaults'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${installer}-${deploy_type}'
+
+ scm: *scm
+
+ builders:
+ - shell:
+ !include-raw-escape: ../iec/iec-{usecase}.sh
+
+ publishers: *publishers
+