| --- |
| # |
| # ============LICENSE_START======================================================= |
| # Copyright (C) 2019 Nordix Foundation. |
| # ================================================================================ |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # ============LICENSE_END========================================================= |
| |
| #-------------------------------------------------------------------------------------- |
| # The jobs declared in this JJB configuration file are used for deploying and testing |
| # Spinnaker using k8-calico-spinnaker scenario. |
| #-------------------------------------------------------------------------------------- |
| |
| - project: |
| name: 'cloud-infra-periodic-spinnaker' |
| |
| project: 'infra/engine' |
| |
| cloud: |
| - city: |
| slave-label: 'city-jumphost-ubuntu1804' |
| openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-onap' |
| daily-trigger: '@daily' |
| |
| spinnaker-branch: |
| - '1.16': |
| nordix-branch: master |
| engine-version: master |
| engine-refspec: master |
| deploy-scenario: 'k8-calico-spinnaker' |
| deploy-scenario-version: master |
| deploy-scenario-refspec: master |
| keypair-name: 'keypair-nordix-cicd-{deploy-scenario}-1_16' |
| disabled: false |
| delete-stack: 'yes' |
| |
| distro: |
| - ubuntu1804 |
| |
| ci-loop: |
| - daily |
| |
| type: |
| - cloud: |
| pod-name: est-cloud |
| provisioner-type: heat |
| installer-type: kubespray |
| |
| phase: |
| - spinnaker-deploy: |
| build-timeout: 60 |
| - spinnaker-test: |
| build-timeout: 60 |
| - promote-spinnaker: |
| build-timeout: 60 |
| |
| jobs: |
| - 'k8-calico-spinnaker-{distro}-{installer-type}-{cloud}-{type}-{ci-loop}-{spinnaker-branch}' |
| - '{phase}-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' |
| |
| - job-template: |
| name: 'k8-calico-spinnaker-{distro}-{installer-type}-{cloud}-{type}-{ci-loop}-{spinnaker-branch}' |
| |
| project-type: multijob |
| |
| disabled: '{obj:disabled}' |
| |
| concurrent: false |
| |
| parameters: |
| - project-parameters: |
| project: '{project}' |
| branch: '{nordix-branch}' |
| - nordix-gerrit-parameters |
| - label: |
| name: SLAVE_LABEL |
| default: '{slave-label}' |
| description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' |
| - string: |
| name: PROVISIONER_TYPE |
| default: 'heat' |
| description: 'Provisioner to use for provisioning nodes' |
| - string: |
| name: INSTALLER_TYPE |
| default: 'kubespray' |
| description: 'Installer to use for deploying the scenario' |
| - string: |
| name: DEPLOY_SCENARIO |
| default: 'k8-calico-spinnaker' |
| description: 'Scenario to deploy and test' |
| - string: |
| name: DEPLOY_TYPE |
| default: 'cloud' |
| description: 'Type of the deployment' |
| - string: |
| name: DISTRO |
| default: '{distro}' |
| description: 'Distribution to use for configuring target nodes (networking etc.)' |
| - string: |
| name: OPENSTACK_CLOUD_PROVIDER |
| default: '{cloud}' |
| description: 'Name of the cloud where this job is run' |
| - string: |
| name: SPINNAKER_VERSION |
| default: '{spinnaker-branch}' |
| description: 'Spinnaker version to deploy' |
| - string: |
| name: STACK_NAME |
| default: 'nordix-cicd-{deploy-scenario}-{spinnaker-branch}' |
| - string: |
| name: KEYPAIR_NAME |
| default: '{keypair-name}' |
| - string: |
| name: HEAT_ENVIRONMENT_FILENAME |
| default: "heat-environment-full.yaml" |
| description: 'Heat environment file to use for creating the stack' |
| - string: |
| name: ENGINE_VERSION |
| default: '{engine-version}' |
| description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying Spinnaker. Could be sha, branch' |
| - string: |
| name: ENGINE_REFSPEC |
| default: '{engine-refspec}' |
| description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying Spinnaker. Must be refspec.' |
| - string: |
| name: DEPLOY_SCENARIO_VERSION |
| default: '{deploy-scenario-version}' |
| description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying Spinnaker. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' |
| - string: |
| name: DEPLOY_SCENARIO_REFSPEC |
| default: '{deploy-scenario-refspec}' |
| description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying Spinnaker. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' |
| - string: |
| name: POD_NAME |
| default: '{pod-name}' |
| description: 'Development purposes only! Set to none for disabling test results DB reporting.' |
| - string: |
| name: DELETE_STACK |
| default: '{delete-stack}' |
| description: 'Development purposes only! Whether delete the stack or not. It must either be yes or no. Setting this to no will increase the cost!' |
| |
| properties: |
| - logrotate |
| - build-blocker: |
| use-build-blocker: true |
| blocking-jobs: |
| - 'cloud-infra-verify-engine-.*' |
| - 'cloud-infra-verify-scenario-.*' |
| - 'cloud-infra-periodic-engine-.*' |
| - 'onap-.*' |
| - 'k8-.*' |
| - 'os-.*' |
| - 'nolabs-.*' |
| block-level: 'NODE' |
| - throttle: |
| max-per-node: 1 |
| max-total: 1 |
| option: project |
| |
| wrappers: |
| - credentials-binding: |
| - file: |
| credential-id: '{openrc-credentials-file}' |
| variable: OPENRC_FILE |
| - mask-passwords |
| - build-timeout: |
| timeout: 630 |
| - fix-workspace-permissions |
| - openstack: |
| single-use: True |
| |
| triggers: |
| - timed: '{daily-trigger}' |
| |
| scm: |
| - git-scm: |
| ssh-credentials-id: nordixinfra-nordix-gerrit-ssh |
| branch: '{nordix-branch}' |
| refspec: '' |
| wipe_workspace: true |
| clean_before: false |
| |
| builders: |
| - description-setter: |
| description: $DEPLOY_SCENARIO | Spinnaker $SPINNAKER_VERSION |
| - shell: | |
| #!/bin/bash |
| /bin/rm -rf /tmp/openrc && /bin/cp -f $OPENRC_FILE /tmp/openrc |
| - multijob: |
| name: Deploy Spinnaker using Helm |
| condition: ALWAYS |
| projects: |
| - name: 'spinnaker-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' |
| current-parameters: false |
| predefined-parameters: | |
| DISTRO=$DISTRO |
| OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER |
| DEPLOY_TYPE=$DEPLOY_TYPE |
| PROVISIONER_TYPE=$PROVISIONER_TYPE |
| INSTALLER_TYPE=$INSTALLER_TYPE |
| DEPLOY_SCENARIO=$DEPLOY_SCENARIO |
| SPINNAKER_VERSION=$SPINNAKER_VERSION |
| POD_NAME=$POD_NAME |
| STACK_NAME=$STACK_NAME |
| HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME |
| ENGINE_VERSION=$ENGINE_VERSION |
| ENGINE_REFSPEC=$ENGINE_REFSPEC |
| DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION |
| DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC |
| git-revision: true |
| node-parameters: true |
| kill-phase-on: NEVER |
| abort-all-job: false |
| - multijob: |
| name: Test Spinnaker Deployment (not activated) |
| condition: ALWAYS |
| projects: |
| - name: 'spinnaker-test-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' |
| current-parameters: false |
| predefined-parameters: | |
| DISTRO=$DISTRO |
| OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER |
| DEPLOY_TYPE=$DEPLOY_TYPE |
| PROVISIONER_TYPE=$PROVISIONER_TYPE |
| INSTALLER_TYPE=$INSTALLER_TYPE |
| DEPLOY_SCENARIO=$DEPLOY_SCENARIO |
| SPINNAKER_VERSION=$SPINNAKER_VERSION |
| POD_NAME=$POD_NAME |
| STACK_NAME=$STACK_NAME |
| HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME |
| ENGINE_VERSION=$ENGINE_VERSION |
| ENGINE_REFSPEC=$ENGINE_REFSPEC |
| DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION |
| DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC |
| git-revision: true |
| node-parameters: true |
| kill-phase-on: NEVER |
| abort-all-job: false |
| - multijob: |
| name: Promote Spinnaker (not activated) |
| condition: ALWAYS |
| projects: |
| - name: 'promote-spinnaker-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' |
| current-parameters: false |
| predefined-parameters: | |
| DISTRO=$DISTRO |
| OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER |
| DEPLOY_TYPE=$DEPLOY_TYPE |
| PROVISIONER_TYPE=$PROVISIONER_TYPE |
| INSTALLER_TYPE=$INSTALLER_TYPE |
| DEPLOY_SCENARIO=$DEPLOY_SCENARIO |
| SPINNAKER_VERSION=$SPINNAKER_VERSION |
| POD_NAME=$POD_NAME |
| STACK_NAME=$STACK_NAME |
| HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME |
| ENGINE_VERSION=$ENGINE_VERSION |
| ENGINE_REFSPEC=$ENGINE_REFSPEC |
| DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION |
| DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC |
| git-revision: true |
| node-parameters: true |
| kill-phase-on: NEVER |
| abort-all-job: false |
| |
| publishers: |
| - postbuildscript: |
| builders: |
| - role: SLAVE |
| build-on: |
| - SUCCESS |
| - FAILURE |
| - ABORTED |
| - NOT_BUILT |
| - UNSTABLE |
| build-steps: |
| - shell: |
| !include-raw-escape: ./wait-for-pkg-manager.sh |
| - shell: |
| !include-raw: ./delete-heat-stack.sh |
| |
| - job-template: |
| name: '{phase}-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' |
| |
| disabled: false |
| |
| concurrent: false |
| |
| properties: |
| - logrotate |
| |
| parameters: |
| - project-parameters: |
| project: '{project}' |
| branch: '{nordix-branch}' |
| - nordix-gerrit-parameters |
| - label: |
| name: SLAVE_LABEL |
| default: 'city-jumphost-ubuntu1804' |
| description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' |
| - string: |
| name: PROVISIONER_TYPE |
| default: 'heat' |
| description: 'Provisioner to use for provisioning nodes' |
| - string: |
| name: INSTALLER_TYPE |
| default: 'kubespray' |
| description: 'Installer to use for deploying the scenario' |
| - string: |
| name: DEPLOY_SCENARIO |
| default: 'k8-calico-spinnaker' |
| description: 'Scenario to deploy and test' |
| - string: |
| name: DEPLOY_TYPE |
| default: 'cloud' |
| description: 'Type of the deployment' |
| - string: |
| name: DISTRO |
| default: '{distro}' |
| description: 'Distribution to use for configuring target nodes (networking etc.)' |
| - string: |
| name: OPENSTACK_CLOUD_PROVIDER |
| default: '{cloud}' |
| description: 'Name of the cloud where this job is run' |
| - string: |
| name: SPINNAKER_VERSION |
| default: '{spinnaker-branch}' |
| description: 'Spinnaker version to deploy' |
| - string: |
| name: STACK_NAME |
| default: 'nordix-cicd-{deploy-scenario}-{spinnaker-branch}' |
| - string: |
| name: HEAT_ENVIRONMENT_FILENAME |
| default: "heat-environment-full.yaml" |
| description: 'Heat environment filename to use for creating the stack' |
| - string: |
| name: HEAT_ENVIRONMENT_FILE |
| default: "file:///opt/engine/.cache/repos/swconfig/scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO/files/$HEAT_ENVIRONMENT_FILENAME" |
| description: 'Heat environment file location to use for creating the stack' |
| - string: |
| name: ENGINE_VERSION |
| default: '{engine-version}' |
| description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying Spinnaker. Could be sha, branch' |
| - string: |
| name: ENGINE_REFSPEC |
| default: '{engine-refspec}' |
| description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying Spinnaker. Must be refspec.' |
| - string: |
| name: DEPLOY_SCENARIO_VERSION |
| default: '{deploy-scenario-version}' |
| description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying Spinnaker. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' |
| - string: |
| name: DEPLOY_SCENARIO_REFSPEC |
| default: '{deploy-scenario-refspec}' |
| description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying Spinnaker. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' |
| - string: |
| name: POD_NAME |
| default: '{pod-name}' |
| description: 'Development purposes only! Set to none for disabling test results DB reporting.' |
| - string: |
| name: DELETE_STACK |
| default: '{delete-stack}' |
| description: 'Development purposes only! Whether delete the stack or not. It must either be yes or no. Setting this to no will increase the cost!' |
| |
| wrappers: |
| - mask-passwords |
| - build-timeout: |
| timeout: '{build-timeout}' |
| - fix-workspace-permissions |
| - credentials-binding: |
| - username-password-separated: |
| credential-id: 'nordix-cicd-arm-credentials' |
| username: NORDIX_ARM_USERNAME |
| password: NORDIX_ARM_TOKEN |
| - username-password-separated: |
| credential-id: 'nordix-cicd-harbor-credentials' |
| username: NORDIX_HARBOR_USERNAME |
| password: NORDIX_HARBOR_PASSWORD |
| |
| scm: |
| - git-scm: |
| ssh-credentials-id: nordixinfra-nordix-gerrit-ssh |
| branch: '{nordix-branch}' |
| refspec: '' |
| wipe_workspace: true |
| clean_before: false |
| |
| builders: |
| - description-setter: |
| description: $DEPLOY_SCENARIO | Spinnaker $SPINNAKER_VERSION | $OPENSTACK_CLOUD_PROVIDER |
| - '{phase}-macro' |
| |
| # vim: set ts=2 sw=2 expandtab: |