Also removing noLabs jobs as they are also not used and depended on infra-engine
Change-Id: I8794fbbcca8fdb0981a7c9be0fdef798efdb5b45
Signed-off-by: afenner <Andrew.fenner@est.tech>
+++ /dev/null
----
-# ============LICENSE_START=======================================================
-# Copyright (C) 2020 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=========================================================
-
-# A project to remove any CI stacks that are left overnight. The domain
-# reason they would be left is for troubleshooting where the
-# DELETE_STACK option was set to false
-- project:
- name: 'cloud-infra-cleanup-stacks'
-
- project: 'cloud-infra-cleanup-stacks'
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
-
- jobs:
- - 'cloud-infra-cleanup-stack-{cloud}'
-
-- job-template:
- name: 'cloud-infra-cleanup-stack-{cloud}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- parameters:
- - label:
- name: SLAVE_LABEL
- default: "engine-package-ubuntu1804-fra"
- description: "tieing to specific cloud-infra slave so it doesn't end up on another openstack slave randomly"
- - string:
- name: STACK_START_STR
- default: "nordix-cicd-"
- description: "A pattern of stack names to search for"
- - string:
- name: TIMETOLIVE
- default: "180"
- description: "Don't delete stacks created in this timeframe of minutes"
- properties:
- - logrotate
-
- triggers:
- - timed: "@midnight"
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - mask-passwords
- - openstack:
- single-use: True
-
- builders:
- - 'wait-pkg-mgr-macro'
- - 'cloud-infra-cleanup-stack-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: 'engine-verify-deploy-test'
-
- project: 'engine-verify-deploy-test'
-
- stream:
- - 'master':
- branch: '{stream}'
- deploy-scenario: 'k8-multus-plugins'
-
- environment-type:
- - online:
- disabled: false
- execution-mode: online-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- - offline:
- disabled: false
- execution-mode: offline-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
- phase:
- - deploy
- - functest
-
- type:
- - virtual:
- provisioner-type: 'bifrost'
- slave-type: 'vpod'
- gated-projects: 'infra/engine|infra/provisioner/bifrost'
- pdf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml'
- idf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml'
- - cloud:
- provisioner-type: 'heat'
- slave-type: 'jumphost'
- gated-projects: 'infra/engine|infra/provisioner/heat'
- pdf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-environment-ci-city-ubuntu1804.yaml"
- idf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-idf.yaml"
-
- distro:
- - ubuntu1804
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
-
- dependency-jobs: 'engine-verify-package-{distro}-{stream}'
- dependency-job-var: 'TRIGGER_engine_verify_package_{distro}_{stream}_BUILD_RESULT'
-
- jobs:
- - 'engine-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
- - 'engine-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}'
-
-- job-template:
- name: 'engine-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - label:
- name: SLAVE_LABEL
- default: 'engine-{slave-type}-{environment-type}-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - string:
- name: HW_TYPE
- default: '{type}'
- description: 'Hardware type - could be virtual, cloud, or baremetal'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Execution mode to run in'
- - string:
- name: PDF
- default: '{pdf}'
- description: 'PDF file to use for deployment'
- - string:
- name: IDF
- default: '{idf}'
- description: 'IDF file to use for deployment'
- - string:
- name: HEAT_STACK_NAME
- default: "nordix-cicd-verify-engine-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created stack'
- - string:
- name: KEYPAIR_NAME
- default: "keypair-nordix-cicd-verify-engine-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created keypair'
- - string:
- name: USE_PREBUILT_DEPLOYMENT_IMAGE
- default: 'true'
- description: 'Use prebuilt deployment image while running as part of CI/CD'
- - 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: 'functest'
- description: 'Test framework to use'
- - string:
- name: TEST_SUITE
- default: 'healthcheck'
- description: 'Test suite to run'
- - string:
- name: YARDSTICK_DISPATCHER
- default: 'file'
- description: 'Dispatcher to use for Yardstick reporting'
- - string:
- name: DELETE_STACK
- default: 'true'
- description: 'Delete the stack upon completion of the build'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: "verify"
- description: 'CI loop the job belongs to'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 8
- option: category
- categories:
- - engine-verify-deploy-test
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - openstack:
- single-use: True
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - 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
-
- builders:
- - 'generate-change-metadata-macro'
- - multijob:
- name: "{environment-type} deployment on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-{environment-type}-deploy-{distro}-city-{type}-master'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/change.properties
- - multijob:
- name: "{environment-type} testing on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-{environment-type}-functest-{distro}-city-{type}-master'
- current-parameters: true
- git-revision: false
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/change.properties
-
- publishers:
- - postbuildscript:
- builders:
- - role: SLAVE
- build-on:
- - SUCCESS
- - FAILURE
- - ABORTED
- - NOT_BUILT
- - UNSTABLE
- build-steps:
- - 'wait-pkg-mgr-macro'
- - 'delete-stack-macro'
-
-- job-template:
- name: 'engine-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'download-{phase}-artifact-macro'
- - '{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: 'engine-verify-package'
-
- project: 'engine-verify-package'
-
- stream:
- - 'master':
- branch: '{stream}'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/engine|infra/provisioner/bifrost|infra/provisioner/heat'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-calico-nofeature'
-
- distro:
- - ubuntu1804
-
- dependency-jobs: 'engine-verify-tox-{stream}'
- dependency-job-var: 'TRIGGER_engine_verify_tox_{stream}_BUILD_RESULT'
-
- jobs:
- - 'engine-verify-package-{distro}-{stream}'
-
-- job-template:
- name: 'engine-verify-package-{distro}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Engine execution mode - packaging'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: 'verify'
- description: 'CI loop type'
- - label:
- name: SLAVE_LABEL
- default: 'engine-package-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-package
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - openstack:
- single-use: True
- - build-timeout:
- timeout: 240
- - credentials-binding:
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - shell: |
- #!/bin/bash
- sudo chown -R $USER:$USER $WORKSPACE || exit 1
- - ssh-agent-credentials:
- users:
- - 'city-nordix-jenkins-ssh'
-
- builders:
- - 'generate-change-metadata-macro'
- - inject:
- properties-file: "$WORKSPACE/change.properties"
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'package-macro'
- - 'upload-artifact-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: 'engine-tox'
-
- project: 'engine-tox'
-
- stream:
- - 'master':
- branch: '{stream}'
- gated-projects: 'infra/engine|infra/hwconfig|infra/test|infra/provisioner/bifrost|infra/provisioner/heat'
-
- lint-type:
- - ansible-lint:
- disabled: false
- repos-to-ignore: 'infra/hwconfig'
- - docs:
- disabled: false
- repos-to-ignore: 'infra/hwconfig|infra/test|infra/provisioner/bifrost|infra/provisioner/heat'
- - shellcheck:
- disabled: false
- repos-to-ignore: 'infra/hwconfig'
- - yamllint:
- disabled: false
- repos-to-ignore: ''
-
- jobs:
- - 'engine-verify-tox-{stream}'
- - 'engine-verify-{lint-type}-{stream}'
-
-- job-template:
- name: 'engine-verify-tox-{stream}'
-
- project-type: multijob
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - string:
- name: VERBOSITY
- default: 'false'
- description: 'Verbosity setting for the tox script'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-tox
-
- wrappers:
- - build-timeout:
- timeout: 60
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '.gitignore|.gitreview|.yamllint|README.md|bindep.txt|setup.cfg|setup.py'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
-
- builders:
- - multijob:
- name: Static Analysis
- condition: ALWAYS
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-ansible-lint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'engine-verify-shellcheck-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'engine-verify-yamllint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'engine-verify-docs-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
-
-- job-template:
- name: 'engine-verify-{lint-type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - string:
- name: LINT_TYPE
- default: '{lint-type}'
- description: 'Lint type to run'
- - string:
- name: REPOS_TO_IGNORE
- default: '{repos-to-ignore}'
- description: 'Repos to ignore for the specific lint type'
-
- properties:
- - logrotate
-
- wrappers:
- - build-timeout:
- timeout: 150
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- builders:
- - 'tox-macro'
-
-# vim: set ts=2 sw=2 expandtab:
+++ /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=========================================================
-
-#-------------------------------------------------------------------------------
-# Macros are used to avoid hitting parameter expansion of curly brackets and
-# the need to using include-raw-escape
-#-------------------------------------------------------------------------------
-- builder:
- name: 'tox-macro'
- builders:
- - shell:
- !include-raw: ./scripts/tox.sh
-
-- builder:
- name: 'generate-sdf-for-change-macro'
- builders:
- - shell:
- !include-raw: ./scripts/generate-sdf-for-change.sh
-
-- builder:
- name: 'generate-ssh-keypair-macro'
- builders:
- - shell:
- !include-raw: ./scripts/generate-ssh-keypair.sh
-
-- builder:
- name: 'package-macro'
- builders:
- - shell:
- !include-raw: ./scripts/package.sh
-
-- builder:
- name: 'test-package-macro'
- builders:
- - shell:
- !include-raw: ./scripts/test-package.sh
-
-- builder:
- name: 'upload-artifact-macro'
- builders:
- - shell:
- !include-raw: ./scripts/upload-artifact.sh
-
-- builder:
- name: 'xtesting-upload-artifact-macro'
- builders:
- - shell:
- !include-raw: ./scripts/upload-xtesting-artifact.sh
-
-- builder:
- name: 'download-deploy-artifact-macro'
- builders:
- - shell:
- !include-raw: ./scripts/download-deploy-artifact.sh
-
-- builder:
- name: 'download-xtesting-artifact-macro'
- builders:
- - shell:
- !include-raw: ./scripts/download-xtesting-artifact.sh
-
-- builder:
- name: 'download-functest-artifact-macro'
- builders:
- - shell:
- !include-raw: ./scripts/download-functest-artifact.sh
-
-- builder:
- name: 'download-yardstick-artifact-macro'
- builders:
- - shell:
- !include-raw: ./scripts/download-yardstick-artifact.sh
-
-- builder:
- name: 'deploy-macro'
- builders:
- - shell:
- !include-raw: ./scripts/deploy.sh
-
-- builder:
- name: 'functest-macro'
- builders:
- - shell:
- !include-raw: ./scripts/functest.sh
-
-- builder:
- name: 'yardstick-macro'
- builders:
- - shell:
- !include-raw: ./scripts/yardstick.sh
-
-- builder:
- name: 'delete-stack-macro'
- builders:
- - shell:
- !include-raw: ./scripts/delete-heat-stack.sh
-
-- builder:
- name: 'cloud-infra-cleanup-stack-macro'
- builders:
- - shell:
- !include-raw: ./scripts/cleanup-heat-stacks.sh
-
-- builder:
- name: 'wait-pkg-mgr-macro'
- builders:
- - shell:
- !include-raw: ./scripts/wait-for-pkg-manager.sh
-
-- builder:
- name: 'generate-build-metadata-macro'
- builders:
- - shell:
- !include-raw: ./scripts/generate-build-metadata.sh
-
-- builder:
- name: 'generate-change-metadata-macro'
- builders:
- - shell:
- !include-raw: ./scripts/generate-change-metadata.sh
-
-- builder:
- name: 'generate-release-metadata-macro'
- builders:
- - shell:
- !include-raw: ./scripts/generate-release-metadata.sh
-- builder:
- name: 'generate-k8sdeployment-environment-macro'
- builders:
- - shell:
- !include-raw: ./scripts/generate-k8sdeployment-environment.sh
-
-- builder:
- name: 'promote-macro'
- builders:
- - shell:
- !include-raw: ./scripts/promote.sh
-
-- builder:
- name: 'xtesting-infra-healthcheck-macro'
- builders:
- - shell:
- !include-raw: ./scripts/xtesting-infra-healthcheck.sh
-
-- builder:
- name: 'xtesting-healthcheck-macro'
- builders:
- - shell:
- !include-raw: ./scripts/xtesting-healthcheck.sh
-
-- builder:
- name: 'oom-build-installdeps-macro'
- builders:
- - shell:
- !include-raw: ./scripts/oom-build-installdeps.sh
-
-- builder:
- name: 'oom-build-wrapper-macro'
- builders:
- - shell:
- !include-raw: ./scripts/oom-build-wrapper.sh
-
-- builder:
- name: 'oom-upload-macro'
- builders:
- - shell:
- !include-raw: ./scripts/oom-upload.sh
-
-# vim: set ts=2 sw=2 expandtab:
+++ /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: 'ironic-release'
-
- project: 'ironic-release'
-
- stream:
- - 'master':
- branch: 'master'
- deploy-scenario: 'k8-multus-plugins'
- promote-stack: 'true'
-
- 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'
-
- distro:
- - ubuntu1804
- - centos7
-
- phase:
- - package
- - promote
-
- jobs:
- - 'ironic-release-{distro}-{stream}'
- - 'ironic-package-{distro}-{stream}'
- - 'ironic-release-{environment-type}-provision-{distro}-baremetal-{stream}'
- - 'ironic-promote-{distro}-{stream}'
-
-- job-template:
- name: 'ironic-release-{distro}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- node: 'engine-package-ubuntu1804-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: 'ironic'
- 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_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: 'ironic-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: Provisioning
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'ironic-release-offline-provision-{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: 'ironic-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: 'ironic-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: 'ironic-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'
-
-- job-template:
- name: 'ironic-release-{environment-type}-provision-{distro}-baremetal-{stream}'
-
- 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: 60
- - mask-passwords
- - fix-workspace-permissions
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - 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: provisioning
- - 'download-deploy-artifact-macro'
- - 'deploy-macro'
-
-# vim: set ts=2 sw=2 expandtab:
+++ /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: 'ironic-verify-package'
-
- project: 'ironic-verify-package'
-
- stream:
- - 'master':
- branch: '{stream}'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/ironic|infra/provisioner/bifrost'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-multus-plugins'
-
- distro:
- - ubuntu1804
- - centos7
-
- dependency-jobs: 'ironic-verify-tox-{stream}'
- dependency-job-var: 'TRIGGER_ironic_verify_tox_{stream}_BUILD_RESULT'
-
- jobs:
- - 'ironic-verify-package-{distro}-{stream}'
-
-- job-template:
- name: 'ironic-verify-package-{distro}-{stream}'
-
- disabled: '{obj:disabled}'
-
- node: 'engine-package-ubuntu1804-fra'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Engine execution mode - packaging'
- - string:
- name: STACK_TYPE
- default: 'ironic'
- description: 'Stack type to verify change with'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: 'verify'
- description: 'CI loop type'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-package
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - openstack:
- single-use: True
- - build-timeout:
- timeout: 240
- - credentials-binding:
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - shell: |
- #!/bin/bash
- sudo chown -R $USER:$USER $WORKSPACE || exit 1
-
-
- builders:
- - 'generate-change-metadata-macro'
- - inject:
- properties-file: "$WORKSPACE/change.properties"
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'package-macro'
- - 'upload-artifact-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: 'ironic-verify-provision'
-
- project: 'ironic-verify-provision'
-
- stream:
- - 'master':
- branch: '{stream}'
- deploy-scenario: 'k8-multus-plugins'
-
- environment-type:
- - online:
- disabled: false
- execution-mode: online-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- - offline:
- disabled: false
- execution-mode: offline-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
- phase:
- - deploy
-
- type:
- - virtual:
- provisioner-type: 'bifrost'
- slave-type: 'vpod'
- gated-projects: 'infra/stack/ironic|infra/provisioner/bifrost'
- pdf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml'
- idf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml'
-
- distro:
- - ubuntu1804
- - centos7
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
-
- dependency-jobs: 'ironic-verify-package-{distro}-{stream}'
- dependency-job-var: 'TRIGGER_ironic_verify_package_{distro}_{stream}_BUILD_RESULT'
-
- jobs:
- - 'ironic-verify-{environment-type}-provision-{distro}-{cloud}-{type}-{stream}'
-
-- job-template:
- name: 'ironic-verify-{environment-type}-provision-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with. This depends on the branch of the stack'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - label:
- name: SLAVE_LABEL
- default: 'engine-{slave-type}-{environment-type}-ubuntu1804-fra'
- description: 'Slave label to schedule this job on.'
- - string:
- name: STACK_TYPE
- default: 'ironic'
- description: 'Stack type to verify change with'
- - string:
- name: HW_TYPE
- default: '{type}'
- description: 'Hardware type - could be virtual, cloud, or baremetal'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Execution mode to run in'
- - string:
- name: PDF
- default: '{pdf}'
- description: 'PDF file to use for deployment'
- - string:
- name: IDF
- default: '{idf}'
- description: 'IDF file to use for deployment'
- - string:
- name: HEAT_STACK_NAME
- default: "nordix-cicd-verify-ironic-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created stack'
- - string:
- name: KEYPAIR_NAME
- default: "keypair-nordix-cicd-verify-ironic-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created keypair'
- - string:
- name: USE_PREBUILT_DEPLOYMENT_IMAGE
- default: 'true'
- description: 'Use prebuilt deployment image while running as part of CI/CD'
- - 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: 'functest'
- description: 'Test framework to use'
- - string:
- name: TEST_SUITE
- default: 'healthcheck'
- description: 'Test suite to run'
- - string:
- name: YARDSTICK_DISPATCHER
- default: 'file'
- description: 'Dispatcher to use for Yardstick reporting'
- - string:
- name: DELETE_STACK
- default: 'true'
- description: 'Delete the stack upon completion of the build'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: "verify"
- description: 'CI loop the job belongs to'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 8
- option: category
- categories:
- - engine-verify-deploy-test
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - fix-workspace-permissions
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - openstack:
- single-use: True
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - 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
-
- builders:
- - 'generate-change-metadata-macro'
- - inject:
- properties-file: "$WORKSPACE/change.properties"
- - 'generate-ssh-keypair-macro'
- - 'download-deploy-artifact-macro'
- - 'wait-pkg-mgr-macro'
- - 'deploy-macro'
-
- publishers:
- - postbuildscript:
- builders:
- - role: SLAVE
- build-on:
- - SUCCESS
- - FAILURE
- - ABORTED
- - NOT_BUILT
- - UNSTABLE
- build-steps:
- - 'wait-pkg-mgr-macro'
- - 'delete-stack-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: 'ironic-tox'
-
- project: 'ironic-tox'
-
- stream:
- - 'master':
- branch: '{stream}'
- gated-projects: 'infra/stack/ironic|infra/provisioner/bifrost'
-
- lint-type:
- - ansible-lint:
- disabled: false
- repos-to-ignore: ''
- - shellcheck:
- disabled: false
- repos-to-ignore: ''
- - yamllint:
- disabled: false
- repos-to-ignore: ''
-
- jobs:
- - 'ironic-verify-tox-{stream}'
- - 'ironic-verify-{lint-type}-{stream}'
-
-- job-template:
- name: 'ironic-verify-tox-{stream}'
-
- project-type: multijob
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - string:
- name: VERBOSITY
- default: 'false'
- description: 'Verbosity setting for the tox script'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-tox
-
- wrappers:
- - build-timeout:
- timeout: 60
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '.gitignore|.gitreview|.yamllint|README.md|bindep.txt|setup.cfg|setup.py'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
-
- builders:
- - multijob:
- name: Static Analysis
- condition: ALWAYS
- execution-type: PARALLEL
- projects:
- - name: 'ironic-verify-ansible-lint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'ironic-verify-shellcheck-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'ironic-verify-yamllint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
-
-- job-template:
- name: 'ironic-verify-{lint-type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - string:
- name: LINT_TYPE
- default: '{lint-type}'
- description: 'Lint type to run'
- - string:
- name: REPOS_TO_IGNORE
- default: '{repos-to-ignore}'
- description: 'Repos to ignore for the specific lint type'
-
- properties:
- - logrotate
-
- wrappers:
- - build-timeout:
- timeout: 150
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- builders:
- - 'tox-macro'
-
-# vim: set ts=2 sw=2 expandtab:
+++ /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: 'kubernetes-deploy-test'
-
- project: 'kubernetes-deploy-test'
-
- stream:
- - 'master':
- branch: 'master'
- deploy-scenario: 'k8-multus-plugins'
- - '1_20':
- branch: '1.20'
- deploy-scenario: 'k8-multus-plugins'
- - '1_19':
- branch: '1.19'
- deploy-scenario: 'k8-multus-plugins'
- - '1_18':
- branch: '1.18'
- deploy-scenario: 'k8-multus-plugins'
- - '1_17':
- branch: '1.17'
- deploy-scenario: 'k8-multus-plugins'
- - '1_16':
- branch: '1.16'
- deploy-scenario: 'k8-calico-nofeature'
- - '1_15':
- branch: '1.15'
- deploy-scenario: 'k8-calico-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: 60
- execution-mode: offline-deployment
- - functest:
- build-timeout: 210
- execution-mode: online-test
-
- jobs:
- - 'kubernetes-release-{environment-type}-deploy-test-{distro}-baremetal-{stream}'
- - 'kubernetes-release-{environment-type}-{phase}-{distro}-baremetal-{stream}'
-
-- job-template:
- name: 'kubernetes-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-deploy-artifact-macro'
- - multijob:
- name: "Offline Deployment on Baremetal using {deploy-scenario}"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'kubernetes-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: 'kubernetes-release-{environment-type}-functest-{distro}-baremetal-{stream}'
- current-parameters: true
- git-revision: false
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: 'kubernetes-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: 'kubernetes-release'
-
- project: 'kubernetes-release'
-
- stream:
- - 'master':
- branch: 'master'
- deploy-scenario: 'k8-multus-plugins'
- promote-stack: 'false'
- - '1_20':
- branch: '1.20'
- deploy-scenario: 'k8-multus-plugins'
- promote-stack: 'true'
- - '1_19':
- branch: '1.19'
- deploy-scenario: 'k8-multus-plugins'
- promote-stack: 'true'
- - '1_18':
- branch: '1.18'
- deploy-scenario: 'k8-multus-plugins'
- promote-stack: 'true'
- - '1_17':
- branch: '1.17'
- deploy-scenario: 'k8-multus-plugins'
- promote-stack: 'true'
- - '1_16':
- branch: '1.16'
- deploy-scenario: 'k8-calico-nofeature'
- promote-stack: 'true'
- - '1_15':
- branch: '1.15'
- deploy-scenario: 'k8-calico-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:
- - 'kubernetes-release-{distro}-{stream}'
- - 'kubernetes-package-{distro}-{stream}'
- - 'kubernetes-promote-{distro}-{stream}'
-
-- job-template:
- name: 'kubernetes-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: 'kubernetes'
- 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_KUBESPRAY_VERSION
- default: '{branch}'
- description: 'Kubespray 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: NORDIX_HEAT_VERSION
- default: 'master'
- description: 'Heat 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: 'kubernetes-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: 'kubernetes-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: 'kubernetes-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: 'kubernetes-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: 'kubernetes-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'
+++ /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: 'kubernetes-verify-deploy-test'
-
- project: 'kubernetes-verify-deploy-test'
-
- # NOTE (fdegir): dot is not an allowed character in groovy var names and also for
- # naming openstack objects so stream is used for that purpose but branch points to
- # actual branch name on gerrit
- stream:
- - 'master':
- branch: 'master'
- deploy-scenario: 'k8-multus-plugins'
- - '1_20':
- branch: '1.20'
- deploy-scenario: 'k8-multus-plugins'
- - '1_19':
- branch: '1.19'
- deploy-scenario: 'k8-multus-plugins'
- - '1_18':
- branch: '1.18'
- deploy-scenario: 'k8-multus-plugins'
- - '1_17':
- branch: '1.17'
- deploy-scenario: 'k8-multus-plugins'
- - '1_16':
- branch: '1.16'
- deploy-scenario: 'k8-calico-nofeature'
- - '1_15':
- branch: '1.15'
- deploy-scenario: 'k8-calico-nofeature'
-
- environment-type:
- - online:
- disabled: false
- execution-mode: online-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- - offline:
- disabled: false
- execution-mode: offline-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
- phase:
- - deploy
- - functest
-
- type:
- - virtual:
- provisioner-type: 'bifrost'
- slave-type: 'vpod'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- pdf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml'
- idf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml'
- - cloud:
- provisioner-type: 'heat'
- slave-type: 'jumphost'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- pdf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-environment-ci-city-ubuntu1804.yaml"
- idf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-idf.yaml"
-
- distro:
- - ubuntu1804
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
-
- dependency-jobs: 'kubernetes-verify-package-{distro}-{stream}'
- dependency-job-var: 'TRIGGER_kubernetes_verify_package_{distro}_{stream}_BUILD_RESULT'
-
- jobs:
- - 'kubernetes-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
- - 'kubernetes-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}'
-
-- job-template:
- name: 'kubernetes-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with. This depends on the branch of the stack'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - label:
- name: SLAVE_LABEL
- default: 'engine-{slave-type}-{environment-type}-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - string:
- name: HW_TYPE
- default: '{type}'
- description: 'Hardware type - could be virtual, cloud, or baremetal'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Execution mode to run in'
- - string:
- name: PDF
- default: '{pdf}'
- description: 'PDF file to use for deployment'
- - string:
- name: IDF
- default: '{idf}'
- description: 'IDF file to use for deployment'
- - string:
- name: HEAT_STACK_NAME
- default: "nordix-cicd-verify-kubernetes-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created stack'
- - string:
- name: KEYPAIR_NAME
- default: "keypair-nordix-cicd-verify-kubernetes-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created keypair'
- - string:
- name: USE_PREBUILT_DEPLOYMENT_IMAGE
- default: 'true'
- description: 'Use prebuilt deployment image while running as part of CI/CD'
- - 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: 'functest'
- description: 'Test framework to use'
- - string:
- name: TEST_SUITE
- default: 'healthcheck'
- description: 'Test suite to run'
- - string:
- name: YARDSTICK_DISPATCHER
- default: 'file'
- description: 'Dispatcher to use for Yardstick reporting'
- - string:
- name: DELETE_STACK
- default: 'true'
- description: 'Delete the stack upon completion of the build'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: "verify"
- description: 'CI loop the job belongs to'
- - string:
- name: ROOK_FS
- default: 'true'
- description: 'Whether to deploy csi-cephfs storageclass.'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 8
- option: category
- categories:
- - engine-verify-deploy-test
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - openstack:
- single-use: True
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - 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
- - ssh-agent-credentials:
- users:
- - 'nordixinfra-nordix-gerrit-ssh'
-
- builders:
- - 'generate-change-metadata-macro'
- - multijob:
- name: "{environment-type} deployment on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'kubernetes-verify-{environment-type}-deploy-{distro}-city-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/change.properties
- enable-condition:
- !include-raw: '../scripts/k8s-job-enable-condition.gvy'
- - multijob:
- name: "{environment-type} testing on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'kubernetes-verify-{environment-type}-functest-{distro}-city-{type}-{stream}'
- current-parameters: true
- git-revision: false
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/change.properties
- enable-condition:
- !include-raw: '../scripts/k8s-job-enable-condition.gvy'
-
- publishers:
- - postbuildscript:
- builders:
- - role: SLAVE
- build-on:
- - SUCCESS
- - FAILURE
- - ABORTED
- - NOT_BUILT
- - UNSTABLE
- build-steps:
- - 'wait-pkg-mgr-macro'
- - 'delete-stack-macro'
-
-- job-template:
- name: 'kubernetes-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'download-{phase}-artifact-macro'
- - '{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: 'kubernetes-verify-package'
-
- project: 'kubernetes-verify-package'
-
- # NOTE (fdegir): dot is not an allowed character in groovy var names and also for
- # naming openstack objects so stream is used for that purpose but branch points to
- # actual branch name on gerrit
- stream:
- - 'master':
- branch: 'master'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-multus-plugins'
- - '1_20':
- branch: '1.20'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-multus-plugins'
- - '1_19':
- branch: '1.19'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-multus-plugins'
- - '1_18':
- branch: '1.18'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-multus-plugins'
- - '1_17':
- branch: '1.17'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-multus-plugins'
- - '1_16':
- branch: '1.16'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-calico-nofeature'
- - '1_15':
- branch: '1.15'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'k8-calico-nofeature'
-
- distro:
- - ubuntu1804
-
- dependency-jobs: 'kubernetes-verify-tox-{stream}'
- dependency-job-var: 'TRIGGER_kubernetes_verify_tox_{stream}_BUILD_RESULT'
-
- jobs:
- - 'kubernetes-verify-package-{distro}-{stream}'
-
-- job-template:
- name: 'kubernetes-verify-package-{distro}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Engine execution mode - packaging'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: 'verify'
- description: 'CI loop type'
- - label:
- name: SLAVE_LABEL
- default: 'engine-package-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-package
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - openstack:
- single-use: True
- - build-timeout:
- timeout: 240
- - credentials-binding:
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - shell: |
- #!/bin/bash
- sudo chown -R $USER:$USER $WORKSPACE || exit 1
- - ssh-agent-credentials:
- users:
- - 'nordixinfra-nordix-gerrit-ssh'
-
-
- builders:
- - 'generate-change-metadata-macro'
- - inject:
- properties-file: "$WORKSPACE/change.properties"
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'package-macro'
- - 'upload-artifact-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: 'kubernetes-tox'
-
- project: 'kubernetes-tox'
-
- # NOTE (fdegir): dot is not an allowed character in groovy var names and also for
- # naming openstack objects so stream is used for that purpose but branch points to
- # actual branch name on gerrit
- stream:
- - 'master':
- branch: 'master'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- - '1_20':
- branch: '1.20'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- - '1_19':
- branch: '1.19'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- - '1_18':
- branch: '1.18'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- - '1_17':
- branch: '1.17'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- - '1_16':
- branch: '1.16'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
- - '1_15':
- branch: '1.15'
- gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
-
- lint-type:
- - ansible-lint:
- disabled: false
- repos-to-ignore: ''
- - shellcheck:
- disabled: false
- repos-to-ignore: ''
- - yamllint:
- disabled: false
- repos-to-ignore: ''
-
- jobs:
- - 'kubernetes-verify-tox-{stream}'
- - 'kubernetes-verify-{lint-type}-{stream}'
-
-- job-template:
- name: 'kubernetes-verify-tox-{stream}'
-
- project-type: multijob
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - string:
- name: VERBOSITY
- default: 'false'
- description: 'Verbosity setting for the tox script'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-tox
-
- wrappers:
- - build-timeout:
- timeout: 60
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '.gitignore|.gitreview|.yamllint|README.md|bindep.txt|setup.cfg|setup.py'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
-
- builders:
- - multijob:
- name: Static Analysis
- condition: ALWAYS
- execution-type: PARALLEL
- projects:
- - name: 'kubernetes-verify-ansible-lint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'kubernetes-verify-shellcheck-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'kubernetes-verify-yamllint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
-
-- job-template:
- name: 'kubernetes-verify-{lint-type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - string:
- name: LINT_TYPE
- default: '{lint-type}'
- description: 'Lint type to run'
- - string:
- name: REPOS_TO_IGNORE
- default: '{repos-to-ignore}'
- description: 'Repos to ignore for the specific lint type'
-
- properties:
- - logrotate
-
- wrappers:
- - build-timeout:
- timeout: 150
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- builders:
- - 'tox-macro'
-
-# vim: set ts=2 sw=2 expandtab:
+++ /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: 'onap-release-deploy-test'
-
- project: 'onap-release-deploy-test'
-
- stream:
- - 'master':
- branch: '{stream}'
- k8s-version: '1.15'
- deploy-scenario: 'onap-full-nofeature'
- - 'guilin':
- branch: '{stream}'
- k8s-version: '1.15'
- deploy-scenario: 'onap-full-nofeature'
- - 'frankfurt':
- branch: '{stream}'
- k8s-version: '1.15'
- deploy-scenario: 'onap-sdc-nofeature'
- - 'elalto':
- branch: '{stream}'
- k8s-version: '1.15'
- deploy-scenario: 'onap-sdc-nofeature'
-
- environment-type:
- - offline:
- disabled: false
- execution-mode: offline-deployment
-
- phase:
- - deploy
- - test
-
-
- type:
- - cloud:
- provisioner-type: 'heat'
- slave-type: 'jumphost'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- pdf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-environment-ci-city-ubuntu1804-onap.yaml"
- idf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-idf.yaml"
-
- distro:
- - ubuntu1804
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- jobs:
- - 'onap-release-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
- - 'onap-release-{environment-type}-deploy-{distro}-{cloud}-{type}-{stream}'
- - 'onap-release-{environment-type}-deployk8s-{distro}-{cloud}-{type}-{stream}'
- - 'onap-release-{environment-type}-xtesting-infra-healthcheck-{distro}-{cloud}-{type}-{stream}'
- - 'onap-release-{environment-type}-xtesting-healthcheck-{distro}-{cloud}-{type}-{stream}'
-
-- job-template:
- name: 'onap-release-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: K8S_VERSION
- default: '{k8s-version}'
- description: 'K8S version to use for this deployment'
- - string:
- name: INVENTORY_INI
- default: /tmp/inventory.ini
- description: 'Location of the inventory file. Copied from k8s install'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - label:
- name: SLAVE_LABEL
- default: 'engine-{slave-type}-{environment-type}-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - string:
- name: HW_TYPE
- default: '{type}'
- description: 'Hardware type - could be virtual, cloud, or baremetal'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Execution mode to run in'
- - string:
- name: PDF
- default: '{pdf}'
- description: 'PDF file to use for deployment'
- - string:
- name: IDF
- default: '{idf}'
- description: 'IDF file to use for deployment'
- - string:
- name: HEAT_STACK_NAME
- default: "nordix-cicd-verify-onap-{environment-type}-{distro}-{stream}"
- description: 'Name of the created stack'
- - string:
- name: KEYPAIR_NAME
- default: "keypair-nordix-cicd-verify-onap-{environment-type}-{distro}-{stream}"
- description: 'Name of the created keypair'
- - string:
- name: USE_PREBUILT_DEPLOYMENT_IMAGE
- default: 'true'
- description: 'Use prebuilt deployment image while running as part of CI/CD'
- - string:
- name: DELETE_STACK
- default: 'false'
- description: 'Delete the stack upon completion of the build'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: "verify"
- description: 'CI loop the job belongs to'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 8
- option: category
- categories:
- - engine-verify-deploy-test
-
- scm:
- - git:
- url: https://gerrit.nordix.org/infra/engine.git
- branches:
- - master
- timeout: 15
- wipe-workspace: true
- wrappers:
- - build-timeout:
- timeout: 600
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - openstack:
- single-use: True
- - 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
-
- builders:
- - 'generate-k8sdeployment-environment-macro'
- - multijob:
- name: "{environment-type} deployment on {type} instances"
- condition: SUCCESSFUL
- execution-type: SEQUENTIALLY
- projects:
- - name: 'onap-release-{environment-type}-deployk8s-{distro}-{cloud}-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/k8s.properties
- - name: 'onap-release-{environment-type}-deploy-{distro}-{cloud}-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- - multijob:
- name: xTesting for infra-healthcheck and healthcheck
- condition: ALWAYS
- execution-type: SEQUENTIALLY
- projects:
- - name: 'onap-release-{environment-type}-xtesting-infra-healthcheck-{distro}-{cloud}-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'onap-release-{environment-type}-xtesting-healthcheck-{distro}-{cloud}-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- publishers:
- - postbuildscript:
- builders:
- - role: SLAVE
- build-on:
- - SUCCESS
- - FAILURE
- - ABORTED
- - NOT_BUILT
- - UNSTABLE
- build-steps:
- - 'wait-pkg-mgr-macro'
- - 'delete-stack-macro'
-
-- job-template:
- name: 'onap-release-{environment-type}-deploy-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- wrappers:
- - build-timeout:
- timeout: 600
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'download-deploy-artifact-macro'
- - 'deploy-macro'
-
-- job-template:
- name: 'onap-release-{environment-type}-deployk8s-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
- wrappers:
- - build-timeout:
- timeout: 600
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'download-deploy-artifact-macro'
- - 'deploy-macro'
-
-- job-template:
- name: 'onap-release-{environment-type}-xtesting-infra-healthcheck-{distro}-{cloud}-{type}-{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: 'xtesting'
- description: 'Test framework to use'
- - string:
- name: TEST_SUITE
- default: 'infra-healthcheck'
- description: 'Test suite to run'
-
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
- wrappers:
- - build-timeout:
- timeout: 600
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'download-xtesting-artifact-macro'
- - 'xtesting-infra-healthcheck-macro'
-
-- job-template:
- name: 'onap-release-{environment-type}-xtesting-healthcheck-{distro}-{cloud}-{type}-{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: 'xtesting'
- description: 'Test framework to use'
- - string:
- name: TEST_SUITE
- default: 'healthcheck'
- description: 'Test suite to run'
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
- wrappers:
- - build-timeout:
- timeout: 600
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'xtesting-healthcheck-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: 'onap-release'
-
- project: 'ONAP-release'
-
-
- stream:
- - 'master':
- branch: 'master'
- oom_branch: 'master'
- deploy-scenario: 'onap-full-nofeature'
- k8s-version: 'master'
- promote-stack: 'false'
- container-tool: 'docker'
- - 'guilin':
- branch: 'guilin'
- oom_branch: 'master'
- deploy-scenario: 'onap-full-nofeature'
- k8s-version: '1.15'
- promote-stack: 'true'
- container-tool: 'docker'
- - 'frankfurt':
- branch: 'frankfurt'
- oom_branch: 'master'
- deploy-scenario: 'onap-sdc-nofeature'
- k8s-version: '1.15'
- promote-stack: 'true'
- container-tool: 'docker'
- - 'elalto':
- branch: 'elalto'
- oom_branch: 'master'
- deploy-scenario: 'onap-sdc-nofeature'
- k8s-version: '1.15'
- promote-stack: 'true'
- container-tool: 'docker'
-
- environment-type:
- - offline:
- disabled: false
- execution-mode: offline-deployment
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
-
- phase:
- - deploy
-
-
- type:
- - cloud:
- provisioner-type: 'heat'
- slave-type: 'jumphost'
- pdf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-environment-ci-city-ubuntu1804-onap.yaml"
- idf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-idf.yaml"
-
- distro:
- - ubuntu1804
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
-
- jobs:
- - 'onap-release-{distro}-{stream}'
- - 'onap-package-{distro}-{stream}'
- - 'onap-test-package-{distro}-{stream}'
- - 'onap-promote-{distro}-{stream}'
-
-
-
-- job-template:
- name: 'onap-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: CONTAINER_TOOL
- default: '{container-tool}'
- description: 'Command to use when pulling images. Options docker or podman'
- - 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: 'onap'
- 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_OOM_VERSION
- default: '{oom_branch}'
- description: 'Stack version of oom 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: 'onap-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: Test Framework Packaging
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'onap-test-package-{distro}-{stream}'
- current-parameters: false
- git-revision: false
- 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: 'onap-release-offline-deploy-test-{distro}-city-cloud-{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: 'onap-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: 'onap-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: 300
- - 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: 'onap-test-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: 300
- - 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/test.git
- branches:
- - master
- timeout: 15
- wipe-workspace: true
-
- builders:
- - 'test-package-macro'
- - 'xtesting-upload-artifact-macro'
-
-- job-template:
- name: 'onap-promote-{distro}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate
-
- wrappers:
- - build-timeout:
- timeout: 600
- - 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'
+++ /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: 'onap-verify-deploy-test'
-
- project: 'onap-verify-deploy-test'
-
- stream:
- - 'master':
- branch: '{stream}'
- k8s-version: 'master'
- deploy-scenario: 'onap-full-nofeature'
- - 'guilin':
- branch: '{stream}'
- k8s-version: '1.15'
- deploy-scenario: 'onap-full-nofeature'
- - 'frankfurt':
- branch: '{stream}'
- k8s-version: '1.15'
- deploy-scenario: 'onap-sdc-nofeature'
- - 'elalto':
- branch: '{stream}'
- k8s-version: '1.15'
- deploy-scenario: 'onap-sdc-nofeature'
-
- environment-type:
- - online:
- disabled: false
- execution-mode: online-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- - offline:
- disabled: true
- execution-mode: offline-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
- phase:
- - deploy
- - test
-
-
- type:
- - cloud:
- provisioner-type: 'heat'
- slave-type: 'jumphost'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- pdf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-environment-ci-city-ubuntu1804-onap.yaml"
- idf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-idf.yaml"
-
- distro:
- - ubuntu1804
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
-
- # This should be
- dependency-jobs: 'onap-verify-tox-{stream}'
- dependency-job-var: 'TRIGGER_onap_verify_tox_{stream}_BUILD_RESULT'
-
- jobs:
- - 'onap-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
- - 'onap-verify-{environment-type}-deploy-{distro}-{cloud}-{type}-{stream}'
- - 'onap-verify-{environment-type}-deployk8s-{distro}-{cloud}-{type}-{stream}'
- - 'onap-verify-{environment-type}-xtesting-infra-healthcheck-{distro}-{cloud}-{type}-{stream}'
- - 'onap-verify-{environment-type}-xtesting-healthcheck-{distro}-{cloud}-{type}-{stream}'
-
-
-- job-template:
- name: 'onap-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: K8S_VERSION
- default: '{k8s-version}'
- description: 'K8S version to use for this deployment'
- - string:
- name: INVENTORY_INI
- default: /tmp/inventory.ini
- description: 'Location of the inventory file. Copied from k8s install'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - label:
- name: SLAVE_LABEL
- default: 'engine-{slave-type}-{environment-type}-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - string:
- name: HW_TYPE
- default: '{type}'
- description: 'Hardware type - could be virtual, cloud, or baremetal'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Execution mode to run in'
- - string:
- name: STACK_TYPE
- default: 'onap'
- description: 'Stack to package, deploy, test, release'
- - string:
- name: PDF
- default: '{pdf}'
- description: 'PDF file to use for deployment'
- - string:
- name: IDF
- default: '{idf}'
- description: 'IDF file to use for deployment'
- - string:
- name: HEAT_STACK_NAME
- default: "nordix-cicd-verify-onap-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created stack'
- - string:
- name: KEYPAIR_NAME
- default: "keypair-nordix-cicd-verify-onap-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created keypair'
- - string:
- name: USE_PREBUILT_DEPLOYMENT_IMAGE
- default: 'true'
- description: 'Use prebuilt deployment image while running as part of CI/CD'
- - string:
- name: DELETE_STACK
- default: 'false'
- description: 'Delete the stack upon completion of the build'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: "verify"
- description: 'CI loop the job belongs to'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 8
- option: category
- categories:
- - engine-verify-deploy-test
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - build-timeout:
- timeout: 600
- - ssh-agent-credentials:
- users:
- - 'nordixinfra-nordix-gerrit-ssh'
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - openstack:
- single-use: True
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - 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
-
- builders:
- - 'generate-change-metadata-macro'
- - 'generate-k8sdeployment-environment-macro'
- - multijob:
- name: "{environment-type} deployment on {type} instances"
- condition: SUCCESSFUL
- execution-type: SEQUENTIALLY
- projects:
- - name: 'onap-verify-{environment-type}-deployk8s-{distro}-{cloud}-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/k8s.properties
- - name: 'onap-verify-{environment-type}-deploy-{distro}-{cloud}-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/change.properties
- - multijob:
- name: xTesting for infra-healthcheck and healthcheck
- condition: ALWAYS
- projects:
- - name: 'onap-verify-{environment-type}-xtesting-infra-healthcheck-{distro}-{cloud}-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/change.properties
- - name: 'onap-verify-{environment-type}-xtesting-healthcheck-{distro}-{cloud}-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- publishers:
- - postbuildscript:
- builders:
- - role: SLAVE
- build-on:
- - SUCCESS
- - FAILURE
- - ABORTED
- - NOT_BUILT
- - UNSTABLE
- build-steps:
- - 'wait-pkg-mgr-macro'
- - 'delete-stack-macro'
-
-- job-template:
- name: 'onap-verify-{environment-type}-deploy-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- wrappers:
- - build-timeout:
- timeout: 600
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'download-deploy-artifact-macro'
- - 'deploy-macro'
-
-- job-template:
- name: 'onap-verify-{environment-type}-deployk8s-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- wrappers:
- - build-timeout:
- timeout: 600
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'download-deploy-artifact-macro'
- - 'deploy-macro'
-- job-template:
- name: 'onap-verify-{environment-type}-xtesting-infra-healthcheck-{distro}-{cloud}-{type}-{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: 'xtesting'
- description: 'Test framework to use'
- - string:
- name: TEST_SUITE
- default: 'infra-healthcheck'
- description: 'Test suite to run'
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
- wrappers:
- - build-timeout:
- timeout: 600
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'download-xtesting-artifact-macro'
- - 'xtesting-infra-healthcheck-macro'
-
-- job-template:
- name: 'onap-verify-{environment-type}-xtesting-healthcheck-{distro}-{cloud}-{type}-{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: 'xtesting'
- description: 'Test framework to use'
- - string:
- name: TEST_SUITE
- default: 'healthcheck'
- description: 'Test suite to run'
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
- wrappers:
- - build-timeout:
- timeout: 600
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'wait-pkg-mgr-macro'
- - 'xtesting-healthcheck-macro'
-
+++ /dev/null
----
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 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: 'onap-verify-package'
-
- project: 'onap-verify-package'
-
- stream:
- - 'master':
- branch: '{stream}'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- container-tool: 'docker'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'onap-full-nofeature'
- - 'guilin':
- branch: '{stream}'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- container-tool: 'docker'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'onap-full-nofeature'
- - 'frankfurt':
- branch: '{stream}'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- container-tool: 'docker'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'onap-full-nofeature'
- - 'elalto':
- branch: '{stream}'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- container-tool: 'docker'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'onap-full-nofeature'
- distro:
- - ubuntu1804
-
- dependency-jobs: 'onap-verify-tox-{stream}'
- dependency-job-var: 'TRIGGER_onap_verify_tox_{stream}_BUILD_RESULT'
-
- jobs:
- - 'onap-verify-package-{distro}-{stream}'
- - 'onap-verify-packaging-{distro}-{stream}'
- - 'onap-verify-test-packaging-{distro}-{stream}'
-
-- job-template:
- name: 'onap-verify-package-{distro}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: CONTAINER_TOOL
- default: '{container-tool}'
- description: 'Command to use when pulling images. Options docker or podman'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: 'verify'
- description: 'CI loop type'
- - label:
- name: SLAVE_LABEL
- default: 'engine-package-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-package
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - openstack:
- single-use: True
- - build-timeout:
- timeout: 300
- - ssh-agent-credentials:
- users:
- - 'nordixinfra-nordix-gerrit-ssh'
- - credentials-binding:
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - shell: |
- #!/bin/bash
- sudo chown -R $USER:$USER $WORKSPACE || exit 1
-
- builders:
- - 'generate-change-metadata-macro'
- - inject:
- properties-file: "$WORKSPACE/change.properties"
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - multijob:
- name: ONAP Framework Packaging
- condition: SUCCESSFUL
- execution-type: SEQUENTIALLY
- projects:
- - name: 'onap-verify-packaging-{distro}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- property-file: "$WORKSPACE/change.properties"
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: Test Framework Packaging
- condition: SUCCESSFUL
- execution-type: SEQUENTIALLY
- projects:
- - name: 'onap-verify-test-packaging-{distro}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- property-file: "$WORKSPACE/change.properties"
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: 'onap-verify-packaging-{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: 300
- - 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-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- builders:
- - 'package-macro'
- - 'upload-artifact-macro'
-
-- job-template:
- name: 'onap-verify-test-packaging-{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: 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
-
- builders:
- - 'test-package-macro'
- - 'xtesting-upload-artifact-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: 'onap-tox'
-
- project: 'onap-tox'
-
- stream:
- - 'master':
- branch: '{stream}'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- - 'guilin':
- branch: '{stream}'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- - 'frankfurt':
- branch: '{stream}'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
- - 'elalto':
- branch: '{stream}'
- gated-projects: 'infra/stack/onap|infra/installer/oom'
-
- lint-type:
- - ansible-lint:
- disabled: false
- repos-to-ignore: ''
- - shellcheck:
- disabled: false
- repos-to-ignore: ''
- - yamllint:
- disabled: false
- repos-to-ignore: ''
-
- jobs:
- - 'onap-verify-tox-{stream}'
- - 'onap-verify-{lint-type}-{stream}'
-
-- job-template:
- name: 'onap-verify-tox-{stream}'
-
- project-type: multijob
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - string:
- name: VERBOSITY
- default: 'false'
- description: 'Verbosity setting for the tox script'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-tox
-
- wrappers:
- - build-timeout:
- timeout: 60
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '.gitignore|.gitreview|.yamllint|README.md|bindep.txt|setup.cfg|setup.py'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
-
- builders:
- - multijob:
- name: Static Analysis
- condition: ALWAYS
- execution-type: PARALLEL
- projects:
- - name: 'onap-verify-ansible-lint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'onap-verify-shellcheck-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'onap-verify-yamllint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
-
-- job-template:
- name: 'onap-verify-{lint-type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - string:
- name: LINT_TYPE
- default: '{lint-type}'
- description: 'Lint type to run'
- - string:
- name: REPOS_TO_IGNORE
- default: '{repos-to-ignore}'
- description: 'Repos to ignore for the specific lint type'
-
- properties:
- - logrotate
-
- wrappers:
- - build-timeout:
- timeout: 150
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- builders:
- - 'tox-macro'
-
-# vim: set ts=2 sw=2 expandtab:
+++ /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: 420
- - 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-deploy-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: 180
- - 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: 60
- - 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'
+++ /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-verify-deploy-test'
-
- project: 'openstack-verify-deploy-test'
-
- stream:
- - 'master':
- branch: '{stream}'
- deploy-scenario: 'os-nosdn-nofeature'
- - 'train':
- branch: '{stream}'
- deploy-scenario: 'os-nosdn-nofeature'
-
- environment-type:
- - online:
- disabled: false
- execution-mode: online-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- - offline:
- disabled: false
- execution-mode: offline-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
- phase:
- - deploy
- - functest
-
- type:
- - virtual:
- provisioner-type: 'bifrost'
- slave-type: 'vpod'
- gated-projects: 'infra/stack/openstack|infra/installer/kolla'
- pdf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml'
- idf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml'
-
- distro:
- - ubuntu1804
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
-
- dependency-jobs: 'openstack-verify-package-{distro}-{stream}'
- dependency-job-var: 'TRIGGER_openstack_verify_package_{distro}_{stream}_BUILD_RESULT'
-
- jobs:
- - 'openstack-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
- - 'openstack-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}'
-
-- job-template:
- name: 'openstack-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - label:
- name: SLAVE_LABEL
- default: 'engine-{slave-type}-{environment-type}-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - string:
- name: HW_TYPE
- default: '{type}'
- description: 'Hardware type - could be virtual, cloud, or baremetal'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Execution mode to run in'
- - string:
- name: PDF
- default: '{pdf}'
- description: 'PDF file to use for deployment'
- - string:
- name: IDF
- default: '{idf}'
- description: 'IDF file to use for deployment'
- - string:
- name: HEAT_STACK_NAME
- default: "nordix-cicd-verify-openstack-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created stack'
- - string:
- name: KEYPAIR_NAME
- default: "keypair-nordix-cicd-verify-openstack-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created keypair'
- - string:
- name: USE_PREBUILT_DEPLOYMENT_IMAGE
- default: 'true'
- description: 'Use prebuilt deployment image while running as part of CI/CD'
- - 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: 'functest'
- description: 'Test framework to use'
- - string:
- name: TEST_SUITE
- default: 'healthcheck'
- description: 'Test suite to run'
- - string:
- name: YARDSTICK_DISPATCHER
- default: 'file'
- description: 'Dispatcher to use for Yardstick reporting'
- - string:
- name: DELETE_STACK
- default: 'true'
- description: 'Delete the stack upon completion of the build'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: "verify"
- description: 'CI loop the job belongs to'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 8
- option: category
- categories:
- - engine-verify-deploy-test
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - openstack:
- single-use: True
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - 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
-
- builders:
- - 'generate-change-metadata-macro'
- - multijob:
- name: "{environment-type} deployment on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'openstack-verify-{environment-type}-deploy-{distro}-city-{type}-{stream}'
- current-parameters: true
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/change.properties
- - multijob:
- name: "{environment-type} testing on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'openstack-verify-{environment-type}-functest-{distro}-city-{type}-{stream}'
- current-parameters: true
- git-revision: false
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- property-file: $WORKSPACE/change.properties
-
- publishers:
- - postbuildscript:
- builders:
- - role: SLAVE
- build-on:
- - SUCCESS
- - FAILURE
- - ABORTED
- - NOT_BUILT
- - UNSTABLE
- build-steps:
- - 'wait-pkg-mgr-macro'
- - 'delete-stack-macro'
-
-- job-template:
- name: 'openstack-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'download-{phase}-artifact-macro'
- - '{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-verify-package'
-
- project: 'openstack-verify-package'
-
- stream:
- - 'master':
- branch: '{stream}'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/openstack|infra/installer/kolla'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'os-nosdn-nofeature'
- - 'train':
- branch: '{stream}'
- openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
- execution-mode: 'packaging'
- gated-projects: 'infra/stack/openstack|infra/installer/kolla'
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- deploy-scenario: 'os-nosdn-nofeature'
-
- distro:
- - ubuntu1804
-
- dependency-jobs: 'openstack-verify-tox-{stream}'
- dependency-job-var: 'TRIGGER_openstack_verify_tox_{stream}_BUILD_RESULT'
-
- jobs:
- - 'openstack-verify-package-{distro}-{stream}'
-
-- job-template:
- name: 'openstack-verify-package-{distro}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- description: 'Scenario to test change with.'
- - string:
- name: EXECUTION_MODE
- default: '{execution-mode}'
- description: 'Engine execution mode - packaging'
- - string:
- name: DISTRO
- default: '{distro}'
- description: 'Distribution to use for configuring target nodes (networking etc.)'
- - string:
- name: VERBOSITY
- default: 'true'
- description: 'Verbosity setting for the engine - true or false - default is false'
- - string:
- name: CI_LOOP
- default: 'verify'
- description: 'CI loop type'
- - label:
- name: SLAVE_LABEL
- default: 'engine-package-{distro}-fra'
- description: 'Slave label to schedule this job on.'
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-package
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|releasenotes/**'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
- dependency-jobs: '{dependency-jobs}'
-
- wrappers:
- - openstack:
- single-use: True
- - build-timeout:
- timeout: 240
- - credentials-binding:
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - ssh-agent-credentials:
- users:
- - 'nordixinfra-lfn-gerrit-ssh'
- - mask-passwords
- - pre-scm-buildstep:
- failOnError: true
- buildsteps:
- - system-groovy:
- command: |
- def build = this.getProperty('binding').getVariable('build')
- def listener = this.getProperty('binding').getVariable('listener')
- if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
- println "WARN : Aborting build since dependent job did not succeed!"
- throw new InterruptedException()
- }}
- - shell: |
- #!/bin/bash
- sudo chown -R $USER:$USER $WORKSPACE || exit 1
-
-
- builders:
- - 'generate-change-metadata-macro'
- - inject:
- properties-file: "$WORKSPACE/change.properties"
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - 'package-macro'
- - 'upload-artifact-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-tox'
-
- project: 'openstack-tox'
-
- stream:
- - 'master':
- branch: '{stream}'
- gated-projects: 'infra/stack/openstack|infra/installer/kolla'
- - 'train':
- branch: '{stream}'
- gated-projects: 'infra/stack/openstack|infra/installer/kolla'
-
- lint-type:
- - ansible-lint:
- disabled: false
- repos-to-ignore: ''
- - shellcheck:
- disabled: false
- repos-to-ignore: ''
- - yamllint:
- disabled: false
- repos-to-ignore: ''
-
- jobs:
- - 'openstack-verify-tox-{stream}'
- - 'openstack-verify-{lint-type}-{stream}'
-
-- job-template:
- name: 'openstack-verify-tox-{stream}'
-
- project-type: multijob
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - string:
- name: VERBOSITY
- default: 'false'
- description: 'Verbosity setting for the tox script'
- - nordix-gerrit-parameters
-
- properties:
- - logrotate
- # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 4
- option: category
- categories:
- - engine-verify-tox
-
- wrappers:
- - build-timeout:
- timeout: 60
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{gated-projects}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '.gitignore|.gitreview|.yamllint|README.md|bindep.txt|setup.cfg|setup.py'
- custom-url: '* $JOB_NAME $BUILD_URL'
- readable-message: 'true'
-
- builders:
- - multijob:
- name: Static Analysis
- condition: ALWAYS
- execution-type: PARALLEL
- projects:
- - name: 'openstack-verify-ansible-lint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'openstack-verify-shellcheck-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- - name: 'openstack-verify-yamllint-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
-
-- job-template:
- name: 'openstack-verify-{lint-type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- node: infra-tools-docker-slave-ubuntu1804
-
- parameters:
- - string:
- name: LINT_TYPE
- default: '{lint-type}'
- description: 'Lint type to run'
- - string:
- name: REPOS_TO_IGNORE
- default: '{repos-to-ignore}'
- description: 'Repos to ignore for the specific lint type'
-
- properties:
- - logrotate
-
- wrappers:
- - build-timeout:
- timeout: 150
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: $GERRIT_BRANCH
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- builders:
- - 'tox-macro'
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2020 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-#-------------------------------------------------------------------------------
-# In some cases, it is useful to see all the output generated by commands so
-# this function makes it possible for users to achieve that by not redirecting
-# output to /dev/null when verbosity is enabled
-#-------------------------------------------------------------------------------
-redirect_cmd() {
-
- if [[ "$VERBOSITY" == "false" ]]; then
- "$@" > /dev/null 2>&1
- else
- "$@"
- fi
-
-}
-
-VERBOSITY=${VERBOSITY:-false}
-# ensure dependencies are present
-echo "Info : Install python3.7-minimal python3-distutils virtualenv using apt"
-redirect_cmd sudo apt update
-redirect_cmd sudo apt install -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y python3.7-minimal python3-distutils virtualenv
-
-# prepare venv for openstack cli
-/bin/rm -rf $WORKSPACE/.venv
-virtualenv --python python3 --never-download $WORKSPACE/.venv
-set +u
-source $WORKSPACE/.venv/bin/activate
-set -u
-pip install --quiet --upgrade pip
-pip install --quiet python-cinderclient==6.0.0
-pip install --quiet python-glanceclient==3.0.0
-pip install --quiet python-heatclient==2.0.0
-pip install --quiet python-ironic-inspector-client==4.0.0
-pip install --quiet python-ironicclient==4.0.0
-pip install --quiet python-keystoneclient==3.22.0
-pip install --quiet python-neutronclient==7.1.0
-pip install --quiet python-novaclient==16.0.0
-pip install --quiet python-openstackclient==5.1.0
-pip install --quiet python-swiftclient==3.9.0
-
-echo "Info: Find Stacks $STACK_START_STR and keypair keypair-$STACK_START_STR"
-echo "-------------------------------------------------------------------------"
-source $OPENRC_FILE
-STACKS=$(openstack stack list -c "Stack Name" -c "Creation Time" -c ID -f value)
-KEYPAIRS=$(openstack keypair list -c "Name" -f value)
-# iternate of all the stacks
-while IFS= read -r stackline
-do
- # split line which comes in order ID,"Stack Name","Creation Time"
- stackdetails=($stackline)
- # find stacks starting with the search string
- if [[ ${stackdetails[1]} =~ ^$STACK_START_STR.* ]]
- then
- whenstackcreated=$(date -d ${stackdetails[2]} +%s)
- nowinsecond=$(date +%s)
- ageofstack=$(($nowinsecond-$whenstackcreated))
- # find stacks older than the allowed time
- if [[ $ageofstack > $TIMETOLIVE*60 ]]
- then
- echo "Info: Going to delete stack " ${stackdetails[1]} " ID " ${stackdetails[0]}
- openstack stack delete ${stackdetails[0]} --wait --yes
- echo "Info: Deleted stack " ${stackdetails[1]} " ID " ${stackdetails[0]}
- # check keypair is there before trying to delete
- if [[ "${KEYPAIRS[@]}" =~ "keypair-${stackdetails[1]}" ]]; then
- echo "Info: Going to delete keypair " keypair-${stackdetails[1]}
- openstack keypair delete keypair-${stackdetails[1]}
- echo "Info: Deleted keypair " keypair-${stackdetails[1]}
- fi
- fi
- fi
-done <<< $(echo "$STACKS")
-
-echo "-------------------------------------------------------------------------"
-echo "Info: Finished deleting stacks and keypairs"
-
-deactivate
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-if [[ "$DELETE_STACK" != "true" || "$HW_TYPE" != "cloud" ]]; then
- echo "Info : Skipping stack delete as it is either not a cloud deployment or slack deletion is disabled!"
- exit 0
-fi
-
-# NOTE (fdegir): install openstack clients
-sudo /bin/rm -rf /tmp/.engine_venv
-virtualenv --python python3 --never-download /tmp/.engine_venv
-# NOTE (fdegir): we need to use pip.conf pointing to local packages
-[[ "$EXECUTION_MODE" == "offline-deployment" ]] && /bin/cp -f /opt/engine/offline/pip/pip.conf /tmp/.engine_venv
-set +u
-source /tmp/.engine_venv/bin/activate
-set -u
-pip install --quiet --upgrade pip
-# NOTE (fdegir): we only install what is needed rather than all dependencies
-pip install --quiet openstacksdk python-openstackclient python-heatclient
-
-# NOTE (fdegir): delete stack
-echo "Info: Deleting stack $HEAT_STACK_NAME and keypair $KEYPAIR_NAME"
-echo "-------------------------------------------------------------------------"
-source /tmp/openrc && /bin/rm -f /tmp/openrc
-openstack stack delete --wait --yes $HEAT_STACK_NAME
-openstack keypair delete $KEYPAIR_NAME
-echo "-------------------------------------------------------------------------"
-echo "Info: Stack $HEAT_STACK_NAME and keypair $KEYPAIR_NAME have been deleted!"
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o errexit
-set -o pipefail
-
-# NOTE (fdegir): we need to remove $WORKSPACE and clone infra/engine repository
-# as infra/engine is what drives the deployment
-if [[ "$GERRIT_PROJECT" != "infra/engine" ]]; then
- cd "$HOME" && /bin/rm -rf "$WORKSPACE"
- echo "Info : Cloning infra/engine repository"
- git clone -q https://gerrit.nordix.org/infra/engine.git "$WORKSPACE"
- cd "$WORKSPACE"
-fi
-
-# NOTE (fdegir): this variable is set by generate-change-metadata.sh script
-# if a dependency to engine repo is determined so we check out that refspec
-# to ensure we respect the dependency
-if [[ ! -z "${NORDIX_ENGINE_REFSPEC+x}" ]]; then
- echo "Info : Fetching dependent change ${NORDIX_ENGINE_REFSPEC} infra/engine"
- git fetch "https://gerrit.nordix.org/infra/engine" ${NORDIX_ENGINE_REFSPEC} && git checkout FETCH_HEAD
-fi
-
-if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
- ENGINE_ROOT_DIR="/opt/engine/offline/git/engine"
-else
- ENGINE_ROOT_DIR="$WORKSPACE"
-fi
-
-# NOTE (fdegir): the vars PDF and IDF are set in the jjb/job and there is no elegant
-# way to dynamically change them there since the deploy scenario is determined until
-# after the job is triggered and commit message is parsed
-if [[ "$HW_TYPE" == "virtual" && "$DEPLOY_SCENARIO" == "k8-eno-ovs" ]]; then
- export PDF='https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/eno-vpod1-pdf.yml'
- export IDF='https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/eno-vpod1-idf.yml'
-fi
-
-# NOTE (fdegir): for bifrost based deployments, we don't need openrc file so we fake it
-OPENRC_FILE=${OPENRC_FILE:-/tmp/openrc}
-
-/bin/cp -f $OPENRC_FILE /tmp/openrc
-
-cd "$ENGINE_ROOT_DIR/engine"
-./deploy.sh -s "$STACK_TYPE" -b "$STACK_VERSION" -c "$DEPLOY_SCENARIO" -p "$PDF" -i "$IDF" -o /tmp/openrc -d "$DISTRO" -v
-
-# NOTE (fdegir): we need inventory.ini for test execution
-/bin/rm -f /tmp/inventory.ini
-/bin/cp -f /opt/engine/.cache/config/inventory.ini /tmp/inventory.ini
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-
-if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
- # ensure we delete leftovers due to lack of disk space
- sudo /bin/rm -rf $OFFLINE_INSTALLER_FILE ~/.ara \
- /opt/test /opt/stack /httpboot > /dev/null 2>&1 || true
- sudo docker ps -a --format {{.ID}} | xargs -n 1 sudo docker stop > /dev/null 2>&1 || true
- sudo docker ps -a --format {{.ID}} | xargs -n 1 sudo docker rm > /dev/null 2>&1 || true
- sudo docker images -a --format {{.ID}} | xargs -n 1 sudo docker rmi -f > /dev/null 2>&1 || true
- sudo docker volume rm $(sudo docker volume ls -qf dangling=true) > /dev/null 2>&1 || true
-
- REMOTE_ARTIFACT=$(echo $OFFLINE_INSTALLER_FILE | sed 's/.*\///g')
-
- echo "Info : Downloading artifact from Nordix ARM..."
- echo " $NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT"
- cd /tmp
- # NOTE (fdegir): switched from curl -s -S -O to wget to use wget auto-resume functionality
- wget -q $NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT
- echo "Info : Downloaded the artifact for offline deployment. Extracting..."
- echo " $(ls -al $OFFLINE_INSTALLER_FILE)"
- chmod +x $OFFLINE_INSTALLER_FILE
- $OFFLINE_INSTALLER_FILE
- sudo /bin/rm -rf $OFFLINE_INSTALLER_FILE
-else
- echo "Info : Online deployment. Skipping artifact download."
-fi
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-
-echo "Info : Testing of offline deployments is not currently supported! Skipping artifact download"
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-
-# NOTE (eprasad) we need to override execution mode variable to mode supported by test framework
-export EXECUTION_MODE=$(echo "$EXECUTION_MODE" | sed 's/deployment/test/g')
-
-if [[ "$EXECUTION_MODE" == "offline-test" ]]; then
- REMOTE_ARTIFACT=$(echo $OFFLINE_XTESTING_FILE | sed 's/.*\///g')
-
- echo "Info : Downloading artifact from Nordix ARM..."
- echo " $NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT"
- cd /tmp
- # NOTE (fdegir): switched from curl -s -S -O to wget to use wget auto-resume functionality
- wget -q $NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT
- echo "Info : Downloaded the artifact for offline test. Extracting..."
- echo " $(ls -al $OFFLINE_XTESTING_FILE)"
- chmod +x $OFFLINE_XTESTING_FILE
- $OFFLINE_XTESTING_FILE
- sudo /bin/rm -rf $OFFLINE_XTESTING_FILE
-else
- echo "Info : Online test. Skipping artifact download."
-fi
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-download-functest-artifact.sh
\ No newline at end of file
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o errexit
-set -o pipefail
-
-if [[ "$EXECUTION_MODE" == "offline-deployment" && "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
- echo "Info : Offline testing are not supported for $GERRIT_PROJECT"
- exit 0
-fi
-
-if [[ "$EXECUTION_MODE" == "offline-deployment" && "$SLAVE_LABEL" != "baremetal-deploy" ]]; then
- echo "Info : Testing of offline deployments is not currently supported!"
- exit 0
-fi
-
-# NOTE (fdegir): delete unnecessary stuff to free up space on baremetal jumphost
-sudo /bin/rm -rf /tmp/$BUILD_ARTIFACTS ~/.ara \
- /opt/test /opt/stack /httpboot /opt/engine/offline/binaries /opt/engine/offline/dib \
- /tmp/kubespray_cache > /dev/null 2>&1 || true
-sudo docker images -a --format {{.ID}} | xargs -n 1 sudo docker rmi -f > /dev/null 2>&1 || true
-
-echo "Info : Cloning infra/test repository"
-cd $HOME && /bin/rm -rf $WORKSPACE
-git clone -q $TEST_REPO_URL $WORKSPACE
-
-# NOTE (fdegir): we need to override execution mode variable coming from change.properties file
-if [[ "$CI_LOOP" != "release" ]]; then
- export EXECUTION_MODE=$(echo "$EXECUTION_MODE" | sed 's/deployment/test/g')
-else
- export EXECUTION_MODE=online-test
-fi
-
-cd $WORKSPACE/test
-./test.sh -s "$STACK_TYPE" -b "$BRANCH" -c "$DEPLOY_SCENARIO" -f "$TEST_FW" -t "$TEST_SUITE" \
- -o /tmp/openrc -i /tmp/inventory.ini -y "$YARDSTICK_DISPATCHER" -v
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-cd $WORKSPACE
-# need to generate the identifier before writing it
-if [[ "$CI_LOOP" == "verify" ]]; then
- BUILD_IDENTIFIER=$GERRIT_CHANGE_NUMBER
- ARTIFACT_ARM_FOLDER=gerrit
-elif [[ "$CI_LOOP" == "periodic" ]]; then
- BUILD_IDENTIFIER="$(date '+%Y%m%d%H%M')"
- ARTIFACT_ARM_FOLDER=release
-else
- echo "Error : Unrecognized CI Loop $CI_LOOP"
- exit 1
-fi
-
-echo "Info : Generating build metadata"
-cat << EOF > "$WORKSPACE/build.properties"
-BUILD_DATE=$(date '+%Y%m%d%H%M')
-BUILT_BY=$BUILD_URL
-BUILD_IDENTIFIER=$BUILD_IDENTIFIER
-CI_LOOP=$CI_LOOP
-ENGINE_SHA=$(git rev-parse HEAD)
-NORDIX_ARTIFACT_URL=$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/$ARTIFACT_ARM_FOLDER/$BUILD_IDENTIFIER
-EOF
-
-echo "Info : Build metadata"
-echo "-------------------------------------------------------------------------"
-cat "$WORKSPACE/build.properties"
-echo "-------------------------------------------------------------------------"
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-# NOTE (fdegir): in case if a change depends on another open change in different repo
-# we determine it here and override the version and refspec for that repo
-function determine_dependency() {
- echo "Info : Determining dependency"
- echo "Info : Commit message is"
- echo "-------------------------------------------------------------------------"
- echo "$GERRIT_CHANGE_COMMIT_MESSAGE"
- echo "-------------------------------------------------------------------------"
-
- if ! echo "$GERRIT_CHANGE_COMMIT_MESSAGE" | grep -qs "^Depends-On:"; then
- echo "Info : No dependency found"
- return
- else
- echo "Info : Dependency found!"
- DEPENDENT_CHANGE_ID=$(echo "$GERRIT_CHANGE_COMMIT_MESSAGE" | grep "^Depends-On:" | cut -d":" -f2 | sed 's/\s*//g')
- fi
-
- echo "Info : Processing change $DEPENDENT_CHANGE_ID"
- declare -a DEPENDENT_CHANGE_METADATA
- # NOTE (cian): upgrades to Gerrit appear to change the output of the previously-used endpoint
- # https://gerrit.nordix.org/changes/?q=$DEPENDENT_CHANGE_ID&o=CURRENT_REVISION so moving to
- # gerrit SSH-based queries instead
- GIT_BASE_SSH_CMD=$(echo "${GIT_BASE_SSH}" | sed -e 's#://# #g' | sed -e 's#:# -p #g')
- readarray -t DEPENDENT_CHANGE_METADATA < <(
- ${GIT_BASE_SSH_CMD} gerrit query --format=json change:${DEPENDENT_CHANGE_ID} --current-patch-set |\
- head -1 |\
- jq -r '[.project, .status, .currentPatchSet.revision, .currentPatchSet.ref] | join("\n")'
- )
-
- # NOTE (fdegir): check if the dependeny change exists
- # and ignore if it doesn't
- if [[ -z "${DEPENDENT_CHANGE_METADATA+x}" ]]; then
- echo "Warn : Unable to determine dependent change. Ignoring dependency!"
- return
- fi
-
- DEPENDENT_CHANGE_PROJECT="${DEPENDENT_CHANGE_METADATA[0]}"
- DEPENDENT_CHANGE_STATUS="${DEPENDENT_CHANGE_METADATA[1]}"
- DEPENDENT_CHANGE_REVISION="${DEPENDENT_CHANGE_METADATA[2]}"
- DEPENDENT_CHANGE_REFSPEC="${DEPENDENT_CHANGE_METADATA[3]}"
- echo "-------------------------------------------------------------------------"
- echo " DEPENDENT_CHANGE_PROJECT=$DEPENDENT_CHANGE_PROJECT"
- echo " DEPENDENT_CHANGE_STATUS=$DEPENDENT_CHANGE_STATUS"
- echo " DEPENDENT_CHANGE_REVISION=$DEPENDENT_CHANGE_REVISION"
- echo " DEPENDENT_CHANGE_REFSPEC=$DEPENDENT_CHANGE_REFSPEC"
- echo "-------------------------------------------------------------------------"
-
- # NOTE (fdegir): we only follow the dependency if the change status is NEW
- if [[ "$DEPENDENT_CHANGE_STATUS" != "NEW" ]]; then
- echo "Warn : Change is not open. Ignoring dependency!"
- return
- fi
-
- # NOTE (fdegir): we do not accept dependency of a change that is sent to same project as the dependent change
- if [[ "$DEPENDENT_CHANGE_PROJECT" == "$GERRIT_PROJECT" ]]; then
- echo "Warn : Change is for the same project. Ignoring dependency!"
- return
- fi
-
- DEPENDENT_COMPONENT="${DEPENDENT_CHANGE_PROJECT//*\//}"
-
- echo "# dependent change" >> "$CHANGE_METADATA_FILE"
-
- # NOTE (fdegir): if dependent change is on stack repo, we need to treat it
- # differently
- if [[ "$DEPENDENT_CHANGE_PROJECT" =~ /stack/ ]]; then
- # set vars
- echo "STACK_TYPE=$DEPENDENT_COMPONENT" >> "$CHANGE_METADATA_FILE"
- echo "STACK_VERSION=$DEPENDENT_CHANGE_REVISION" >> "$CHANGE_METADATA_FILE"
- echo "STACK_REFSPEC=$DEPENDENT_CHANGE_REFSPEC" >> "$CHANGE_METADATA_FILE"
- else
- echo "NORDIX_$(echo $DEPENDENT_COMPONENT | tr a-z A-Z)_VERSION=$DEPENDENT_CHANGE_REVISION" >> "$CHANGE_METADATA_FILE"
- echo "NORDIX_$(echo $DEPENDENT_COMPONENT | tr a-z A-Z)_REFSPEC=$DEPENDENT_CHANGE_REFSPEC" >> "$CHANGE_METADATA_FILE"
- fi
-
-}
-
-# file to record change metadata
-export CHANGE_METADATA_FILE="$WORKSPACE/change.properties"
-/bin/rm -f "$CHANGE_METADATA_FILE"
-
-echo "Info : Generating change metadata"
-
-# determine the project
-# this scripts is used by all engine repos so we need to determine what this change is for
-export ENGINE_COMPONENT="${GERRIT_PROJECT//*\//}"
-
-# Check if we need to override the deploy scenario.
-if ! echo "$GERRIT_CHANGE_COMMIT_MESSAGE" | grep -qs "^Deploy-Scenario:"; then
- echo "Info : No DEPLOY_SCENARIO override found."
-else
- echo "Info : DEPLOY_SCENARIO override found!"
- echo "Info : Before override: DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
- DEPLOY_SCENARIO=$(echo "$GERRIT_CHANGE_COMMIT_MESSAGE" | grep '^Deploy-Scenario:' | cut -d ":" -f2 | sed 's/\s*//g')
- export DEPLOY_SCENARIO
- echo "Info : After override: DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
-fi
-
-echo "Info : Setting STACK_TYPE and STACK_VERSION"
-if [[ "$GERRIT_PROJECT" =~ /stack/ ]]; then
- # set vars
- export STACK_TYPE="$ENGINE_COMPONENT"
- export STACK_VERSION="$GERRIT_PATCHSET_REVISION"
- export STACK_REFSPEC="$GERRIT_REFSPEC"
-
- # record vars to properties file
- echo "STACK_TYPE=$STACK_TYPE" >> "$CHANGE_METADATA_FILE"
- echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> "$CHANGE_METADATA_FILE"
- echo "STACK_VERSION=$STACK_VERSION" >> "$CHANGE_METADATA_FILE"
- echo "STACK_REFSPEC=$STACK_REFSPEC" >> "$CHANGE_METADATA_FILE"
-elif [[ "$GERRIT_PROJECT" =~ /installer/ ]]; then
- # set vars
- case "${ENGINE_COMPONENT}" in
- kolla)
- export STACK_TYPE="openstack"
- echo "Info : Deploy scenario is overriden by job to $DEPLOY_SCENARIO"
- ;;
- kubespray)
- export STACK_TYPE="kubernetes"
- echo "Info : Deploy scenario is overriden by job to $DEPLOY_SCENARIO"
- ;;
- oom)
- export STACK_TYPE="onap"
- echo "Info : Deploy scenario is overriden by job to $DEPLOY_SCENARIO"
- ;;
- *) echo "ERROR : Invalid engine component $ENGINE_COMPONENT"; exit 1;;
- esac
- export STACK_VERSION="$GERRIT_BRANCH"
-
- # record vars to properties file
- echo "STACK_TYPE=$STACK_TYPE" >> "$CHANGE_METADATA_FILE"
- echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> "$CHANGE_METADATA_FILE"
- echo "STACK_VERSION=$STACK_VERSION" >> "$CHANGE_METADATA_FILE"
- echo "NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_VERSION=$GERRIT_PATCHSET_REVISION" >> "$CHANGE_METADATA_FILE"
- echo "NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_REFSPEC=$GERRIT_REFSPEC" >> "$CHANGE_METADATA_FILE"
-else
- # NOTE (fdegir): if the change comes into provisioner repos, we need to set the stack type
- # properly for the jobs verifying those changes
- # set vars
- export STACK_TYPE="${STACK_TYPE:-kubernetes}"
- export STACK_VERSION=$GERRIT_BRANCH
-
- # record vars to properties file
- echo "STACK_TYPE=$STACK_TYPE" >> "$CHANGE_METADATA_FILE"
- echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> "$CHANGE_METADATA_FILE"
- echo "STACK_VERSION=$STACK_VERSION" >> "$CHANGE_METADATA_FILE"
- echo "NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_VERSION=$GERRIT_PATCHSET_REVISION" >> "$CHANGE_METADATA_FILE"
- echo "NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_REFSPEC=$GERRIT_REFSPEC" >> "$CHANGE_METADATA_FILE"
-fi
-
-# global vars
-export NORDIX_ARM_HTTPS_URL="https://artifactory.nordix.org/artifactory"
-export ARTIFACT_ARM_FOLDER="gerrit"
-export BUILD_IDENTIFIER=$GERRIT_CHANGE_NUMBER
-export OFFLINE_INSTALLER_FILE="/tmp/${STACK_TYPE}-${GERRIT_BRANCH}-${DISTRO}.bsx"
-export OFFLINE_XTESTING_FILE="/tmp/${STACK_TYPE}-test-${GERRIT_BRANCH}.bsx"
-export BUILD_ARTIFACTS="/tmp/${STACK_TYPE}-${GERRIT_BRANCH}-${DISTRO}.bsx"
-export NORDIX_ARM_REPO="nordix-${STACK_TYPE}"
-export NORDIX_ARTIFACT_URL="$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/oss/$ARTIFACT_ARM_FOLDER/$BUILD_IDENTIFIER"
-
-cat << EOF >> "$CHANGE_METADATA_FILE"
-BUILD_IDENTIFIER=$BUILD_IDENTIFIER
-BUILD_DATE=$(date '+%Y%m%d%H%M')
-BUILT_BY=$BUILD_URL
-DISTRO=$DISTRO
-CI_LOOP=$CI_LOOP
-ENGINE_SHA=$(git rev-parse HEAD)
-OFFLINE_INSTALLER_FILE=$OFFLINE_INSTALLER_FILE
-OFFLINE_XTESTING_FILE=$OFFLINE_XTESTING_FILE
-BUILD_ARTIFACTS=$BUILD_ARTIFACTS
-NORDIX_ARM_REPO=nordix-${STACK_TYPE}
-NORDIX_ARTIFACT_URL=$NORDIX_ARTIFACT_URL
-EOF
-
-# NOTE (fdegir): we generated the change metadata file normally until here
-# we now determine the dependency as the last step to ensure we override vars
-determine_dependency
-
-echo "Info : Change metadata"
-echo "-------------------------------------------------------------------------"
-cat "$CHANGE_METADATA_FILE"
-echo "-------------------------------------------------------------------------"
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-# file to record k8s properties
-export K8S_DEPLOYMENT_FILE="$WORKSPACE/k8s.properties"
-/bin/rm -f "$K8S_DEPLOYMENT_FILE"
-
-echo "Info : Generating k8s properties"
-
-echo "Info : Setting STACK_TYPE and STACK_VERSION"
-
-export STACK_TYPE="kubernetes"
-export STACK_VERSION="$K8S_VERSION"
-
-# record vars to properties file
-echo "STACK_TYPE=$STACK_TYPE" >> "$K8S_DEPLOYMENT_FILE"
-echo "DEPLOY_SCENARIO=k8-calico-nofeature" >> "$K8S_DEPLOYMENT_FILE"
-echo "STACK_VERSION=$STACK_VERSION" >> "$K8S_DEPLOYMENT_FILE"
-echo "NORDIX_STACK_VERSION=$K8S_VERSION" >> "$K8S_DEPLOYMENT_FILE"
-
-# global vars
-export NORDIX_ARM_HTTPS_URL="https://artifactory.nordix.org/artifactory"
-export ARTIFACT_ARM_FOLDER="release"
-export BUILD_IDENTIFIER="${K8S_VERSION}/stack/latest"
-export OFFLINE_INSTALLER_FILE="/tmp/${STACK_TYPE}-${K8S_VERSION}-${DISTRO}.bsx"
-export BUILD_ARTIFACTS="/tmp/${STACK_TYPE}-${K8S_VERSION}-${DISTRO}.bsx"
-export NORDIX_ARM_REPO="nordix-${STACK_TYPE}"
-# looking to make url looking like
-# https://artifactory.nordix.org/artifactory/nordix-kubernetes/oss/release/1.15/stack/latest/kubernetes-1.15-ubuntu1804.bsx
-export NORDIX_ARTIFACT_URL="$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/oss/$ARTIFACT_ARM_FOLDER/$BUILD_IDENTIFIER"
-
-cat << EOF >> "$K8S_DEPLOYMENT_FILE"
-BUILD_IDENTIFIER=$BUILD_IDENTIFIER
-BUILD_DATE=$(date '+%Y%m%d%H%M')
-BUILT_BY=$BUILD_URL
-DISTRO=$DISTRO
-CI_LOOP=$CI_LOOP
-ENGINE_SHA=$(git rev-parse HEAD)
-OFFLINE_INSTALLER_FILE=$OFFLINE_INSTALLER_FILE
-BUILD_ARTIFACTS=$BUILD_ARTIFACTS
-NORDIX_ARM_REPO=nordix-${STACK_TYPE}
-NORDIX_ARTIFACT_URL=$NORDIX_ARTIFACT_URL
-EOF
-
-echo "Info : K8S properties"
-echo "-------------------------------------------------------------------------"
-cat "$K8S_DEPLOYMENT_FILE"
-echo "-------------------------------------------------------------------------"
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-# NOTE (Fdegir): stacks use different tools so we need to record tool versions
-# depending on which stack we are releasing
-function record_component_versions() {
- case "${STACK_TYPE}" in
- ironic)
- echo "NORDIX_BIFROST_VERSION=$NORDIX_BIFROST_VERSION" >> $RELEASE_METADATA_FILE
- ;;
- kubernetes)
- echo "NORDIX_BIFROST_VERSION=$NORDIX_BIFROST_VERSION" >> $RELEASE_METADATA_FILE
- echo "NORDIX_HEAT_VERSION=$NORDIX_HEAT_VERSION" >> $RELEASE_METADATA_FILE
- echo "NORDIX_KUBESPRAY_VERSION=$NORDIX_KUBESPRAY_VERSION" >> $RELEASE_METADATA_FILE
- ;;
- onap)
- echo "NORDIX_OOM_VERSION=$NORDIX_OOM_VERSION" >> $RELEASE_METADATA_FILE
- ;;
- openstack)
- echo "NORDIX_BIFROST_VERSION=$NORDIX_BIFROST_VERSION" >> $RELEASE_METADATA_FILE
- echo "NORDIX_KOLLA_VERSION=$NORDIX_KOLLA_VERSION" >> $RELEASE_METADATA_FILE
- ;;
- *) echo "ERROR : Invalid stack $STACK_TYPE"; exit 1;;
- esac
-}
-
-# file to record release metadata
-export RELEASE_METADATA_FILE="$WORKSPACE/release.properties"
-/bin/rm -f "$RELEASE_METADATA_FILE" /tmp/release.properties
-
-echo "Info : Generating release metadata"
-
-# global vars
-export NORDIX_ARM_HTTPS_URL="https://artifactory.nordix.org/artifactory"
-export ARTIFACT_ARM_FOLDER="release/${BRANCH}/stack"
-export BUILD_IDENTIFIER="$(date '+%Y%m%d%H%M')"
-export OFFLINE_INSTALLER_FILE="/tmp/${STACK_TYPE}-${BRANCH}-${DISTRO}.bsx"
-export OFFLINE_XTESTING_FILE="/tmp/${STACK_TYPE}-test-${BRANCH}.bsx"
-export BUILD_ARTIFACTS="/tmp/${STACK_TYPE}-${BRANCH}-${DISTRO}.bsx /tmp/offline-package.tgz $WORKSPACE/release.properties"
-export NORDIX_ARM_REPO="nordix-${STACK_TYPE}"
-export NORDIX_ARTIFACT_URL="$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/oss/$ARTIFACT_ARM_FOLDER/$BUILD_IDENTIFIER"
-
-cat << EOF >> "$RELEASE_METADATA_FILE"
-BUILD_IDENTIFIER=$BUILD_IDENTIFIER
-BUILD_DATE=$BUILD_IDENTIFIER
-BRANCH=$BRANCH
-RELEASE_JOB=$BUILD_URL
-DISTRO=$DISTRO
-DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-CI_LOOP=$CI_LOOP
-STACK_TYPE=$STACK_TYPE
-STACK_VERSION=$STACK_VERSION
-PROMOTE_STACK=$PROMOTE_STACK
-OFFLINE_INSTALLER_FILE=$OFFLINE_INSTALLER_FILE
-OFFLINE_XTESTING_FILE=$OFFLINE_XTESTING_FILE
-BUILD_ARTIFACTS=$BUILD_ARTIFACTS
-NORDIX_ARM_REPO=nordix-${STACK_TYPE}
-NORDIX_ARTIFACT_URL=$NORDIX_ARTIFACT_URL
-NORDIX_ENGINE_VERSION=$NORDIX_ENGINE_VERSION
-EOF
-
-record_component_versions
-
-echo "Info : Release metadata"
-echo "-------------------------------------------------------------------------"
-cat "$RELEASE_METADATA_FILE"
-echo "-------------------------------------------------------------------------"
-
-# NOTE (fdegir): release.properties file will be included in the tarball if the packaging
-# is run for release purposes
-/bin/cp -f $RELEASE_METADATA_FILE /tmp/release.properties
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-# NOTE (fdegir): we do not need to do anything for the changes coming to infra/engine repo
-if [[ "$GERRIT_PROJECT" == "infra/engine" ]]; then
- exit 0
-fi
-
-echo "Info : Cloning infra/engine repository"
-cd "$HOME" && /bin/rm -rf "$WORKSPACE"
-git clone -q "$ENGINE_REPO_URL" "$WORKSPACE"
-
-export SDF_ORIGINAL="$WORKSPACE/engine/inventory/group_vars/all/sdf.yaml"
-export SDF_PATCHSET="/tmp/sdf.yaml.$GERRIT_CHANGE_NUMBER"
-
-/bin/rm -rf "$SDF_PATCHSET"
-
-export TOOL_TYPE="${GERRIT_PROJECT//*\//}"
-export TOOL_MATCH="false"
-echo "Info : Tool type is $TOOL_TYPE"
-echo "Info : Updating SDF with change SHA and refspec"
-while IFS= read -r line; do
- if [[ "$TOOL_MATCH" == "true" && "$line" =~ "version" ]]; then
- echo "$line" | sed "s#version:.*#version: $GERRIT_PATCHSET_REVISION\n refspec: $GERRIT_REFSPEC#g" >> "$SDF_PATCHSET"
- export TOOL_MATCH="false"
- continue
- fi
- if [[ "$line" =~ "$TOOL_TYPE:" && "$TOOL_MATCH" == "false" ]]; then
- export TOOL_MATCH="true"
- fi
- echo "$line" >> "$SDF_PATCHSET"
-done < "$SDF_ORIGINAL"
-# NOTE (fdegir): log the diff for possible troubleshooting
-echo
-echo "Info : Diff between original SDF and SDF generated for the change"
-echo "-------------------------------------------------------------------------"
-diff "$SDF_ORIGINAL" "$SDF_PATCHSET"
-echo "-------------------------------------------------------------------------"
-echo
-
-# NOTE (fdegir): move SDF generated for the change into the original SDF
-/bin/mv -f "$SDF_PATCHSET" "$SDF_ORIGINAL"
-
-# NOTE (fdegir): log the final SDF
-echo
-echo "Info : Generated SDF content"
-echo "-------------------------------------------------------------------------"
-cat "$SDF_ORIGINAL"
-echo "-------------------------------------------------------------------------"
-echo
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-if [[ ! -f "$HOME/.ssh/id_rsa" ]]; then
- echo "Info : Generating SSH keypair for the job"
- ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N '' <<< y > /dev/null 2>&1
- chmod -R go-rwx ~/.ssh
-fi
+++ /dev/null
-!('{environment-type}' == 'offline' && "${{DEPLOY_SCENARIO}}" in ['k8-eno-ovs', 'k8-calico-istio', 'k8-calico-eiffel', 'k8-calico-spinnaker'])
\ No newline at end of file
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-# This is a wrapper to install any required dependencies for running the OOM helm
-# build script.
-
-set -o errexit
-set -o pipefail
-
-sudo apt-get install -y -q=3 \
- make
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-# This is a wrapper to execute the script `oom-build.sh` contained within the
-# installer/oom repository
-set -o errexit
-set -o pipefail
-
-cd "${WORKSPACE}"
-./oom-build.sh
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o errexit
-set -o pipefail
-
-YQ_BIN="${WORKSPACE}/bin/yq"
-ONAP_OOM_GIT_REVISION=$(cd "${WORKSPACE}/build/onap-oom" && git rev-parse --short HEAD)
-ONAP_OOM_VERSION=$(${YQ_BIN} e '.version' "${WORKSPACE}/build/onap-oom/kubernetes/onap/Chart.yaml")
-ONAP_OOM_VERSION_LATEST="${ONAP_OOM_VERSION//${ONAP_OOM_GIT_REVISION}/latest}"
-
-ONAP_UMBRELLA_CHART="${WORKSPACE}/build/onap-oom/kubernetes/dist/packages/onap-${ONAP_OOM_VERSION}.tgz"
-IMAGES_LIST="${WORKSPACE}/onap-${ONAP_OOM_VERSION}_images.txt"
-
-export NORDIX_ARM_REPO="onap"
-export ARTIFACT_ARM_FOLDER="oom"
-export BUILD_IDENTIFIER="${ONAP_OOM_GIT_REVISION}"
-export NORDIX_ARTIFACT_URL="${NORDIX_ARM_HTTPS_URL}/${NORDIX_ARM_REPO}/${ARTIFACT_ARM_FOLDER}/${BUILD_IDENTIFIER}"
-export NORDIX_ARTIFACT_URL_LATEST="${NORDIX_ARM_HTTPS_URL}/${NORDIX_ARM_REPO}/${ARTIFACT_ARM_FOLDER}/latest"
-
-echo "Info : Pushing ONAP umbrella chart to Nordix Harbor"
-HELM_BIN="${WORKSPACE}/bin/helm"
-${HELM_BIN} repo remove onaptest || true
-${HELM_BIN} repo add onaptest "${NORDIX_REGISTRY}/chartrepo/onaptest"
-${HELM_BIN} push -f "${ONAP_UMBRELLA_CHART}" --username "${HARBOR_USERNAME}" --password "${HARBOR_PASSWORD}" onaptest
-# Also push with "latest" version
-${HELM_BIN} push -f "${ONAP_UMBRELLA_CHART}" --username "${HARBOR_USERNAME}" --password "${HARBOR_PASSWORD}" --version "${ONAP_OOM_VERSION_LATEST}" onaptest
-
-export BUILD_ARTIFACTS="${ONAP_UMBRELLA_CHART} ${IMAGES_LIST}"
-echo "Info : Uploading ${BUILD_ARTIFACTS} to Nordix ARM ${NORDIX_ARM_REPO} repository"
-for BUILD_ARTIFACT in $BUILD_ARTIFACTS; do
- echo "Info : Generating checksums for $BUILD_ARTIFACT"
- ARTIFACT_MD5SUM=$(md5sum "${BUILD_ARTIFACT}" | cut -d' ' -f1)
- ARTIFACT_SHASUM=$(shasum "${BUILD_ARTIFACT}" | cut -d' ' -f1)
- ARTIFACT_SHA256SUM=$(sha256sum "${BUILD_ARTIFACT}" | cut -d' ' -f1)
-
- REMOTE_ARTIFACT=$(basename "${BUILD_ARTIFACT}")
- REMOTE_ARTIFACT_LATEST=$(basename "${BUILD_ARTIFACT//${ONAP_OOM_GIT_REVISION}/latest}")
- # NOTE(cian): URL-encoding remote artifact as filename may contain special characters
- REMOTE_ARTIFACT_QUOTED=$(echo -n "${REMOTE_ARTIFACT}" | python3 -c 'from sys import stdout, stdin; from urllib.parse import quote; stdout.write(quote(stdin.read()))')
- REMOTE_ARTIFACT_LATEST_QUOTED=$(echo -n "${REMOTE_ARTIFACT_LATEST}" | python3 -c 'from sys import stdout, stdin; from urllib.parse import quote; stdout.write(quote(stdin.read()))')
-
- echo "Info : Uploading ${BUILD_ARTIFACT} to Nordix Artifactory"
- curl -s -S \
- -H "X-JFrog-Art-Api:${NORDIX_ARM_TOKEN}" \
- -H "X-Checksum-MD5:${ARTIFACT_MD5SUM}" \
- -H "X-Checksum-Sha1:${ARTIFACT_SHASUM}" \
- -H "X-Checksum-Sha256:${ARTIFACT_SHA256SUM}" \
- -T "${BUILD_ARTIFACT}" \
- "${NORDIX_ARTIFACT_URL}/${REMOTE_ARTIFACT}"
- echo "Info : Artifact ${BUILD_ARTIFACT} is available on ${NORDIX_ARTIFACT_URL}/${REMOTE_ARTIFACT_QUOTED}"
- echo "Info : Uploading ${BUILD_ARTIFACT} to Nordix Artifactory as ${REMOTE_ARTIFACT_LATEST}"
- curl -s -S \
- -H "X-JFrog-Art-Api:${NORDIX_ARM_TOKEN}" \
- -H "X-Checksum-MD5:${ARTIFACT_MD5SUM}" \
- -H "X-Checksum-Sha1:${ARTIFACT_SHASUM}" \
- -H "X-Checksum-Sha256:${ARTIFACT_SHA256SUM}" \
- -T "${BUILD_ARTIFACT}" \
- "${NORDIX_ARTIFACT_URL_LATEST}/${REMOTE_ARTIFACT_LATEST}"
- echo "Info : Artifact ${BUILD_ARTIFACT} available on ${NORDIX_ARTIFACT_URL_LATEST}/${REMOTE_ARTIFACT_LATEST_QUOTED}"
-done
-
-echo "Done!"
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o errexit
-set -o pipefail
-
-# NOTE (fdegir): we need to remove $WORKSPACE and clone infra/engine repository
-# as infra/engine is what drives the deployment
-if [[ "$GERRIT_PROJECT" != "infra/engine" ]]; then
- cd "$HOME" && /bin/rm -rf "$WORKSPACE"
- echo "Info : Cloning infra/engine repository"
- git clone -q https://gerrit.nordix.org/infra/engine.git "$WORKSPACE"
- cd "$WORKSPACE"
-fi
-
-# NOTE (fdegir): this variable is set by generate-change-metadata.sh script
-# if a dependency to engine repo is determined so we check out that refspec
-# to ensure we respect the dependency
-if [[ ! -z "${NORDIX_ENGINE_REFSPEC+x}" ]]; then
- echo "Info : Fetching dependent change ${NORDIX_ENGINE_REFSPEC} infra/engine"
- git fetch "https://gerrit.nordix.org/infra/engine" ${NORDIX_ENGINE_REFSPEC} && git checkout FETCH_HEAD
-fi
-
-echo "Info : Packaging stack $STACK_TYPE"
-
-export LC_ALL="en_US.UTF-8"
-
-cd "$WORKSPACE/engine"
-./package.sh -s "$STACK_TYPE" -b "$STACK_VERSION" -d "$DISTRO" -v
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-if [[ "$PROMOTE_STACK" != "true" ]]; then
- echo "Info : Promotion is disabled. Skipping!"
- exit 0
-fi
-
-echo "Info : Promoting stack!"
-
-cd /tmp
-for BUILD_ARTIFACT in $BUILD_ARTIFACTS; do
- echo "Info : Generating checksums for $BUILD_ARTIFACT"
- ARTIFACT_MD5SUM=$(md5sum $BUILD_ARTIFACT | cut -d' ' -f1)
- ARTIFACT_SHASUM=$(shasum $BUILD_ARTIFACT | cut -d' ' -f1)
- ARTIFACT_SHA256SUM=$(sha256sum $BUILD_ARTIFACT | cut -d' ' -f1)
-
- # NOTE (fdegir): get rid of /tmp from BUILD_ARTIFACT
- REMOTE_ARTIFACT=$(echo $BUILD_ARTIFACT | sed 's/.*\///g')
-
- # NOTE (fdegir): promotion is copying artifacts to latest folder for the release/branch
- PROMOTED_ARTIFACT_URL=$(echo $NORDIX_ARTIFACT_URL | sed "s/$BUILD_IDENTIFIER/latest/g")
-
- echo "Info : Uploading $BUILD_ARTIFACT to Nordix Artifactory"
- curl -s -S \
- -H "X-JFrog-Art-Api:$NORDIX_ARM_TOKEN" \
- -H "X-Checksum-MD5:$ARTIFACT_MD5SUM" \
- -H "X-Checksum-Sha1:$ARTIFACT_SHASUM" \
- -H "X-Checksum-Sha256:$ARTIFACT_SHA256SUM" \
- -T $BUILD_ARTIFACT \
- "$PROMOTED_ARTIFACT_URL/$REMOTE_ARTIFACT"
- echo "Info : Artifact $BUILD_ARTIFACT is promoted to $PROMOTED_ARTIFACT_URL/$REMOTE_ARTIFACT"
-done
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o errexit
-set -o pipefail
-
-# NOTE (akash): ONAP_TEST_BRANCH is set to master as
-# no other branch is available
-export ONAP_TEST_BRANCH="master"
-
-# NOTE (akash): we need to remove $WORKSPACE and clone infra/test repository
-# as infra/test is what drives the deployment
-if [[ "$GERRIT_PROJECT" != "infra/test" ]]; then
- cd "$HOME" && /bin/rm -rf "$WORKSPACE"
- echo "Info : Cloning infra/engine repository"
- git clone -q https://gerrit.nordix.org/infra/test.git "$WORKSPACE"
- cd "$WORKSPACE"
-fi
-
-echo "Info : Packaging test stack $STACK_TYPE"
-
-cd "$WORKSPACE/test"
-./package.sh -s "$STACK_TYPE" -b "$ONAP_TEST_BRANCH" -d "$DISTRO" -v
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-#-------------------------------------------------------------------------------
-# Various tests are run using tox such as docs, yamllint, ansible-lint, and
-# shellcheck. Some repos do not have certain types of files and those repos
-# are ignored using REPOS_TO_IGNORE variable which is controlled within the
-# jjb per lint type.
-#-------------------------------------------------------------------------------
-run_tox() {
-
- echo "Info : Preparing to run tox for the repo $GERRIT_PROJECT"
-
- # set and export defaults
- LINT_TYPE="${LINT_TYPE:-ansible-lint}"
- REPOS_TO_IGNORE="${REPOS_TO_IGNORE:-none}"
- VERBOSITY=${VERBOSITY:-false}
- export LINT_TYPE REPOS_TO_IGNORE VERBOSITY
-
- # check if the change is for a repo we should ignore
- if [[ "$REPOS_TO_IGNORE" =~ "$GERRIT_PROJECT" ]]; then
- echo "Info : Ignoring change as $GERRIT_PROJECT is in ignore list!"
- echo "Info : Done!"
- exit 0
- fi
-
- # ensure we are in job build WORKSPACE
- cd "$WORKSPACE"
-
- # set DEBIAN_FRONTEND to run apt non-interactively
- DEBIAN_FRONTEND=noninteractive
- export DEBIAN_FRONTEND
-
- # install dependencies
- echo "Info : Install python3.7-minimal python3-distutils python3-venv using apt"
- redirect_cmd sudo apt update
- redirect_cmd sudo apt install -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y python3.7-minimal python3-distutils python3-venv
-
- # create and activate virtualenv
- echo "Info : Create and activate python virtualenv"
- redirect_cmd python3 -m venv .venv
- set +u
- redirect_cmd source .venv/bin/activate
- set -u
-
- # install only tox since the rest of the requirements are installed by tox itself
- TOX_PACKAGE=$(grep "^tox==" test-requirements.txt)
- echo "Info : Install $TOX_PACKAGE"
- redirect_cmd pip install --force-reinstall "$TOX_PACKAGE"
-
- # run tox
- echo "Info : Run $LINT_TYPE using tox"
- echo "----------------------------------------------------"
- tox -e "$LINT_TYPE"
- echo "----------------------------------------------------"
- echo "Info : Done!"
-
-}
-#-------------------------------------------------------------------------------
-# In some cases, it is useful to see all the output generated by commands so
-# this function makes it possible for users to achieve that by not redirecting
-# output to /dev/null when verbosity is enabled
-#-------------------------------------------------------------------------------
-redirect_cmd() {
-
- if [[ "$VERBOSITY" == "false" ]]; then
- "$@" > /dev/null 2>&1
- else
- "$@"
- fi
-
-}
-#-------------------------------------------------------------------------------
-# run tox
-#-------------------------------------------------------------------------------
-
-run_tox "$@"
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-echo "Info : Uploading $BUILD_ARTIFACTS to Nordix ARM $NORDIX_ARM_REPO repository"
-
-if [[ "$EXECUTION_MODE" == "packaging" || "$EXECUTION_MODE" == "offline-deployment" ]]; then
- cd /tmp
- for BUILD_ARTIFACT in $BUILD_ARTIFACTS; do
- echo "Info : Generating checksums for $BUILD_ARTIFACT"
- ARTIFACT_MD5SUM=$(md5sum $BUILD_ARTIFACT | cut -d' ' -f1)
- ARTIFACT_SHASUM=$(shasum $BUILD_ARTIFACT | cut -d' ' -f1)
- ARTIFACT_SHA256SUM=$(sha256sum $BUILD_ARTIFACT | cut -d' ' -f1)
-
- # NOTE (fdegir): get rid of /tmp from BUILD_ARTIFACT
- REMOTE_ARTIFACT=$(echo $BUILD_ARTIFACT | sed 's/.*\///g')
-
- echo "Info : Uploading $BUILD_ARTIFACT to Nordix Artifactory"
- curl -s -S \
- -H "X-JFrog-Art-Api:$NORDIX_ARM_TOKEN" \
- -H "X-Checksum-MD5:$ARTIFACT_MD5SUM" \
- -H "X-Checksum-Sha1:$ARTIFACT_SHASUM" \
- -H "X-Checksum-Sha256:$ARTIFACT_SHA256SUM" \
- -T $BUILD_ARTIFACT \
- "$NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT"
- echo "Info : Artifact $BUILD_ARTIFACT is available on $NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT"
- done
-else
- echo "Info : Online deployment. No artifact to upload."
-fi
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o nounset
-set -o errexit
-set -o pipefail
-
-# export BUILD_ARTIFACTS="/tmp/${STACK_TYPE}-test-${STACK_VERSION}.bsx"
-echo "Info : Uploading $OFFLINE_XTESTING_FILE to Nordix ARM $NORDIX_ARM_REPO repository"
-
-if [[ "$EXECUTION_MODE" == "packaging" || "$EXECUTION_MODE" == "offline-deployment" ]]; then
- cd /tmp
- for BUILD_ARTIFACT in $OFFLINE_XTESTING_FILE; do
- echo "Info : Generating checksums for $BUILD_ARTIFACT"
- ARTIFACT_MD5SUM=$(md5sum $BUILD_ARTIFACT | cut -d' ' -f1)
- ARTIFACT_SHASUM=$(shasum $BUILD_ARTIFACT | cut -d' ' -f1)
- ARTIFACT_SHA256SUM=$(sha256sum $BUILD_ARTIFACT | cut -d' ' -f1)
-
- # NOTE (fdegir): get rid of /tmp from BUILD_ARTIFACT
- REMOTE_ARTIFACT=$(echo $BUILD_ARTIFACT | sed 's/.*\///g')
-
- echo "Info : Uploading $BUILD_ARTIFACT to Nordix Artifactory"
- curl -s -S \
- -H "X-JFrog-Art-Api:$NORDIX_ARM_TOKEN" \
- -H "X-Checksum-MD5:$ARTIFACT_MD5SUM" \
- -H "X-Checksum-Sha1:$ARTIFACT_SHASUM" \
- -H "X-Checksum-Sha256:$ARTIFACT_SHA256SUM" \
- -T $BUILD_ARTIFACT \
- "$NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT"
- echo "Info : Artifact $BUILD_ARTIFACT is available on $NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT"
- done
-else
- echo "Info : Online deployment. No artifact to upload."
-fi
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o errexit
-set -o pipefail
-
-# NOTE (eprasad) we need to override execution mode variable to mode supported by test framework
-export EXECUTION_MODE=$(echo "$EXECUTION_MODE" | sed 's/deployment/test/g')
-
-if [[ "$EXECUTION_MODE" == "offline-test" ]]; then
- TEST_ROOT_DIR="/opt/test/offline/git/test"
-else
- TEST_ROOT_DIR="$WORKSPACE"
-fi
-
-echo "Info : Cloning infra/test repository"
-cd $HOME && /bin/rm -rf $WORKSPACE
-git clone -q $TEST_REPO_URL $WORKSPACE
-
-
-cd "$TEST_ROOT_DIR/test"
-./test.sh -s "$STACK_TYPE" -b "$BRANCH" -c "$DEPLOY_SCENARIO" -f "$TEST_FW" -t "$TEST_SUITE" \
- -o /tmp/openrc -i /tmp/inventory.ini -y -v
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# 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=========================================================
-
-set -o errexit
-set -o pipefail
-
-# NOTE (eprasad) we need to override execution mode variable to mode supported by test framework
-export EXECUTION_MODE=$(echo "$EXECUTION_MODE" | sed 's/deployment/test/g')
-
-if [[ "$EXECUTION_MODE" == "offline-test" ]]; then
- TEST_ROOT_DIR="/opt/test/offline/git/test"
-else
- TEST_ROOT_DIR="$WORKSPACE"
-fi
-
-echo "Info : Cloning infra/test repository"
-cd $HOME && /bin/rm -rf $WORKSPACE
-git clone -q $TEST_REPO_URL $WORKSPACE
-
-
-cd "$TEST_ROOT_DIR/test"
-./test.sh -s "$STACK_TYPE" -b "$BRANCH" -c "$DEPLOY_SCENARIO" -f "$TEST_FW" -t "$TEST_SUITE" \
- -o /tmp/openrc -i /tmp/inventory.ini -y -v
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-functest.sh
\ No newline at end of file
- shell:
!include-raw: ./verify_geode_tag.sh
+- builder:
+ name: 'wait-pkg-mgr-macro'
+ builders:
+ - shell:
+ !include-raw: ./scripts/wait-for-pkg-manager.sh
+
# defaults for job build history
- property:
name: logrotate-default
notify-failure: true
notify-back-to-normal: true
notify-repeated-failure: true
-
+++ /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=========================================================
-
-- builder:
- name: 'handlebooking-macro'
- builders:
- - shell:
- !include-raw: ../cloud-infra/scripts/wait-for-pkg-manager.sh
- - shell: |
- #!/bin/bash
- /bin/rm -f /tmp/openrc
- /bin/cp -f $OPENRC_FILE /tmp/openrc
- - shell:
- !include-raw: ./handle-booking.sh
-
-- builder:
- name: 'deletebooking-macro'
- builders:
- - shell:
- !include-raw: ../cloud-infra/scripts/wait-for-pkg-manager.sh
- - shell: |
- #!/bin/bash
- /bin/rm -f /tmp/openrc
- /bin/cp -f $OPENRC_FILE /tmp/openrc
- - shell:
- !include-raw: ./delete-booking.sh
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd $WORKSPACE
-
-# install dependencies
-sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse" > /dev/null
-sudo apt install -y virtualenv jq > /dev/null
-/bin/rm -rf $NOLABS_VENV && mkdir -p $NOLABS_VENV
-virtualenv -p python3 $NOLABS_VENV > /dev/null
-set +u
-source $NOLABS_VENV/bin/activate > /dev/null
-set -u
-pip install httpie python-openstackclient python-heatclient python-novaclient > /dev/null
-source /tmp/openrc
-
-export STACK_NAME="nordix-nolabs-booking${BOOKING_ID}-${DEPLOY_SCENARIO}"
-export KEYPAIR_NAME="keypair-${STACK_NAME}"
-echo "Info: STACK_NAME is set to $STACK_NAME"
-echo "Info: KEYPAIR_NAME is set to $KEYPAIR_NAME"
-echo "Info: Deleting stack $STACK_NAME"
-echo "-------------------------------------------------"
-echo openstack stack delete -y $STACK_NAME
-openstack stack delete -y $STACK_NAME
-echo "-------------------------------------------------"
-echo "Info: Deleting keypair $KEYPAIR_NAME"
-echo "-------------------------------------------------"
-echo openstack keypair delete $KEYPAIR_NAME
-openstack keypair delete $KEYPAIR_NAME
-echo "-------------------------------------------------"
-
-# get authentication token
-echo "API Request: http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth dummy@dummy.com:dummy | jq -r '.token'"
-NOLABS_TOKEN=$(http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth $NOLABS_API_USERNAME:$NOLABS_API_PASSWORD | jq -r '.token')
-
-# update booking status
-echo "API Request: http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID \"status_text=deploying\" \"Authorization:Bearer DUMMY_TOKEN\""
-http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID \
- "Authorization:Bearer $NOLABS_TOKEN" \
- status_text=expired \
- floating_ip="N/A"
+++ /dev/null
-#!/bin/bash
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd $WORKSPACE
-echo "Info: Cleaning the previous deployment"
-echo "-------------------------------------------------------------------------"
-./stop.sh
-echo "-------------------------------------------------------------------------"
-echo "Info: Deploying the new version of nolabs"
-echo "-------------------------------------------------------------------------"
-./start.sh
-echo "-------------------------------------------------------------------------"
-echo "Info: Deployment successful!"
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd $WORKSPACE
-
-# install dependencies
-sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse" > /dev/null
-sudo apt install -y virtualenv jq > /dev/null
-/bin/rm -rf /opt/engine $NOLABS_VENV
-mkdir -p $NOLABS_VENV
-virtualenv -p python3 $NOLABS_VENV > /dev/null
-set +u
-source $NOLABS_VENV/bin/activate > /dev/null
-set -u
-pip install httpie > /dev/null
-
-# check if the booking is cancelled or not
-echo "API Request: http --ignore-stdin GET $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID | jq -r '.status_text'"
-BOOKING_STATUS=$(http --ignore-stdin GET $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID | jq -r '.status_text')
-if [[ $BOOKING_STATUS != 'new' ]]; then
- echo "Info: Booking is either cancelled or not valid! Exiting!"
- exit 0;
-fi
-
-# get authentication token
-echo "API Request: http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth dummy@dummy.com:dummy | jq -r '.token'"
-NOLABS_TOKEN=$(http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth $NOLABS_API_USERNAME:$NOLABS_API_PASSWORD | jq -r '.token')
-echo "API Request: http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID \"status_text=deploying\" \"Authorization:Bearer DUMMY_TOKEN\""
-http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID "status_text=deploying" \
- "Authorization:Bearer $NOLABS_TOKEN"
-
-# get ssh public key of the user
-echo "API Request: http GET $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID | jq -r '.user_id'"
-NOLABS_USER_ID=$(http GET $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID | jq -r '.user_id')
-echo "API Request: http --ignore-stdin GET $NOLABS_API_USERS_ENDPOINT/$NOLABS_USER_ID \"Authorization:Bearer DUMMY_TOKEN\" | jq -r '.ssh_public_key'"
-http --ignore-stdin GET $NOLABS_API_USERS_ENDPOINT/$NOLABS_USER_ID "Authorization:Bearer $NOLABS_TOKEN" | jq -r '.ssh_public_key' > $NOLABS_USER_SSHPUBKEY
-
-set +u
-deactivate
-set -u
-# get the specific patch
-cd $WORKSPACE
-git fetch "https://gerrit.nordix.org/infra/engine" $GERRIT_REFSPEC && git checkout FETCH_HEAD
-
-export STACK_NAME="nordix-nolabs-booking${BOOKING_ID}-${DEPLOY_SCENARIO}"
-echo "Info: STACK_NAME is set to $STACK_NAME"
-cd engine
-./deploy.sh -c -r heat -u /tmp/openrc -s $DEPLOY_SCENARIO -e "$HEAT_ENVIRONMENT_FILE"
-
-cd $WORKSPACE
-
-set +u
-source $NOLABS_VENV/bin/activate > /dev/null
-set -u
-ENGINE_VERSION=$(git rev-parse HEAD)
-cd /opt/engine/.cache/repos/swconfig
-SCENARIO_VERSION=$(git rev-parse HEAD)
-cd $WORKSPACE
-FLOATING_IP=$(cat /opt/engine/.cache/config/inventory.ini | grep 'jumphost ansible_host' | awk '{print $2}' | cut -d'=' -f2)
-
-# get authentication token
-echo "API Request: http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth dummy@dummy.com:dummy | jq -r '.token'"
-NOLABS_TOKEN=$(http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth $NOLABS_API_USERNAME:$NOLABS_API_PASSWORD | jq -r '.token')
-
-# update booking
-echo "API Request: http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID \
- \"Authorization:Bearer DUMMY_TOKEN\" \
- status_text=active \
- floating_ip=$FLOATING_IP \
- heat_stack_name=$STACK_NAME \
- scenario_deploy_log_url=${BUILD_URL}consoleFull \
- engine_version=$ENGINE_VERSION \
- scenario_version=$SCENARIO_VERSION"
-http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID \
- "Authorization:Bearer $NOLABS_TOKEN" \
- status_text=active \
- floating_ip=$FLOATING_IP \
- heat_stack_name=$STACK_NAME \
- scenario_deploy_log_url=${BUILD_URL}consoleFull \
- engine_version=$ENGINE_VERSION \
- scenario_version=$SCENARIO_VERSION
+++ /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=========================================================
-
-#--------------------------------------------------------------------------------------
-# The jobs declared in this JJB configuration file are used for verifying patches
-# that are sent to the repositories below
-# - cloud-infra/engine
-#
-# These jobs verify changes that
-# - implement new features or fix bugs for the deployment framework, engine, itself
-# - implement new features or fix bugs to the playbooks and roles used for utilizing
-# open source components such as bifrost, kubespray, and kolla-ansible
-# - bump versions of open source components or the scenarios
-#
-# These jobs are set to run on slaves with label vpod-deploy-ubuntu1604.
-# The slaves have
-# - Ubuntu1604 as the base distro
-# - nested virtualization
-# - internet access
-# - passwordless sudo
-# - 16 CPUs/32GB RAM/200 GB Disk
-# - docker, git vim curl wget zip unzip chrony apt-transport-https ca-certificates curl
-# gnupg-agent software-properties-common docker-ce docker-ce-cli containerd.io openjdk-8-jre
-#
-# The slaves should not have a cloud infra scenario deployed on them.
-#--------------------------------------------------------------------------------------
-
-- project:
- name: 'nolabs-booking'
-
- project: 'infra/engine'
-
- stream:
- - 'master':
- branch: '{stream}'
- slave-label: 'nolabs-booking-slave'
- build-timeout: 60
-# slave-label: 'vpod-deploy-ubuntu1804'
-
- booking-phase:
- - 'handle'
- - 'delete'
-
- target-site:
- - 'test':
- api-tokens-endpoint: 'http://188.212.108.245/api/tokens'
- api-users-endpoint: 'http://188.212.108.245/api/users'
- api-bookings-endpoint: 'http://188.212.108.245/api/bookings'
- - 'production':
- api-tokens-endpoint: 'https://labs.nordix.org/api/tokens'
- api-users-endpoint: 'https://labs.nordix.org/api/users'
- api-bookings-endpoint: 'https://labs.nordix.org/api/bookings'
-
- jobs:
- - 'nolabs-{booking-phase}-booking-{target-site}site-{stream}'
-
-- job-template:
- name: 'nolabs-{booking-phase}-booking-{target-site}site-{stream}'
-
- node: '{slave-label}'
-
- concurrent: true
-
- parameters:
- - project-parameters:
- project: '{project}'
- branch: '{branch}'
- - nordix-gerrit-parameters
- - string:
- name: TARGET_SITE
- default: '{target-site}'
- description: 'Target site to handle the bookings for.'
-# - 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: BOOKING_PHASE
- default: '{booking-phase}'
- description: 'Phase of the booking.'
- - string:
- name: BOOKING_ID
- default: 0
- description: 'ID of the booking to handle. Default is 0 which is a non-existent booking to prevent running the job by mistake.'
- - string:
- name: DEPLOY_SCENARIO
- default: 'k8-mycoolplugin-mycoolfeature'
- description: 'Scenario to deploy for the booking. Default is a non-existent scenario to prevent running the job by mistake.'
- - string:
- name: NOLABS_API_TOKENS_ENDPOINT
- default: '{api-tokens-endpoint}'
- description: 'API endpoint for tokens.'
- - string:
- name: NOLABS_API_USERS_ENDPOINT
- default: '{api-users-endpoint}'
- description: 'API endpoint for users.'
- - string:
- name: NOLABS_API_BOOKINGS_ENDPOINT
- default: '{api-bookings-endpoint}'
- description: 'API endpoint for bookings.'
- - string:
- name: NOLABS_USER_SSHPUBKEY
- default: '/tmp/nolabs/id_rsa.pub'
- description: 'SSH public key for the user who created the booking.'
- - string:
- name: NOLABS_VENV
- default: '/tmp/nolabs/.venv'
- description: 'Python virtualenv location to use.'
- - string:
- name: GERRIT_REFSPEC
- default: 'refs/changes/74/3574/3'
- description: 'Refspec to checkout'
- - string:
- name: HEAT_ENVIRONMENT_FILE
- default: "file://$WORKSPACE/engine/provisioner/heat/playbooks/roles/bootstrap-hwconfig/files/heat-environment.yaml"
- description: 'Using a special heat environment file until the change gets merged.'
-
- properties:
- - logrotate
-# - build-blocker:
-# use-build-blocker: true
-# blocking-jobs:
-# - 'cloud-infra-verify-engine-.*'
-# - 'cloud-infra-verify-scenario-.*'
-# - 'cloud-infra-periodic-engine-.*'
-# - 'k8-.*'
-# - 'nolabs-.*'
-# block-level: 'NODE'
-# - throttle:
-# max-per-node: 1
-# max-total: 10
-# option: project
-
- wrappers:
- - credentials-binding:
- - file:
- credential-id: nordix-nolabs-openrcfile-city-karlskrona-defaultproject
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: nordix-nolabs-jenkins-api-credentials
- username: NOLABS_API_USERNAME
- password: NOLABS_API_PASSWORD
- - mask-passwords
- - build-timeout:
- timeout: '{build-timeout}'
- - fix-workspace-permissions
- - openstack:
- single-use: True
-
- scm:
- - git-scm:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
- refspec: ''
- wipe_workspace: true
- clean_before: false
-
- builders:
- - description-setter:
- description: $BOOKING_ID | $DEPLOY_SCENARIO
- - '{booking-phase}booking-macro'
-
-# vim: set ts=2 sw=2 expandtab:
+++ /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: 'nolabs-verify-merge'
-
- project: 'nolabs'
-
- stream:
- - 'master':
- branch: '{stream}'
-
- jobs:
- - 'nolabs-verify-{stream}':
- slave-label: nolabs-dev
- - 'nolabs-merge-{stream}':
- slave-label: nolabs-dev
- - 'nolabs-deploy-{stream}':
- slave-label: nolabs-prod
-
-- job-template:
- name: 'nolabs-verify-{stream}'
-
- concurrent: false
-
- parameters:
- - project-parameters:
- project: '{project}'
- branch: '{branch}'
- - nordix-gerrit-parameters
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- description: 'Slave label to schedule this job on.'
-
- properties:
- - logrotate
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'nolabs-.*'
- block-level: 'NODE'
- - throttle:
- max-per-node: 1
- max-total: 1
- option: project
-
- wrappers:
- - build-timeout:
- timeout: 10
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: 'nolabs/website'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '.gitignore'
- - compare-type: ANT
- pattern: '.gitreview'
-
- builders:
- - shell: |
- #!/bin/bash
- echo "To be implemented"
-
-- job-template:
- name: 'nolabs-merge-{stream}'
-
- concurrent: false
-
- parameters:
- - project-parameters:
- project: '{project}'
- branch: '{branch}'
- - nordix-gerrit-parameters
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- description: 'Slave label to schedule this job on.'
-
- properties:
- - logrotate
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'nolabs-.*'
- block-level: 'NODE'
- - throttle:
- max-per-node: 1
- max-total: 1
- option: project
-
- wrappers:
- - build-timeout:
- timeout: 10
- - fix-workspace-permissions
-
- scm:
- - git-scm:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
- refspec: ''
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'nolabs/website'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '.gitignore'
- - compare-type: ANT
- pattern: '.gitreview'
-
- builders:
- - shell: |
- #!/bin/bash
- echo "To be implemented"
-
-- job-template:
- name: 'nolabs-deploy-{stream}'
-
- concurrent: false
-
- parameters:
- - project-parameters:
- project: '{project}'
- branch: '{branch}'
- - nordix-gerrit-parameters
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- description: 'Slave label to schedule this job on.'
-
- properties:
- - logrotate
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'nolabs-.*'
- block-level: 'NODE'
- - throttle:
- max-per-node: 1
- max-total: 1
- option: project
-
- wrappers:
- - build-timeout:
- timeout: 10
- - fix-workspace-permissions
-
- scm:
- - git-scm:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
- refspec: ''
- wipe_workspace: true
- clean_before: false
-
- triggers:
- - gerrit:
- server-name: 'Nordix Gerrit'
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: 'website-deploy-to-production'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'nolabs/website'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '.gitignore'
- - compare-type: ANT
- pattern: '.gitreview'
-
- builders:
- - shell: |
- #!/bin/bash
- echo "To be implemented"
-
-# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
-#!/bin/bash
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd $WORKSPACE
-app=nolabs-verify-${BUILD_ID}
-echo "Info: Building the container image nolabs-verify-${BUILD_ID}"
-echo "-------------------------------------------------------------------------"
-docker build -t $app .
-echo "-------------------------------------------------------------------------"
-echo "Info: Build successful!"
-docker rmi -f $app > /dev/null
+++ /dev/null
----
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 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=========================================================
-
-# this job gets triggered when push-upstream is commented on a change on Nordix Gerrit.
-- project:
- name: 'oom-helm-build'
- project: 'infra/installer/oom'
-
- stream:
- - 'master':
- branch: 'master'
-
- jobs:
- - 'onap-oom-helm-build-{stream}'
-
-- job-template:
- name: 'onap-oom-helm-build-{stream}'
- node: infra-ubuntu2004
- disabled: false
- concurrent: false
-
- parameters:
- - project-parameters:
- project: '{project}'
- branch: '{branch}'
- description: 'The project and branch for which the change is proposed'
- - nordix-gerrit-parameters
- - string:
- name: HELM_URL
- default: 'https://get.helm.sh/helm-v3.5.0-linux-amd64.tar.gz'
- description: Specifies the URL to fetch Helm.
- - string:
- name: HELM_PUSH_URL
- default: 'https://github.com/chartmuseum/helm-push/releases/download/v0.9.0/helm-push_0.9.0_linux_amd64.tar.gz'
- description: Specifies the URL to fetch the Helm-push plugin.
- - string:
- name: CHARTMUSEUM_URL
- default: 'https://get.helm.sh/chartmuseum-v0.13.1-linux-amd64.tar.gz'
- description: Specifies the URL to fetch Chartmuseum.
- - string:
- name: YQ_URL
- default: 'https://github.com/mikefarah/yq/releases/download/v4.7.0/yq_linux_amd64'
- description: Specifies the URL to fetch yq.
- - string:
- name: NORDIX_REGISTRY
- default: "https://registry.nordix.org"
- description: Chart registry to upload the built Helm chart.
- - string:
- name: NORDIX_ARM_HTTPS_URL
- default: "https://artifactory.nordix.org/artifactory"
- description: "Artifact Repository Manager to which to upload the built artifacts."
- - string:
- name: ONAP_OOM_URL
- default: 'https://gerrit.onap.org/r/oom'
- description: URL to fetch OOM Git repository.
- - string:
- name: ONAP_OOM_VERSION
- default: 'master'
- description: Spcifies the version of OOM to fetch.
- - string:
- name: ONAP_OOM_HELM_CHART_VALUES_REPLACEMENTS
- description: A comma-separated list of yq expressions to execute on ONAP umbrella chart values.yaml
- default: >
- explode(.),
- .global.masterPassword="nordix",
- .global.repository="nexus3.onap.org:10001",
- .global.imagePullPolicy="IfNotPresent",
- .global.ingress.enabled=true,
- .global.serviceMesh.enabled=true,
- .global.metrics.enabled=true,
- .global.addTestingComponents=true,
- .a1policymanagement.enabled=true,
- .aaf.enabled=true,
- .aai.enabled=true,
- .appc.enabled=true,
- .cassandra.enabled=true,
- .cds.enabled=true,
- .cert-wrapper.enabled=true,
- .clamp.enabled=true,
- .cli.enabled=true,
- .consul.enabled=true,
- .contrib.enabled=true,
- .contrib.awx.enabled=false,
- .contrib.netbox.enabled=false,
- .cps.enabled=true,
- .dcaegen2.enabled=true,
- .dcaegen2-services.enabled=true,
- .dcaemod.enabled=true,
- .dmaap.enabled=true,
- .esr.enabled=true,
- .holmes.enabled=true,
- .mariadb-galera.enabled=true,
- .modeling.enabled=true,
- .msb.enabled=true,
- .multicloud.enabled=true,
- .multicloud.multicloud-starlingx.enabled=true,
- .multicloud.multicloud-vio.enabled=true,
- .multicloud.multicloud-windriver.enabled=true,
- .nbi.enabled=true,
- .oof.enabled=true,
- .platform.enabled=true,
- .policy.enabled=true,
- .pomba.enabled=false,
- .portal.enabled=true,
- .repository-wrapper.enabled=true,
- .robot.enabled=true,
- .sdc.enabled=true,
- .sdnc.enabled=true,
- .sniro-emulator.enabled=false,
- .so.enabled=true,
- .uui.enabled=false,
- .vfc.enabled=false,
- .vid.enabled=true,
- .vndsdk.enabled=true
- - string:
- name: ONAP_OOM_HELM_CHART_VALUES_OVERRIDE
- default: ''
- description: Specifies the location of an additional file to pass to helm template.
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
- refspec: '+refs/heads/{branch}:refs/remotes/origin/{branch}'
- wipe_workspace: true
- clean_before: false
-
- wrappers:
- - build-timeout:
- timeout: 600
- - nordixinfra-harbor-creds-wrapper
- - credentials-binding:
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - 'oom-build-installdeps-macro'
- - 'oom-build-wrapper-macro'
- - 'oom-upload-macro'
-
- publishers:
- - notify-slack:
- slack-channel: '#infra'
- notify-start: false
- notify-success: false
- notify-failure: false
- notify-back-to-normal: false
-
- triggers:
- - timed: '@daily'
-
-# vim: ts=2 sw=2 expandtab: