--- /dev/null
+---
+# ============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=========================================================
+
+- project:
+ name: 'openstack-deploy-test'
+
+ project: 'openstack-deploy-test'
+
+ stream:
+ - 'master':
+ branch: 'master'
+ deploy-scenario: 'os-nosdn-nofeature'
+ - 'train':
+ branch: 'train'
+ deploy-scenario: 'os-nosdn-nofeature'
+
+ distro:
+ - ubuntu1804
+
+ environment-type:
+ - offline:
+ disabled: false
+ execution-mode: offline-deployment
+ pdf: 'file:///opt/engine/offline/git/hwconfig/pods'
+ idf: 'file:///opt/engine/offline/git/hwconfig/pods'
+ openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
+
+ phase:
+ - deploy:
+ build-timeout: 120
+ execution-mode: offline-deployment
+ - functest:
+ build-timeout: 240
+ execution-mode: online-test
+ - yardstick:
+ build-timeout: 60
+ execution-mode: online-test
+
+ jobs:
+ - 'openstack-release-{environment-type}-deploy-test-{distro}-baremetal-{stream}'
+ - 'openstack-release-{environment-type}-{phase}-{distro}-baremetal-{stream}'
+
+- job-template:
+ name: 'openstack-release-{environment-type}-deploy-test-{distro}-baremetal-{stream}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ node: baremetal-deploy
+
+ concurrent: false
+
+ parameters:
+ - string:
+ name: EXECUTION_MODE
+ default: 'offline-deployment'
+ description: 'Engine execution mode'
+ - string:
+ name: PDF
+ default: '{pdf}/${{NODE_NAME}}-pdf.yml'
+ description: 'PDF file to use for deployment. DO NOT MODIFY!'
+ - string:
+ name: IDF
+ default: '{idf}/${{NODE_NAME}}-idf.yml'
+ description: 'IDF file to use for deployment. DO NOT MODIFY!'
+ - string:
+ name: SLAVE_LABEL
+ default: 'baremetal-deploy'
+ description: 'Type of the slave'
+
+ properties:
+ - logrotate
+ - throttle:
+ max-per-node: 1
+ max-total: 1
+ option: project
+
+ wrappers:
+ - build-timeout:
+ timeout: 300
+ - mask-passwords
+ - pre-scm-buildstep:
+ failOnError: true
+ buildsteps:
+ - shell: |
+ #!/bin/bash
+ sudo chown -R $USER:$USER $WORKSPACE || exit 1
+ # offline nodes can not resolve Nordix Artifactory and Gerrit
+ if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
+ echo "Info : Offline deployment. Adding City OpenStack Endpoint, Nordix Artifactory and Gerrit Public IP to /etc/hosts"
+ sudo sed -i 's/^search/# search/' /etc/resolv.conf
+ sudo bash -c "cat << EOF >> /etc/hosts
+ # managed by engine
+ 91.106.198.25 artifactory.nordix.org
+ 91.106.198.142 gerrit.nordix.org
+ 86.107.242.50 fra1.citycloud.com
+ # managed by engine
+ EOF"
+ # we need to get rid of search domain as well
+ sudo sed -i 's/^search/# search/' /etc/resolv.conf
+ fi
+
+ scm:
+ - git:
+ url: https://gerrit.nordix.org/infra/engine.git
+ branches:
+ - master
+ timeout: 15
+ wipe-workspace: true
+
+ builders:
+ - description-setter:
+ description: $DEPLOY_SCENARIO
+ - 'download-artifact-macro'
+ - multijob:
+ name: "Offline Deployment on Baremetal using {deploy-scenario}"
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'openstack-release-{environment-type}-deploy-{distro}-baremetal-{stream}'
+ current-parameters: true
+ git-revision: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: Functional Testing
+ condition: ALWAYS
+ projects:
+ - name: 'openstack-release-{environment-type}-functest-{distro}-baremetal-{stream}'
+ current-parameters: true
+ git-revision: false
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: Platform Benchmarking
+ condition: ALWAYS
+ projects:
+ - name: 'openstack-release-{environment-type}-yardstick-{distro}-baremetal-{stream}'
+ current-parameters: true
+ git-revision: false
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+
+- job-template:
+ name: 'openstack-release-{environment-type}-{phase}-{distro}-baremetal-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - string:
+ name: EXECUTION_MODE
+ default: '{execution-mode}'
+ description: 'Execution mode'
+ - string:
+ name: TEST_REPO_URL
+ default: 'https://gerrit.nordix.org/infra/test.git'
+ description: 'URL to clone the test repo from'
+ - string:
+ name: TEST_FW
+ default: '{phase}'
+ description: 'Test framework to use'
+ - string:
+ name: TEST_SUITE
+ default: 'smoke'
+ description: 'Test suite to run'
+ - string:
+ name: YARDSTICK_DISPATCHER
+ default: 'file'
+ description: 'Dispatcher to use for Yardstick reporting'
+
+ properties:
+ - logrotate
+ - throttle:
+ max-per-node: 1
+ max-total: 1
+ option: project
+
+ wrappers:
+ - build-timeout:
+ timeout: '{build-timeout}'
+ - mask-passwords
+ - fix-workspace-permissions
+ - credentials-binding:
+ - file:
+ credential-id: '{openrc-credentials-file}'
+ variable: OPENRC_FILE
+
+ builders:
+ - description-setter:
+ description: $DEPLOY_SCENARIO
+ - '{phase}-macro'
--- /dev/null
+---
+# ============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=========================================================
+
+- project:
+ name: 'openstack-release'
+
+ project: 'openstack-release'
+
+ stream:
+ - 'master':
+ branch: 'master'
+ deploy-scenario: 'os-nosdn-nofeature'
+ promote-stack: 'false'
+ - 'train':
+ branch: 'train'
+ deploy-scenario: 'os-nosdn-nofeature'
+ promote-stack: 'true'
+
+ environment-type:
+ - offline:
+ disabled: false
+ execution-mode: offline-deployment
+ openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
+
+ distro:
+ - ubuntu1804
+
+ jobs:
+ - 'openstack-release-{distro}-{stream}'
+ - 'openstack-package-{distro}-{stream}'
+ - 'openstack-promote-{distro}-{stream}'
+
+- job-template:
+ name: 'openstack-release-{distro}-{stream}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ node: 'engine-package-{distro}-fra'
+
+ concurrent: false
+
+ parameters:
+ - string:
+ name: BRANCH
+ default: '{branch}'
+ description: 'Branch the job is created for. DO NOT MODIFY!'
+ - string:
+ name: DISTRO
+ default: '{distro}'
+ description: 'Distribution to provision and configre target nodes with. DO NOT MODIFY!'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{deploy-scenario}'
+ description: 'Scenario to test change with. This depends on the branch of the stack.'
+ - string:
+ name: CI_LOOP
+ default: 'release'
+ description: 'CI loop type. DO NOT MODIFY!'
+ - string:
+ name: VERBOSITY
+ default: 'false'
+ description: 'Engine verbosity'
+ - string:
+ name: NORDIX_ENGINE_VERSION
+ default: 'master'
+ description: 'Engine version of engine to package, deploy, test, release'
+ - string:
+ name: STACK_TYPE
+ default: 'openstack'
+ description: 'Stack to package, deploy, test, release'
+ - string:
+ name: STACK_VERSION
+ default: '{branch}'
+ description: 'Stack version of engine to package, deploy, test, release'
+ - string:
+ name: NORDIX_KOLLA_VERSION
+ default: '{branch}'
+ description: 'Kolla version of engine to package, deploy, test, release'
+ - string:
+ name: NORDIX_BIFROST_VERSION
+ default: 'master'
+ description: 'Bifrost version of engine to package, deploy, test, release'
+ - string:
+ name: PROMOTE_STACK
+ default: '{promote-stack}'
+ description: 'Heat version of engine to package, deploy, test, release'
+
+ properties:
+ - logrotate
+ # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ max-total: 1
+ option: category
+ categories:
+ - engine-verify-package
+
+ wrappers:
+ - build-timeout:
+ timeout: 600
+ - mask-passwords
+ - fix-workspace-permissions
+ - openstack:
+ single-use: True
+
+ triggers:
+ - pollscm:
+ cron: "#H 0,8,16 * * *"
+
+ scm:
+ - git:
+ url: https://gerrit.nordix.org/infra/engine.git
+ branches:
+ - master
+ timeout: 15
+ wipe-workspace: true
+
+ builders:
+ - 'generate-release-metadata-macro'
+ - inject:
+ properties-file: "$WORKSPACE/release.properties"
+ - 'generate-ssh-keypair-macro'
+ - 'wait-pkg-mgr-macro'
+ - multijob:
+ name: Packaging
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'openstack-package-{distro}-{stream}'
+ current-parameters: false
+ git-revision: true
+ node-parameters: true
+ property-file: "$WORKSPACE/release.properties"
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: Release Test {deploy-scenario}
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'openstack-release-offline-deploy-test-{distro}-baremetal-{stream}'
+ current-parameters: false
+ git-revision: true
+ node-parameters: false
+ property-file: "$WORKSPACE/release.properties"
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: Promotion
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'openstack-promote-{distro}-{stream}'
+ current-parameters: false
+ git-revision: true
+ node-parameters: true
+ property-file: "$WORKSPACE/release.properties"
+ kill-phase-on: FAILURE
+ abort-all-job: true
+
+- job-template:
+ name: 'openstack-package-{distro}-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ parameters:
+ - string:
+ name: EXECUTION_MODE
+ default: 'packaging'
+ description: 'Execution mode to run engine'
+
+ properties:
+ - logrotate
+
+ wrappers:
+ - build-timeout:
+ timeout: 70
+ - credentials-binding:
+ - username-password-separated:
+ credential-id: 'nordix-cicd-arm-credentials'
+ username: NORDIX_ARM_USERNAME
+ password: NORDIX_ARM_TOKEN
+ - mask-passwords
+ - fix-workspace-permissions
+
+ scm:
+ - git:
+ url: https://gerrit.nordix.org/infra/engine.git
+ branches:
+ - master
+ timeout: 15
+ wipe-workspace: true
+
+ builders:
+ - 'package-macro'
+ - 'upload-artifact-macro'
+
+- job-template:
+ name: 'openstack-promote-{distro}-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ properties:
+ - logrotate
+
+ wrappers:
+ - build-timeout:
+ timeout: 30
+ - credentials-binding:
+ - username-password-separated:
+ credential-id: 'nordix-cicd-arm-credentials'
+ username: NORDIX_ARM_USERNAME
+ password: NORDIX_ARM_TOKEN
+ - mask-passwords
+ - fix-workspace-permissions
+
+ scm:
+ - git:
+ url: https://gerrit.nordix.org/infra/engine.git
+ branches:
+ - master
+ timeout: 15
+ wipe-workspace: true
+
+ builders:
+ - 'promote-macro'