From: Matthew McNeilly Date: Wed, 29 Jul 2020 09:22:12 +0000 (+0000) Subject: Merge "Builds and archives uds artifacts" X-Git-Url: https://gerrit.nordix.org/gitweb?a=commitdiff_plain;h=01a26b2da08b688b4837f83855ea046c1fba770b;hp=fa60fdc2ece2dfddc34e0391841bc1f27520f00f;p=infra%2Fcicd.git Merge "Builds and archives uds artifacts" --- diff --git a/jjb/airship/job_feature_tests_ubuntu.yml b/jjb/airship/job_feature_tests_ubuntu.yml index dc9af39a..b648b277 100644 --- a/jjb/airship/job_feature_tests_ubuntu.yml +++ b/jjb/airship/job_feature_tests_ubuntu.yml @@ -59,7 +59,7 @@ description: 'Distribution to use for the tests.' - string: name: CAPI_VERSION - default: 'v1alpha3' + default: 'v1alpha4' description: 'Cluster API version. Can be v1alpha3 or v1alpha4.' - string: name: TARGET_NODE_OS diff --git a/jjb/airship/job_master_feature_tests_ubuntu.yml b/jjb/airship/job_master_feature_tests_ubuntu.yml index 53f0af00..7310eb7a 100644 --- a/jjb/airship/job_master_feature_tests_ubuntu.yml +++ b/jjb/airship/job_master_feature_tests_ubuntu.yml @@ -59,7 +59,7 @@ description: 'Distribution to use for the tests.' - string: name: CAPI_VERSION - default: 'v1alpha3' + default: 'v1alpha4' description: 'Cluster API version. Can be v1alpha3 or v1alpha4.' - string: name: TARGET_NODE_OS diff --git a/jjb/cloud-infra/cloud-infra-deploy.sh b/jjb/cloud-infra/cloud-infra-deploy.sh deleted file mode 100644 index 29854372..00000000 --- a/jjb/cloud-infra/cloud-infra-deploy.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/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 nounset -set -o pipefail - -# This script is a wrapper around actual cloud infra engine deploy.sh script which gets -# executed when the job that uses this script gets triggered due to Gerrit change. -# -# Logic in this script should be kept at minimum and the changes should be pushed into -# the cloud infra engine deploy.sh script. - -# The verify job will verify changes coming to other repositories as well such as -# infra/swconfig so it needs to be handled here in order to ensure $WORKSPACE contains -# the actual engine repo clone. This will be added later on. - -# PDF and IDF are determined based on the deployment type -# If DEPLOY_TYPE is virtual, we always use nordix-vpod1 PDF and IDF. -# If DEPLOY_TYPE is baremetal, we use variable NODE_NAME injected by Jenkins to the job -# in order to set PDF and IDF for the POD the job is running against. - -# be more explicit while determining if we support verification of the given scenario -case $DEPLOY_SCENARIO in - onap*) - echo "Info: $DEPLOY_SCENARIO scenario verification has not been implemented yet!" - exit 0 - ;; - os*|armada*) - if [[ "$PROVISIONER_TYPE" != "bifrost" ]]; then - echo "Info: $DEPLOY_SCENARIO scenario verification is only available with the provisioner bifrost" - exit 0 - fi - ;; - k8*) - ;; - *) - echo "Error: Scenario $DEPLOY_SCENARIO is not supported!" - exit 1 - ;; -esac - -echo "Info: Proceeding with $DEPLOY_SCENARIO scenario using provisioner $PROVISIONER_TYPE" - -if [[ $DEPLOY_TYPE == "baremetal" ]]; then - PDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-pdf.yml" - IDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-idf.yml" -else - 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" -fi - -if [[ $PROVISIONER_TYPE == "bifrost" ]]; then - DEPLOY_CMD="./engine/deploy.sh -r $PROVISIONER_TYPE -d $INSTALLER_TYPE -o $DISTRO -s $DEPLOY_SCENARIO -p $PDF -i $IDF" -elif [[ $PROVISIONER_TYPE == "heat" ]]; then - DEPLOY_CMD="./engine/deploy.sh -r $PROVISIONER_TYPE -d $INSTALLER_TYPE -o $DISTRO -s $DEPLOY_SCENARIO -u /tmp/openrc -e $HEAT_ENVIRONMENT_FILE" -else - echo "Error: Unsupported provisioner type. Must either be bifrost or heat!" - exit 1 -fi - -# execute cloud engine deploy.sh script -cd $WORKSPACE -$DEPLOY_CMD - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-docs.yaml b/jjb/cloud-infra/cloud-infra-docs.yaml deleted file mode 100644 index fee963e6..00000000 --- a/jjb/cloud-infra/cloud-infra-docs.yaml +++ /dev/null @@ -1,162 +0,0 @@ ---- -# ============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: 'cloud-infra-docs' - - project: 'cloud-infra-docs' - - stream: - - 'master': - branch: '{stream}' - disabled: true - - jobs: - - 'cloud-infra-verify-docs-{stream}' - - 'cloud-infra-merge-docs-{stream}' - -- job-template: - name: 'cloud-infra-verify-docs-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - node: 'infra-tools-docker-slave-ubuntu1804' - - parameters: - - project-parameters: - project: $GERRIT_PROJECT - branch: '{branch}' - - nordix-gerrit-parameters - - string: - name: LINT_TYPE - default: 'docs' - description: 'Lint type to run' - - properties: - - logrotate - - wrappers: - - build-timeout: - timeout: 150 - - fix-workspace-permissions - - scm: - - git: - url: '$GIT_BASE_SSH/$PROJECT' - credentials-id: nordixinfra-nordix-gerrit-ssh - branches: - - 'refs/heads/{branch}' - refspec: $GERRIT_REFSPEC - timeout: 15 - per-build-tag: false - skip-tag: true - shallow-clone: false - use-author: false - ignore-notify: false - wipe-workspace: true - prune: false - clean: - after: false - before: false - choosing-strategy: 'gerrit' - submodule: - recursive: true - tracking: true - - triggers: - - nordix-gerrit-trigger-patchset-created: - project: 'infra\/engine|infra\/docs' - branch: '{branch}' - files: 'docs/**' - skip-vote: - successful: false - failed: false - unstable: false - notbuilt: false - custom-url: '* $JOB_NAME $BUILD_URL' - - builders: - - 'cloud-infra-lint-macro' - -- job-template: - name: 'cloud-infra-merge-docs-{stream}' - - disabled: '{obj:disabled}' - - concurrent: false - - node: 'infra-docs-build' - - parameters: - - project-parameters: - project: $GERRIT_PROJECT - branch: '{branch}' - - nordix-gerrit-parameters - - string: - name: LINT_TYPE - default: 'docs-deploy' - description: 'Lint type to run' - - properties: - - logrotate - - wrappers: - - build-timeout: - timeout: 150 - - fix-workspace-permissions - - scm: - - git: - url: '$GIT_BASE_SSH/$PROJECT' - credentials-id: nordixinfra-nordix-gerrit-ssh - branches: - - 'refs/heads/{branch}' - refspec: '' - timeout: 15 - per-build-tag: false - skip-tag: true - shallow-clone: false - use-author: false - ignore-notify: false - wipe-workspace: 'true' - prune: false - clean: - after: false - before: false - choosing-strategy: 'default' - submodule: - recursive: true - tracking: true - - triggers: - - nordix-gerrit-trigger-change-merged: - project: 'infra\/docs' - branch: '{branch}' - files: 'docs/**' - custom-url: '* $JOB_NAME $BUILD_URL' - - wrappers: - - nordixinfra-jjb-creds-wrapper - - builders: - - 'cloud-infra-lint-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-engine-verify-deploy.yaml b/jjb/cloud-infra/cloud-infra-engine-verify-deploy.yaml deleted file mode 100644 index 0d023bc6..00000000 --- a/jjb/cloud-infra/cloud-infra-engine-verify-deploy.yaml +++ /dev/null @@ -1,361 +0,0 @@ ---- -# -# ============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: 'cloud-infra-verify-engine' - - project: 'infra/engine' - - stream: - - 'master': - branch: '{stream}' - - distro: - - ubuntu1804: - disabled: true - - centos7: - disabled: true - cloud: - - city: - openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap' - - type: - - virtual: - provisioner-type: 'bifrost' - slave-type: 'vpod' - successful: false - failed: false - unstable: false - notbuilt: false - - cloud: - provisioner-type: 'heat' - slave-type: 'jumphost' - successful: false - failed: false - unstable: false - notbuilt: false - - phase: - - deploy: - build-timeout: 90 - - functest: - build-timeout: 60 - - jobs: - - 'cloud-infra-verify-engine-{distro}-{cloud}-{type}-{stream}' - - 'cloud-infra-verify-engine-{distro}-{phase}-{type}-{stream}' - -- job-template: - name: 'cloud-infra-verify-engine-{distro}-{cloud}-{type}-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - parameters: - - project-parameters: - project: '{project}' - branch: '{branch}' - - nordix-gerrit-parameters - - label: - name: SLAVE_LABEL - default: '{cloud}-{slave-type}-{distro}' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: PROVISIONER_TYPE - default: '{provisioner-type}' - description: 'Provisioner type to use' - - string: - name: DEPLOY_TYPE - default: '{type}' - description: 'Type of the deployment' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: 'heat-environment-{cloud}-{distro}.yaml' - description: 'Name of heat-environment file to use.' - - string: - name: STACK_NAME - default: "nordix-cicd-verify-engine-{distro}-$BUILD_NUMBER" - description: 'Name of the created stack' - - string: - name: KEYPAIR_NAME - default: "keypair-nordix-cicd-verify-engine-{distro}-$BUILD_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_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: 'yes' - description: 'Delete the stack upon completion of the build' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 3 - option: project - - wrappers: - - credentials-binding: - - file: - credential-id: '{openrc-credentials-file}' - variable: OPENRC_FILE - - mask-passwords - - build-timeout: - timeout: 150 - - fix-workspace-permissions - - openstack: - single-use: True - - 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: 'infra\/engine' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - skip-vote: - successful: '{obj:successful}' - failed: '{obj:failed}' - unstable: '{obj:unstable}' - notbuilt: '{obj:notbuilt}' - custom-url: '* $JOB_NAME $BUILD_URL' - - builders: - - shell: | - #!/bin/bash - cp $OPENRC_FILE /tmp/openrc - - 'cloud-infra-determine-scenario-macro' - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'cloud-infra-verify-engine-{distro}-deploy-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE - GERRIT_PROJECT=$GERRIT_PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'cloud-infra-verify-engine-{distro}-functest-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - GERRIT_PROJECT=$GERRIT_PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - publishers: - - postbuildscript: - builders: - - role: SLAVE - build-on: - - SUCCESS - - FAILURE - - ABORTED - - NOT_BUILT - - UNSTABLE - build-steps: - - shell: - !include-raw-escape: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./delete-heat-stack.sh - -- job-template: - name: 'cloud-infra-verify-engine-{distro}-{phase}-{type}-{stream}' - - disabled: true - - concurrent: true - - properties: - - logrotate - - parameters: - - string: - name: PROJECT - default: $GERRIT_PROJECT - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.' - - string: - name: DEPLOY_TYPE - default: 'virtual' - description: 'Type of the deployment. Overriden by upstream job.' - - string: - name: PROVISIONER_TYPE - default: 'bifrost' - description: 'Provisioner type to use. Overriden by upstream job.' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: "heat-environment-city-ubuntu1804.yaml" - description: 'Name of heat-environment file to use.' - - string: - name: HEAT_ENVIRONMENT_FILE - default: "file://$WORKSPACE/engine/provisioner/heat/playbooks/roles/bootstrap-hwconfig/files/$HEAT_ENVIRONMENT_FILENAME" - description: 'Location of heat-environment file to use.' - - string: - name: STACK_NAME - default: "nordix-cicd-verify-engine-{distro}-$BUILD_NUMBER" - description: 'Name of the created stack' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'false' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: TEST_FW - default: '{phase}' - description: 'Test framework to use' - - string: - name: TEST_SUITE - default: 'healthcheck' - description: 'Test suite to run' - - string: - name: TEST_REPO_URL - default: 'https://gerrit.nordix.org/infra/test.git' - description: 'URL to Nordix Cloud Infra test repository' - - string: - name: YARDSTICK_DISPATCHER - default: 'file' - description: 'Dispatcher to use for Yardstick reporting' - - wrappers: - - mask-passwords - - build-timeout: - timeout: '{build-timeout}' - - 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 - - builders: - - 'cloud-infra-determine-scenario-macro' - - 'cloud-infra-{phase}-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-macros.yaml b/jjb/cloud-infra/cloud-infra-macros.yaml deleted file mode 100644 index e250ca1c..00000000 --- a/jjb/cloud-infra/cloud-infra-macros.yaml +++ /dev/null @@ -1,116 +0,0 @@ ---- -# -# ============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 used by all job types -- builder: - name: 'cloud-infra-deploy-macro' - builders: - - shell: - !include-raw: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./cloud-infra-deploy.sh - -- builder: - name: 'cloud-infra-functest-macro' - builders: - - shell: - !include-raw: ./prepare-for-testfw-verify.sh - - shell: - !include-raw: ./cloud-infra-test.sh - -- builder: - name: 'cloud-infra-yardstick-macro' - builders: - - shell: - !include-raw: ./prepare-for-testfw-verify.sh - - shell: - !include-raw: ./cloud-infra-test.sh - -- builder: - name: 'cloud-infra-testfw-macro' - builders: - - shell: - !include-raw: ./cloud-infra-test.sh - -- builder: - name: 'cloud-infra-determine-scenario-macro' - builders: - - shell: - !include-raw: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./determine-scenario.sh - - inject: - properties-file: "$WORKSPACE/change.properties" - - description-setter: - description: $PROVISIONER_TYPE | $INSTALLER_TYPE | $DEPLOY_SCENARIO - -- builder: - name: 'cloud-infra-scenario-deploy-macro' - builders: - - shell: - !include-raw: ./prepare-for-scenario-deploy.sh - - shell: - !include-raw: ./cloud-infra-scenario-deploy.sh - -- builder: - name: 'cloud-infra-scenario-functest-macro' - builders: - - shell: - !include-raw: ./prepare-for-scenario-test.sh - - shell: - !include-raw: ./cloud-infra-scenario-test.sh - -- builder: - name: 'scenario-deploy-macro' - builders: - - shell: - !include-raw: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./scenario-deploy.sh - -- builder: - name: 'scenario-functest-macro' - builders: - - shell: - !include-raw: ./prepare-for-testfw-verify.sh - - shell: - !include-raw: ./scenario-functest.sh - -- builder: - name: 'scenario-yardstick-macro' - builders: - - shell: - !include-raw: ./prepare-for-testfw-verify.sh - - shell: - !include-raw: ./scenario-yardstick.sh - -- builder: - name: 'scenario-promote-macro' - builders: - - shell: - !include-raw: ./scenario-promote.sh - -- builder: - name: 'cloud-infra-lint-macro' - builders: - - shell: - !include-raw: ./scripts/cloud-infra-lint.sh - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-periodic-engine.yaml b/jjb/cloud-infra/cloud-infra-periodic-engine.yaml deleted file mode 100644 index c6fb7e14..00000000 --- a/jjb/cloud-infra/cloud-infra-periodic-engine.yaml +++ /dev/null @@ -1,273 +0,0 @@ ---- -# -# ============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 cloud-infra -# engine from the tip of the master branch periodically to check the stability of it. -# -# 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: 'cloud-infra-periodic-engine' - - project: 'infra/engine' - - stream: - - 'master': - branch: '{stream}' - - distro: - - ubuntu1804: - slave-label: vpod-deploy-ubuntu1804 - - centos7: - slave-label: vpod-deploy-centos7 - - type: - - virtual: - yardstick-dispatcher: 'file' - build-trigger: 'H H/3 * * *' - disabled: true - - phase: - - deploy: - build-timeout: 90 - - functest: - build-timeout: 120 - - yardstick: - build-timeout: 30 - - jobs: - - 'cloud-infra-periodic-engine-{distro}-{type}-{stream}' - - 'cloud-infra-periodic-{distro}-{phase}-{type}-{stream}' - -- job-template: - name: 'cloud-infra-periodic-engine-{distro}-{type}-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - 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. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: DEPLOY_TYPE - default: '{type}' - description: 'Type of the deployment' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'true' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-nofeature' - description: 'Scenario to deploy and test' - - string: - name: TEST_SUITE - default: 'smoke' - description: 'Test suite to run' - - string: - name: YARDSTICK_DISPATCHER - default: '{yardstick-dispatcher}' - description: 'Dispatcher to use for Yardstick reporting' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 3 - option: project - - wrappers: - - build-timeout: - timeout: 240 - - fix-workspace-permissions - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - triggers: - - timed: '{build-trigger}' - - builders: - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'cloud-infra-periodic-{distro}-deploy-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - git-revision: true - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: ALWAYS - projects: - - name: 'cloud-infra-periodic-{distro}-functest-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: yardstick - condition: ALWAYS - projects: - - name: 'cloud-infra-periodic-{distro}-yardstick-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - -- job-template: - name: 'cloud-infra-periodic-{distro}-{phase}-{type}-{stream}' - - disabled: true - - concurrent: true - - properties: - - logrotate - - parameters: - - string: - name: PROJECT - default: $GERRIT_PROJECT - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.' - - string: - name: DEPLOY_TYPE - default: 'virtual' - description: 'Type of the deployment. Overriden by upstream job.' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'false' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: ENGINE_ANSIBLE_PARAMS - default: ' -v ' - description: 'Extra paramters that can be added when run the play books.' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-nofeature' - description: 'Scenario to deploy and test' - - string: - name: TEST_FW - default: '{phase}' - description: 'Test framework to use' - - string: - name: TEST_SUITE - default: 'smoke' - description: 'Test suite to run' - - string: - name: TEST_REPO_URL - default: 'https://gerrit.nordix.org/infra/test.git' - description: 'URL to Nordix Cloud Infra test repository' - - string: - name: YARDSTICK_DISPATCHER - default: 'file' - description: 'Dispatcher to use for Yardstick reporting' - - wrappers: - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - 'cloud-infra-{phase}-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-periodic-kubernetes.yaml b/jjb/cloud-infra/cloud-infra-periodic-kubernetes.yaml deleted file mode 100644 index ea706b76..00000000 --- a/jjb/cloud-infra/cloud-infra-periodic-kubernetes.yaml +++ /dev/null @@ -1,325 +0,0 @@ ---- -# -# ============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 cloud-infra -# engine from the tip of the master branch periodically to check the stability of it. -# -# 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: 'cloud-infra-periodic-kubernetes' - - project: 'infra/engine' - - stream: - - 'master': - branch: '{stream}' - - distro: - - ubuntu1804 -# - centos7: -# disabled: 'true' - - deploy-scenario: - - k8-calico-nofeature: - disabled: 'true' - - k8-flannel-nofeature: - disabled: 'true' - - k8-canal-nofeature: - disabled: 'true' - - k8-cilium-nofeature: - disabled: 'true' - - k8-weave-nofeature: - disabled: 'true' - - k8-multus-nofeature: - disabled: 'true' - - ci-loop: - - daily - - type: - - baremetal: - pod-name: est-baremetal - provisioner-type: bifrost - installer-type: kubespray - slave-label: baremetal-deploy - yardstick-dispatcher: 'influxdb' - - phase: - - deploy: - build-timeout: 90 - - functest: - build-timeout: 240 - - yardstick: - build-timeout: 120 - - promote: - build-timeout: 5 - - jobs: - - '{deploy-scenario}-{distro}-kubespray-{type}-{ci-loop}-{stream}' - - 'kubernetes-{phase}-{distro}-kubespray-{type}-{ci-loop}-{stream}' - -- job-template: - name: '{deploy-scenario}-{distro}-kubespray-{type}-{ci-loop}-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - 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. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: DEPLOY_TYPE - default: '{type}' - description: 'Type of the deployment' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'true' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: PROVISIONER_TYPE - default: '{provisioner-type}' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: '{installer-type}' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: '{deploy-scenario}' - description: 'Scenario to deploy and test' - - string: - name: TEST_SUITE - default: 'smoke' - description: 'Test suite to run' - - string: - name: YARDSTICK_DISPATCHER - default: '{yardstick-dispatcher}' - description: 'Dispatcher to use for Yardstick reporting' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 3 - option: project - - wrappers: - - build-timeout: - timeout: 455 - - fix-workspace-permissions - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - triggers: - - timed: '@daily' - - builders: - - description-setter: - description: $PROVISIONER_TYPE | $INSTALLER_TYPE | $DEPLOY_SCENARIO - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'kubernetes-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - git-revision: true - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: ALWAYS - projects: - - name: 'kubernetes-functest-{distro}-{installer-type}-{type}-{ci-loop}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: yardstick - condition: ALWAYS - projects: - - name: 'kubernetes-yardstick-{distro}-{installer-type}-{type}-{ci-loop}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: promote - condition: SUCCESSFUL - projects: - - name: 'kubernetes-promote-{distro}-{installer-type}-{type}-{ci-loop}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - -- job-template: - name: 'kubernetes-{phase}-{distro}-kubespray-{type}-{ci-loop}-{stream}' - - disabled: true - - concurrent: true - - properties: - - logrotate - - parameters: - - string: - name: PROJECT - default: $GERRIT_PROJECT - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.' - - string: - name: DEPLOY_TYPE - default: 'virtual' - description: 'Type of the deployment. Overriden by upstream job.' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'false' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: ENGINE_ANSIBLE_PARAMS - default: ' -v ' - description: 'Extra paramters that can be added when run the play books.' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-nofeature' - description: 'Scenario to deploy and test' - - string: - name: PROVISIONER_TYPE - default: 'bifrost' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: TEST_FW - default: '{phase}' - description: 'Test framework to use' - - string: - name: TEST_SUITE - default: 'smoke' - description: 'Test suite to run' - - string: - name: TEST_REPO_URL - default: 'https://gerrit.nordix.org/infra/test.git' - description: 'URL to Nordix Cloud Infra test repository' - - string: - name: YARDSTICK_DISPATCHER - default: 'file' - description: 'Dispatcher to use for Yardstick reporting' - - wrappers: - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $PROVISIONER_TYPE | $INSTALLER_TYPE | $DEPLOY_SCENARIO - - 'scenario-{phase}-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-periodic-onap-baremetal.yaml b/jjb/cloud-infra/cloud-infra-periodic-onap-baremetal.yaml deleted file mode 100644 index 7a50292a..00000000 --- a/jjb/cloud-infra/cloud-infra-periodic-onap-baremetal.yaml +++ /dev/null @@ -1,498 +0,0 @@ ---- -# -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Nordix Foundation. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -#-------------------------------------------------------------------------------------- -# The jobs declared in this JJB configuration file are used for deploying and testing -# ONAP scenario onap-nofeature-noha. -#-------------------------------------------------------------------------------------- - -- project: - name: 'cloud-infra-periodic-onap-baremetal' - - project: 'infra/engine' - - onap-branch: - - 'elalto': - nordix-branch: master - onap-version: elalto - onap-flavor: full - engine-version: master - engine-refspec: 'refs/changes/57/4157/12' - deploy-scenario: 'onap-nofeature-noha' - deploy-scenario-version: master - deploy-scenario-refspec: master - disabled: false - - 'master': - nordix-branch: master - onap-version: master - onap-flavor: full - engine-version: master - engine-refspec: 'refs/changes/57/4157/12' - deploy-scenario: 'onap-nofeature-noha' - deploy-scenario-version: master - deploy-scenario-refspec: master - disabled: false - - distro: - - ubuntu1804: - slave-label: 'onap-baremetal-deploy' - pod-name: est-baremetal - provisioner-type: bifrost - installer-type: kubespray - - ci-loop: - - daily: - daily-trigger: '#@midnight' - - onap-other-phases: - - onap-deploy: - build-timeout: 420 - - oom-hc: - build-timeout: 30 - test-type: oom-healthcheck -# - promote-onap: -# build-timeout: 240 - - onap-healthcheck-phases: - - onap-hc-core: - build-timeout: 30 - test-type: onap-healthcheck - - onap-hc-small: - build-timeout: 30 - test-type: onap-healthcheck - - onap-hc-medium: - build-timeout: 30 - test-type: onap-healthcheck - - onap-hc-full: - build-timeout: 30 - test-type: onap-healthcheck - - onap-hc-healthdist: - build-timeout: 30 - test-type: onap-healthcheck - - jobs: - - 'onap-online-{onap-flavor}-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - - '{onap-other-phases}-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - - '{onap-healthcheck-phases}-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - -- job-template: - name: 'onap-online-{onap-flavor}-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - onap-baremetal-parameter-macro-legacy - - 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: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: ONAP_VERSION - default: '{onap-version}' - description: 'ONAP version to deploy' - - string: - name: ONAP_FLAVOR - default: '{onap-flavor}' - description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.' - - string: - name: ENGINE_VERSION - default: '{engine-version}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch' - - string: - name: ENGINE_REFSPEC - default: '{engine-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.' - - string: - name: DEPLOY_SCENARIO_VERSION - default: '{deploy-scenario-version}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' - - string: - name: DEPLOY_SCENARIO_REFSPEC - default: '{deploy-scenario-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' - - string: - name: POD_NAME - default: '{pod-name}' - description: 'Development purposes only! Set to none for disabling test results DB reporting.' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 1 - option: project - - wrappers: - - mask-passwords - - build-timeout: - timeout: 630 - - fix-workspace-permissions - - triggers: - - timed: '{daily-trigger}' - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | baremetal - - multijob: - name: Deploy ONAP using OOM - condition: ALWAYS - projects: - - name: 'onap-deploy-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=$ONAP_FLAVOR - POD_NAME=$POD_NAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - git-revision: true - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: K8S and OOM Healthcheck using xtesting - condition: ALWAYS - projects: - - name: 'oom-hc-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=full - TEST_TYPE=oom-healthcheck - POD_NAME=$POD_NAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: ONAP Healthcheck using xtesting - execution-type: SEQUENTIALLY - condition: ALWAYS - projects: - - name: 'onap-hc-core-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=core - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-hc-small-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=small - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-hc-medium-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=medium - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-hc-full-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=full - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-hc-healthdist-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=healthdist - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false -# - multijob: -# name: Promote ONAP (not activated) -# condition: ALWAYS -# projects: -# - name: 'promote-onap-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' -# current-parameters: false -# predefined-parameters: | -# SLAVE_LABEL=$SLAVE_LABEL -# DISTRO=$DISTRO -# PROVISIONER_TYPE=$PROVISIONER_TYPE -# INSTALLER_TYPE=$INSTALLER_TYPE -# DEPLOY_SCENARIO=$DEPLOY_SCENARIO -# ONAP_VERSION=$ONAP_VERSION -# ONAP_FLAVOR=core -# TEST_TYPE=onap-healthcheck -# POD_NAME=$POD_NAME -# ENGINE_VERSION=$ENGINE_VERSION -# ENGINE_REFSPEC=$ENGINE_REFSPEC -# DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION -# DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC -# XTESTING_REPO_URL=$XTESTING_REPO_URL -# ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS -# node-parameters: true -# kill-phase-on: NEVER -# abort-all-job: false - -- job-template: - name: '{onap-other-phases}-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - - disabled: false - - concurrent: true - - properties: - - logrotate - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - onap-baremetal-parameter-macro-legacy - - label: - name: SLAVE_LABEL - default: 'xerces-jumphost-onap-ubuntu1804' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: ONAP_FLAVOR - default: '{onap-flavor}' - description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.' - - string: - name: ONAP_VERSION - default: '{onap-version}' - description: 'ONAP version to deploy' - - wrappers: - - mask-passwords - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - credentials-binding: - - username-password-separated: - credential-id: 'nordix-cicd-arm-credentials' - username: NORDIX_ARM_USERNAME - password: NORDIX_ARM_TOKEN - - username-password-separated: - credential-id: 'nordix-cicd-harbor-credentials' - username: NORDIX_HARBOR_USERNAME - password: NORDIX_HARBOR_PASSWORD - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | baremetal - - '{onap-other-phases}-baremetal-macro-legacy' - -- job-template: - name: '{onap-healthcheck-phases}-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}' - - disabled: false - - concurrent: true - - properties: - - logrotate - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - onap-baremetal-parameter-macro-legacy - - label: - name: SLAVE_LABEL - default: 'xerces-jumphost-onap-ubuntu1804' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: ONAP_VERSION - default: '{onap-version}' - description: 'ONAP version to deploy' - - string: - name: ENGINE_VERSION - default: '{engine-version}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch' - - string: - name: ENGINE_REFSPEC - default: '{engine-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.' - - string: - name: DEPLOY_SCENARIO_VERSION - default: '{deploy-scenario-version}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' - - string: - name: DEPLOY_SCENARIO_REFSPEC - default: '{deploy-scenario-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' - - string: - name: POD_NAME - default: '{pod-name}' - description: 'Development purposes only! Set to none for disabling test results DB reporting.' - - wrappers: - - mask-passwords - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | baremetal - - 'onap-healthcheck-baremetal-macro-legacy' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-periodic-onap.yaml b/jjb/cloud-infra/cloud-infra-periodic-onap.yaml deleted file mode 100644 index b967fc2d..00000000 --- a/jjb/cloud-infra/cloud-infra-periodic-onap.yaml +++ /dev/null @@ -1,616 +0,0 @@ ---- -# -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Nordix Foundation. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -#-------------------------------------------------------------------------------------- -# The jobs declared in this JJB configuration file are used for deploying and testing -# ONAP scenario onap-nofeature-noha. -#-------------------------------------------------------------------------------------- - -- project: - name: 'cloud-infra-periodic-onap' - - project: 'infra/engine' - - cloud: - - city: - slave-label: 'engine-jumphost-online-ubuntu1804' - openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-onap' - daily-trigger: '@midnight' - - xerces: - slave-label: 'xerces-jumphost-ubuntu1804' - openrc-credentials-file: 'est-estinfra-openrcfile-xerces-lund-onap' - daily-trigger: '#@midnight' - - onap-branch: - - 'elalto': - nordix-branch: master - onap-version: elalto - onap-flavor: full - engine-version: master - engine-refspec: master - deploy-scenario: 'onap-nofeature-noha' - deploy-scenario-version: master - deploy-scenario-refspec: master - disabled: true - delete-stack: 'yes' - - 'master': - nordix-branch: master - onap-version: master - onap-flavor: full - engine-version: master - engine-refspec: master - deploy-scenario: 'onap-nofeature-noha' - deploy-scenario-version: master - deploy-scenario-refspec: master - disabled: true - delete-stack: 'yes' - - distro: - - ubuntu1804 - - ci-loop: - - daily - - type: - - cloud: - pod-name: est-cloud - provisioner-type: heat - installer-type: kubespray - - onap-other-phases: - - onap-deploy: - build-timeout: 210 - - oom-hc: - build-timeout: 30 - test-type: oom-healthcheck - - promote-onap: - build-timeout: 240 - - onap-healthcheck-phases: - - onap-hc-core: - build-timeout: 30 - test-type: onap-healthcheck - - onap-hc-small: - build-timeout: 30 - test-type: onap-healthcheck - - onap-hc-medium: - build-timeout: 30 - test-type: onap-healthcheck - - onap-hc-full: - build-timeout: 30 - test-type: onap-healthcheck - - onap-hc-healthdist: - build-timeout: 30 - test-type: onap-healthcheck - - jobs: - - 'onap-online-{onap-flavor}-{distro}-{installer-type}-{cloud}-{type}-{ci-loop}-{onap-branch}' - - '{onap-other-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - - '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - -- job-template: - name: 'onap-online-{onap-flavor}-{distro}-{installer-type}-{cloud}-{type}-{ci-loop}-{onap-branch}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - onap-parameter-macro-legacy - - 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: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: OPENSTACK_CLOUD_PROVIDER - default: '{cloud}' - description: 'Name of the cloud where this job is run' - - string: - name: ONAP_VERSION - default: '{onap-version}' - description: 'ONAP version to deploy' - - string: - name: ONAP_FLAVOR - default: '{onap-flavor}' - description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.' - - string: - name: STACK_NAME - default: 'nordix-cicd-{deploy-scenario}-{onap-branch}-{onap-flavor}' - - string: - name: KEYPAIR_NAME - default: 'keypair-nordix-cicd-{deploy-scenario}-{onap-branch}-{onap-flavor}' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: "heat-environment-{cloud}-{distro}-full.yaml" - description: 'Type of the deployment' - - string: - name: ENGINE_VERSION - default: '{engine-version}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch' - - string: - name: ENGINE_REFSPEC - default: '{engine-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.' - - string: - name: DEPLOY_SCENARIO_VERSION - default: '{deploy-scenario-version}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' - - string: - name: DEPLOY_SCENARIO_REFSPEC - default: '{deploy-scenario-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' - - string: - name: POD_NAME - default: '{pod-name}' - description: 'Development purposes only! Set to none for disabling test results DB reporting.' - - string: - name: DELETE_STACK - default: '{delete-stack}' - description: 'Development purposes only! Whether delete the stack or not. It must either be yes or no. Setting this to no will increase the cost!' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 1 - option: project - - wrappers: - - credentials-binding: - - file: - credential-id: '{openrc-credentials-file}' - variable: OPENRC_FILE - - mask-passwords - - build-timeout: - timeout: 630 - - fix-workspace-permissions - - openstack: - single-use: True - - triggers: - - timed: '{daily-trigger}' - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | $ONAP_FLAVOR - - shell: | - #!/bin/bash - /bin/rm -rf /tmp/openrc && /bin/cp -f $OPENRC_FILE /tmp/openrc - - multijob: - name: Deploy ONAP using OOM - condition: ALWAYS - projects: - - name: 'onap-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=$ONAP_FLAVOR - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - git-revision: true - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: K8S and OOM Healthcheck using xtesting - condition: ALWAYS - projects: - - name: 'oom-hc-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=full - TEST_TYPE=oom-healthcheck - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: ONAP Healthcheck using xtesting - execution-type: SEQUENTIALLY - condition: ALWAYS - projects: - - name: 'onap-hc-core-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - DEPLOY_TYPE=$DEPLOY_TYPE - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=core - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-hc-small-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - DEPLOY_TYPE=$DEPLOY_TYPE - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=small - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-hc-medium-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - DEPLOY_TYPE=$DEPLOY_TYPE - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=medium - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-hc-full-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - DEPLOY_TYPE=$DEPLOY_TYPE - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=full - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-hc-healthdist-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - DEPLOY_TYPE=$DEPLOY_TYPE - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=healthdist - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: Promote ONAP (not activated) - condition: ALWAYS - projects: - - name: 'promote-onap-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - DEPLOY_TYPE=$DEPLOY_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=$ONAP_FLAVOR - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - publishers: - - postbuildscript: - builders: - - role: SLAVE - build-on: - - SUCCESS - - FAILURE - - ABORTED - - NOT_BUILT - - UNSTABLE - build-steps: - - shell: - !include-raw-escape: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./delete-heat-stack.sh - -- job-template: - name: '{onap-other-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - - disabled: false - - concurrent: true - - properties: - - logrotate - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - onap-parameter-macro-legacy - - label: - name: SLAVE_LABEL - default: 'xerces-jumphost-onap-ubuntu1804' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: OPENSTACK_CLOUD_PROVIDER - default: 'city' - description: 'Name of the cloud where this job is run' - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: ONAP_FLAVOR - default: '{onap-flavor}' - description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.' - - string: - name: ONAP_VERSION - default: '{onap-version}' - description: 'ONAP version to deploy' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: "heat-environment-full.yaml" - description: 'Type of the deployment' - - string: - name: HEAT_ENVIRONMENT_FILE - default: "file:///opt/engine/.cache/repos/swconfig/scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO/files/$HEAT_ENVIRONMENT_FILENAME" - description: 'Type of the deployment' - - wrappers: - - mask-passwords - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - credentials-binding: - - username-password-separated: - credential-id: 'nordix-cicd-arm-credentials' - username: NORDIX_ARM_USERNAME - password: NORDIX_ARM_TOKEN - - username-password-separated: - credential-id: 'nordix-cicd-harbor-credentials' - username: NORDIX_HARBOR_USERNAME - password: NORDIX_HARBOR_PASSWORD - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | $OPENSTACK_CLOUD_PROVIDER - - '{onap-other-phases}-macro-legacy' - -- job-template: - name: '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - - disabled: false - - concurrent: true - - properties: - - logrotate - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - onap-parameter-macro-legacy - - label: - name: SLAVE_LABEL - default: 'xerces-jumphost-onap-ubuntu1804' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: OPENSTACK_CLOUD_PROVIDER - default: 'city' - description: 'Name of the cloud where this job is run' - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: ONAP_VERSION - default: '{onap-version}' - description: 'ONAP version to deploy' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: "heat-environment-full.yaml" - description: 'Type of the deployment' - - string: - name: HEAT_ENVIRONMENT_FILE - default: "file:///opt/engine/.cache/repos/swconfig/scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO/files/$HEAT_ENVIRONMENT_FILENAME" - description: 'Type of the deployment' - - string: - name: ENGINE_VERSION - default: '{engine-version}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch' - - string: - name: ENGINE_REFSPEC - default: '{engine-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.' - - string: - name: DEPLOY_SCENARIO_VERSION - default: '{deploy-scenario-version}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' - - string: - name: DEPLOY_SCENARIO_REFSPEC - default: '{deploy-scenario-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' - - string: - name: POD_NAME - default: '{pod-name}' - description: 'Development purposes only! Set to none for disabling test results DB reporting.' - - wrappers: - - mask-passwords - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | $OPENSTACK_CLOUD_PROVIDER - - 'onap-healthcheck-macro-legacy' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-periodic-openstack.yml b/jjb/cloud-infra/cloud-infra-periodic-openstack.yml deleted file mode 100644 index e0cb0dd9..00000000 --- a/jjb/cloud-infra/cloud-infra-periodic-openstack.yml +++ /dev/null @@ -1,359 +0,0 @@ ---- -# -# ============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 cloud-infra -# engine from the tip of the master branch periodically to check the stability of it. -# -# 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: 'cloud-infra-periodic-openstack' - - project: 'infra/engine' - - stream: - - 'master': - disabled: 'true' - engine-branch: 'master' - openstack-branch: '{stream}' - - 'train': - disabled: 'true' - engine-branch: 'master' - openstack-branch: '{stream}' - - 'stein': - disabled: 'true' - engine-branch: 'master' - openstack-branch: '{stream}' - - 'rocky': - disabled: 'true' - engine-branch: 'master' - openstack-branch: '{stream}' - - distro: - - ubuntu1804 - - deploy-scenario: - - os-nosdn-nofeature - - type: - - baremetal: - pod-name: est-baremetal - slave-label: baremetal-deploy - provisioner-type: bifrost - installer-type: kolla - test-suite: smoke - yardstick-dispatcher: 'influxdb' - ci-loop: daily - trigger-on: '@daily' - - virtual: - pod-name: est-virtual - slave-label: vpod - provisioner-type: bifrost - installer-type: kolla - test-suite: healthcheck - yardstick-dispatcher: 'influxdb' - ci-loop: periodic - trigger-on: '0 */8 * * *' - - phase: - - deploy: - build-timeout: 90 - - functest: - build-timeout: 240 - - yardstick: - build-timeout: 120 - - promote: - build-timeout: 5 - - jobs: - - '{deploy-scenario}-{distro}-kolla-{type}-{ci-loop}-{stream}' - - 'openstack-{phase}-{distro}-kolla-{type}-{ci-loop}-{stream}' - -- job-template: - name: '{deploy-scenario}-{distro}-kolla-{type}-{ci-loop}-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - parameters: - - project-parameters: - project: '{project}' - branch: '{engine-branch}' - - nordix-gerrit-parameters - - label: - name: SLAVE_LABEL - default: '{slave-label}' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: CI_LOOP - default: '{ci-loop}' - description: 'Type of the deployment' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: DEPLOY_TYPE - default: '{type}' - description: 'Type of the deployment' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'true' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: OPENSTACK_VERSION - default: '{openstack-branch}' - description: 'OpenStack Version to deploy and test' - - string: - name: PROVISIONER_TYPE - default: '{provisioner-type}' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: '{installer-type}' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: '{deploy-scenario}' - description: 'Scenario to deploy and test' - - string: - name: TEST_SUITE - default: '{test-suite}' - description: 'Test suite to run' - - string: - name: YARDSTICK_DISPATCHER - default: '{yardstick-dispatcher}' - description: 'Dispatcher to use for Yardstick reporting' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 3 - option: project - - wrappers: - - build-timeout: - timeout: 455 - - fix-workspace-permissions - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{engine-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - triggers: - - timed: '{trigger-on}' - - builders: - - description-setter: - description: $PROVISIONER_TYPE | $INSTALLER_TYPE | $DEPLOY_SCENARIO - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'openstack-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{stream}' - current-parameters: true - predefined-parameters: | - CI_LOOP=$CI_LOOP - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE - OPENSTACK_VERSION=$OPENSTACK_VERSION - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - git-revision: true - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: ALWAYS - projects: - - name: 'openstack-functest-{distro}-{installer-type}-{type}-{ci-loop}-{stream}' - current-parameters: true - predefined-parameters: | - CI_LOOP=$CI_LOOP - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - OPENSTACK_VERSION=$OPENSTACK_VERSION - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: yardstick - condition: ALWAYS - projects: - - name: 'openstack-yardstick-{distro}-{installer-type}-{type}-{ci-loop}-{stream}' - current-parameters: true - predefined-parameters: | - CI_LOOP=$CI_LOOP - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - OPENSTACK_VERSION=$OPENSTACK_VERSION - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: promote - condition: SUCCESSFUL - projects: - - name: 'openstack-promote-{distro}-{installer-type}-{type}-{ci-loop}-{stream}' - current-parameters: true - predefined-parameters: | - CI_LOOP=$CI_LOOP - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - OPENSTACK_VERSION=$OPENSTACK_VERSION - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - -- job-template: - name: 'openstack-{phase}-{distro}-kolla-{type}-{ci-loop}-{stream}' - - disabled: false - - concurrent: true - - properties: - - logrotate - - parameters: - - string: - name: PROJECT - default: $GERRIT_PROJECT - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.' - - string: - name: CI_LOOP - default: '{ci-loop}' - description: 'Type of the deployment' - - string: - name: DEPLOY_TYPE - default: 'virtual' - description: 'Type of the deployment. Overriden by upstream job.' - - string: - name: OPENSTACK_VERSION - default: 'stein' - description: 'OpenStack Version to deploy and test' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'false' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: ENGINE_ANSIBLE_PARAMS - default: ' -v ' - description: 'Extra paramters that can be added when run the play books.' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-nofeature' - description: 'Scenario to deploy and test' - - string: - name: PROVISIONER_TYPE - default: 'bifrost' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: 'kolla' - description: 'Installer to use for deploying the scenario' - - string: - name: TEST_FW - default: '{phase}' - description: 'Test framework to use' - - string: - name: TEST_SUITE - default: 'smoke' - description: 'Test suite to run' - - string: - name: TEST_REPO_URL - default: 'https://gerrit.nordix.org/infra/test.git' - description: 'URL to Nordix Cloud Infra test repository' - - string: - name: YARDSTICK_DISPATCHER - default: 'file' - description: 'Dispatcher to use for Yardstick reporting' - - wrappers: - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{engine-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $PROVISIONER_TYPE | $INSTALLER_TYPE | $DEPLOY_SCENARIO - - 'scenario-{phase}-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-periodic-spinnaker.yaml b/jjb/cloud-infra/cloud-infra-periodic-spinnaker.yaml deleted file mode 100644 index 55d17c8e..00000000 --- a/jjb/cloud-infra/cloud-infra-periodic-spinnaker.yaml +++ /dev/null @@ -1,404 +0,0 @@ ---- -# -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Nordix Foundation. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -#-------------------------------------------------------------------------------------- -# The jobs declared in this JJB configuration file are used for deploying and testing -# Spinnaker using k8-calico-spinnaker scenario. -#-------------------------------------------------------------------------------------- - -- project: - name: 'cloud-infra-periodic-spinnaker' - - project: 'infra/engine' - - cloud: - - city: - slave-label: 'engine-jumphost-online-ubuntu1804' - openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-onap' - daily-trigger: '@daily' - - spinnaker-branch: - - '1.16': - nordix-branch: master - engine-version: master - engine-refspec: master - deploy-scenario: 'k8-calico-spinnaker' - deploy-scenario-version: master - deploy-scenario-refspec: master - keypair-name: 'keypair-nordix-cicd-{deploy-scenario}-1_16' - disabled: true - delete-stack: 'yes' - - distro: - - ubuntu1804 - - ci-loop: - - daily - - type: - - cloud: - pod-name: est-cloud - provisioner-type: heat - installer-type: kubespray - - phase: - - spinnaker-deploy: - build-timeout: 60 - - spinnaker-test: - build-timeout: 60 - - promote-spinnaker: - build-timeout: 60 - - jobs: - - 'k8-calico-spinnaker-{distro}-{installer-type}-{cloud}-{type}-{ci-loop}-{spinnaker-branch}' - - '{phase}-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' - -- job-template: - name: 'k8-calico-spinnaker-{distro}-{installer-type}-{cloud}-{type}-{ci-loop}-{spinnaker-branch}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - label: - name: SLAVE_LABEL - default: '{slave-label}' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: PROVISIONER_TYPE - default: 'heat' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-spinnaker' - description: 'Scenario to deploy and test' - - string: - name: DEPLOY_TYPE - default: 'cloud' - description: 'Type of the deployment' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: OPENSTACK_CLOUD_PROVIDER - default: '{cloud}' - description: 'Name of the cloud where this job is run' - - string: - name: SPINNAKER_VERSION - default: '{spinnaker-branch}' - description: 'Spinnaker version to deploy' - - string: - name: STACK_NAME - default: 'nordix-cicd-{deploy-scenario}-{spinnaker-branch}' - - string: - name: KEYPAIR_NAME - default: '{keypair-name}' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: "heat-environment-full.yaml" - description: 'Heat environment file to use for creating the stack' - - string: - name: ENGINE_VERSION - default: '{engine-version}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying Spinnaker. Could be sha, branch' - - string: - name: ENGINE_REFSPEC - default: '{engine-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying Spinnaker. Must be refspec.' - - string: - name: DEPLOY_SCENARIO_VERSION - default: '{deploy-scenario-version}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying Spinnaker. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' - - string: - name: DEPLOY_SCENARIO_REFSPEC - default: '{deploy-scenario-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying Spinnaker. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' - - string: - name: POD_NAME - default: '{pod-name}' - description: 'Development purposes only! Set to none for disabling test results DB reporting.' - - string: - name: DELETE_STACK - default: '{delete-stack}' - description: 'Development purposes only! Whether delete the stack or not. It must either be yes or no. Setting this to no will increase the cost!' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 1 - option: project - - wrappers: - - credentials-binding: - - file: - credential-id: '{openrc-credentials-file}' - variable: OPENRC_FILE - - mask-passwords - - build-timeout: - timeout: 630 - - fix-workspace-permissions - - openstack: - single-use: True - - triggers: - - timed: '{daily-trigger}' - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | Spinnaker $SPINNAKER_VERSION - - shell: | - #!/bin/bash - /bin/rm -rf /tmp/openrc && /bin/cp -f $OPENRC_FILE /tmp/openrc - - multijob: - name: Deploy Spinnaker using Helm - condition: ALWAYS - projects: - - name: 'spinnaker-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - SPINNAKER_VERSION=$SPINNAKER_VERSION - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - git-revision: true - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: Test Spinnaker Deployment (not activated) - condition: ALWAYS - projects: - - name: 'spinnaker-test-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - SPINNAKER_VERSION=$SPINNAKER_VERSION - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - git-revision: true - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: Promote Spinnaker (not activated) - condition: ALWAYS - projects: - - name: 'promote-spinnaker-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - SPINNAKER_VERSION=$SPINNAKER_VERSION - POD_NAME=$POD_NAME - STACK_NAME=$STACK_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - git-revision: true - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - publishers: - - postbuildscript: - builders: - - role: SLAVE - build-on: - - SUCCESS - - FAILURE - - ABORTED - - NOT_BUILT - - UNSTABLE - build-steps: - - shell: - !include-raw-escape: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./delete-heat-stack.sh - -- job-template: - name: '{phase}-{distro}-{installer-type}-{type}-{ci-loop}-{spinnaker-branch}' - - disabled: false - - concurrent: false - - properties: - - logrotate - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - label: - name: SLAVE_LABEL - default: 'engine-jumphost-online-ubuntu1804' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: PROVISIONER_TYPE - default: 'heat' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-spinnaker' - description: 'Scenario to deploy and test' - - string: - name: DEPLOY_TYPE - default: 'cloud' - description: 'Type of the deployment' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: OPENSTACK_CLOUD_PROVIDER - default: '{cloud}' - description: 'Name of the cloud where this job is run' - - string: - name: SPINNAKER_VERSION - default: '{spinnaker-branch}' - description: 'Spinnaker version to deploy' - - string: - name: STACK_NAME - default: 'nordix-cicd-{deploy-scenario}-{spinnaker-branch}' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: "heat-environment-full.yaml" - description: 'Heat environment filename to use for creating the stack' - - string: - name: HEAT_ENVIRONMENT_FILE - default: "file:///opt/engine/.cache/repos/swconfig/scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO/files/$HEAT_ENVIRONMENT_FILENAME" - description: 'Heat environment file location to use for creating the stack' - - string: - name: ENGINE_VERSION - default: '{engine-version}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying Spinnaker. Could be sha, branch' - - string: - name: ENGINE_REFSPEC - default: '{engine-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying Spinnaker. Must be refspec.' - - string: - name: DEPLOY_SCENARIO_VERSION - default: '{deploy-scenario-version}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying Spinnaker. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' - - string: - name: DEPLOY_SCENARIO_REFSPEC - default: '{deploy-scenario-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying Spinnaker. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' - - string: - name: POD_NAME - default: '{pod-name}' - description: 'Development purposes only! Set to none for disabling test results DB reporting.' - - string: - name: DELETE_STACK - default: '{delete-stack}' - description: 'Development purposes only! Whether delete the stack or not. It must either be yes or no. Setting this to no will increase the cost!' - - wrappers: - - mask-passwords - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - credentials-binding: - - username-password-separated: - credential-id: 'nordix-cicd-arm-credentials' - username: NORDIX_ARM_USERNAME - password: NORDIX_ARM_TOKEN - - username-password-separated: - credential-id: 'nordix-cicd-harbor-credentials' - username: NORDIX_HARBOR_USERNAME - password: NORDIX_HARBOR_PASSWORD - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | Spinnaker $SPINNAKER_VERSION | $OPENSTACK_CLOUD_PROVIDER - - '{phase}-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-scenario-test.sh b/jjb/cloud-infra/cloud-infra-scenario-test.sh deleted file mode 100644 index bf35d086..00000000 --- a/jjb/cloud-infra/cloud-infra-scenario-test.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - - -# vim: set ts=2 sw=2 expandtab: -#!/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 nounset -set -o pipefail - -# execute cloud engine test.sh script with arguments -echo "Info: Testing scenario $DEPLOY_SCENARIO deployed using $INSTALLER_TYPE" -cd $WORKSPACE -./test/test.sh -f $TEST_FW -t $TEST_SUITE -s $DEPLOY_SCENARIO - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-test.sh b/jjb/cloud-infra/cloud-infra-test.sh deleted file mode 100644 index a473fcd1..00000000 --- a/jjb/cloud-infra/cloud-infra-test.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/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 nounset -set -o pipefail - -# This script is a wrapper around actual cloud infra engine test.sh script which gets -# executed when the job that uses this script gets triggered due to Gerrit change. -# -# Logic in this script should be kept at minimum and the changes should be pushed into -# the cloud infra test test.sh script. - -# we don't support ONAP scenario verification because it is expensive -# TODO: we need to find a way to verify those patches in a cheaper way -if [[ "$DEPLOY_SCENARIO" =~ "onap" ]]; then - echo "Info: ONAP scenario verification has not been implemented yet!" - exit 0 -fi - -# we don't support testing of the deployments done on OpenStack cloud using heat yet -if [[ $DEPLOY_TYPE == "cloud" ]]; then - echo "Info: Testing of cloud deployments has not been implemented yet!" - exit 0 -fi - -# execute cloud engine test.sh script with arguments -cd $WORKSPACE -./test/test.sh -f $TEST_FW -t $TEST_SUITE -s $DEPLOY_SCENARIO -d $YARDSTICK_DISPATCHER - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-verify-lint.yaml b/jjb/cloud-infra/cloud-infra-verify-lint.yaml deleted file mode 100644 index 23277303..00000000 --- a/jjb/cloud-infra/cloud-infra-verify-lint.yaml +++ /dev/null @@ -1,106 +0,0 @@ ---- -# ============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: 'cloud-infra-lint' - - project: 'cloud-infra-lint' - - stream: - - 'master': - branch: '{stream}' - - lint-type: - - ansible-lint: - repos-to-enable: 'infra\/engine|infra\/test|infra\/swconfig' - disabled: true - - yamllint: - repos-to-enable: 'infra\/engine|infra\/test|infra\/swconfig|infra\/hwconfig' - disabled: true - - shellcheck: - repos-to-enable: 'infra\/engine|infra\/test|infra\/swconfig' - disabled: true - - jobs: - - 'cloud-infra-verify-{lint-type}-{stream}' - -- job-template: - name: 'cloud-infra-verify-{lint-type}-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - node: infra-tools-docker-slave-ubuntu1804 - - parameters: - - project-parameters: - project: $GERRIT_PROJECT - branch: '{branch}' - - nordix-gerrit-parameters - - string: - name: LINT_TYPE - default: '{lint-type}' - description: 'Lint type to run' - - properties: - - logrotate - - wrappers: - - build-timeout: - timeout: 150 - - 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: '{repos-to-enable}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'false' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - custom-url: '* $JOB_NAME $BUILD_URL' - - builders: - - 'cloud-infra-lint-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-verify-scenario.yaml b/jjb/cloud-infra/cloud-infra-verify-scenario.yaml deleted file mode 100644 index ab725eef..00000000 --- a/jjb/cloud-infra/cloud-infra-verify-scenario.yaml +++ /dev/null @@ -1,260 +0,0 @@ ---- -# -# ============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/swconfig -# -# These jobs verify changes that -# - implement new scenarios or fix bugs in the existing 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: 'cloud-infra-verify-scenario' - - project: 'infra/swconfig' - - stream: - - 'master': - branch: '{stream}' - - distro: - - ubuntu1804: - slave-label: vpod-deploy-ubuntu1804 - disabled: true - successful: true - failed: true - unstable: true - notbuilt: true - - centos7: - slave-label: vpod-deploy-centos7 - disabled: true - successful: true - failed: true - unstable: true - notbuilt: true - - type: - - virtual - - phase: - - deploy: - build-timeout: 120 - - functest: - build-timeout: 60 - - jobs: - - 'cloud-infra-verify-scenario-{distro}-{type}-{stream}' - - 'cloud-infra-verify-scenario-{distro}-{phase}-{type}-{stream}' - -- job-template: - name: 'cloud-infra-verify-scenario-{distro}-{type}-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - 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. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: DEPLOY_TYPE - default: '{type}' - description: 'Type of the deployment' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'true' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: TEST_SUITE - default: 'healthcheck' - description: 'Test suite to run' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 3 - option: project - - wrappers: - - build-timeout: - timeout: 180 - - fix-workspace-permissions - - openstack: - single-use: True - - scm: - - git-scm-gerrit: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{branch}' - refspec: $GERRIT_REFSPEC - wipe_workspace: true - clean_before: false - - triggers: - - nordix-gerrit-trigger-patchset-created: - project: 'infra\/swconfig' - branch: '{branch}' - files: '**' - custom-url: '* $JOB_NAME $BUILD_URL' - skip-vote: - successful: '{obj:successful}' - failed: '{obj:failed}' - unstable: '{obj:unstable}' - notbuilt: '{obj:notbuilt}' - - builders: - - 'cloud-infra-determine-scenario-macro' - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'cloud-infra-verify-scenario-{distro}-deploy-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE - GERRIT_PROJECT=$GERRIT_PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'cloud-infra-verify-scenario-{distro}-functest-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE - TEST_SUITE=$TEST_SUITE - GERRIT_PROJECT=$GERRIT_PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - -- job-template: - name: 'cloud-infra-verify-scenario-{distro}-{phase}-{type}-{stream}' - - disabled: true - - concurrent: true - - properties: - - logrotate - - parameters: - - string: - name: PROJECT - default: $GERRIT_PROJECT - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.' - - string: - name: DEPLOY_TYPE - default: 'virtual' - description: 'Type of the deployment. Overriden by upstream job.' - - string: - name: USE_PREBUILT_DEPLOYMENT_IMAGE - default: 'false' - description: 'Use prebuilt deployment image while running as part of CI/CD' - - string: - name: TEST_FW - default: '{phase}' - description: 'Test framework to use' - - string: - name: TEST_SUITE - default: 'healthcheck' - description: 'Test suite to run' - - string: - name: ENGINE_REPO_URL - default: 'https://gerrit.nordix.org/infra/engine.git' - description: 'URL to Nordix Cloud Infra engine repository' - - string: - name: TEST_REPO_URL - default: 'https://gerrit.nordix.org/infra/test.git' - description: 'URL to Nordix Cloud Infra test repository' - - wrappers: - - build-timeout: - timeout: '{build-timeout}' - - 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 - - builders: - - 'cloud-infra-determine-scenario-macro' - - 'cloud-infra-scenario-{phase}-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/cloud-infra-verify-testfw.yaml b/jjb/cloud-infra/cloud-infra-verify-testfw.yaml deleted file mode 100644 index 92faf67c..00000000 --- a/jjb/cloud-infra/cloud-infra-verify-testfw.yaml +++ /dev/null @@ -1,242 +0,0 @@ ---- -# -# ============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/test -# -# These jobs verify changes that -# - implement new features or fix bugs to the playbooks and roles used for utilizing -# open source test frameworks such as opnfv/functest and opnfv/yardstick -# - bump versions of the open source test frameworks -# -# These jobs are set to run on slaves with label vpod-test-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 have a promoted version of a cloud infra scenario deployed on them. -# Currently k8-calico-nofeature scenario is deployed on the slaves. -#-------------------------------------------------------------------------------------- - -- project: - name: 'cloud-infra-verify-test' - - project: 'infra/test' - - stream: - - 'master': - branch: '{stream}' - disabled: 'true' - - distro: - - ubuntu1804: - disabled: 'true' - slave-label: vpod-test-ubuntu1804 - - type: - - virtual - - phase: - - functest - - yardstick - - jobs: - - 'cloud-infra-verify-testfw-{distro}-{type}-{stream}' - - 'cloud-infra-verify-testfw-{distro}-{phase}-{type}-{stream}' - -- job-template: - name: 'cloud-infra-verify-testfw-{distro}-{type}-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - 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. These slaves have cloud infra installed on them.' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: DEPLOY_TYPE - default: '{type}' - description: 'Type of the deployment' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-nofeature' - description: 'Scenario to deploy and test' - - string: - name: TEST_SUITE - default: 'healthcheck' - description: 'Test suite to run' - - string: - name: YARDSTICK_DISPATCHER - default: 'file' - description: 'Dispatcher to use for Yardstick reporting' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-testfw-{distro}-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 3 - option: project - - wrappers: - - build-timeout: - timeout: 120 - - 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: - - nordix-gerrit-trigger-patchset-created: - project: 'infra\/test' - branch: '{branch}' - files: '**' - - builders: - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'cloud-infra-verify-testfw-{distro}-functest-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - GERRIT_PROJECT=$GERRIT_PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: yardstick - condition: SUCCESSFUL - projects: - - name: 'cloud-infra-verify-testfw-{distro}-yardstick-{type}-{stream}' - current-parameters: true - predefined-parameters: | - DISTRO=$DISTRO - DEPLOY_TYPE=$DEPLOY_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - TEST_SUITE=$TEST_SUITE - YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER - GERRIT_PROJECT=$GERRIT_PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - -- job-template: - name: 'cloud-infra-verify-testfw-{distro}-{phase}-{type}-{stream}' - - disabled: true - - concurrent: true - - properties: - - logrotate - - parameters: - - string: - name: PROJECT - default: $GERRIT_PROJECT - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.' - - string: - name: DEPLOY_TYPE - default: 'virtual' - description: 'Type of the deployment. Overriden by upstream job.' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-nofeature' - description: 'Scenario to deploy and test' - - string: - name: TEST_FW - default: '{phase}' - description: 'Test framework to use' - - string: - name: TEST_SUITE - default: 'healthcheck' - description: 'Test suite to run' - - string: - name: TEST_REPO_URL - default: 'https://gerrit.nordix.org/infra/test.git' - description: 'URL to Nordix Cloud Infra test repository' - - string: - name: YARDSTICK_DISPATCHER - default: 'file' - description: 'Dispatcher to use for Yardstick reporting' - - wrappers: - - build-timeout: - timeout: 120 - - 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 - - builders: - - 'cloud-infra-testfw-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/delete-heat-stack.sh b/jjb/cloud-infra/delete-heat-stack.sh deleted file mode 100644 index efec47b7..00000000 --- a/jjb/cloud-infra/delete-heat-stack.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/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 nounset - -# proceed only if the deployment is done on openstack -if [[ $DEPLOY_TYPE != "cloud" ]]; then - echo "-------------------------------------------------------------------------" - echo "Info: It is not an OpenStack deployment so nothing to delete!" - echo "-------------------------------------------------------------------------" - exit 0 -fi - -# do not delete the stack if not explicitly set to delete -if [[ "$DELETE_STACK" != "yes" ]]; then - echo "-------------------------------------------------------------------------" - echo "Info: Stack will not be deleted upon the completion of the job!" - echo "-------------------------------------------------------------------------" - exit 0 -fi - -# k8s and onap scenario have stacks so exit for others -if [[ ! "$DEPLOY_SCENARIO" =~ ^k8-.*|^onap-.* ]]; then - echo "-------------------------------------------------------------------------" - echo "Info: Nothing to delete!" - echo "-------------------------------------------------------------------------" - exit 0 -fi - -echo -echo -echo "-------------------------------------------------------------------------" -echo "Info: Please wait while deleting the stack and do not abort the job!" -echo "-------------------------------------------------------------------------" -echo -echo - -cd $WORKSPACE -sudo apt install -y -qq python-dev python-virtualenv > /dev/null -virtualenv -q $WORKSPACE/.venv -set +u -source $WORKSPACE/.venv/bin/activate -set -u -pip install -q openstacksdk python-openstackclient python-heatclient -echo "Info: Deleting stack $STACK_NAME and keypair $KEYPAIR_NAME" -echo "-------------------------------------------------------------------------" -source /tmp/openrc && /bin/rm -f /tmp/openrc -openstack stack delete $STACK_NAME --wait --yes -openstack keypair delete $KEYPAIR_NAME -echo "-------------------------------------------------------------------------" -echo "Info: Stack $STACK_NAME and keypair $KEYPAIR_NAME have been deleted!" - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/determine-scenario.sh b/jjb/cloud-infra/determine-scenario.sh deleted file mode 100644 index 14833b3e..00000000 --- a/jjb/cloud-infra/determine-scenario.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/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 nounset -set -o pipefail - -# this function processes commit message to determine the impacted scenario -# using the input provided by the committer. -# -# provisioner type, installer type and scenario should be placed at the beginning of -# lines separately and the format of the entry in commit message is as below -# -# provisioner-type: -# installer-type: -# deploy-scenario: -# -# example is -# -# provisioner-type: bifrost -# installer-type: kubespray -# deploy-scenario: k8-calico-nofeature -function override_installer_scenario() { - echo "Info: Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC to determine the provisioner, installer and, scenario" - cd $WORKSPACE - COMMIT_MESSAGE=$(git show -s --format=%B) - - if [[ "$COMMIT_MESSAGE" =~ "provisioner-type:" ]]; then - # we support heat as well so ensure we capture it - export PROVISIONER_TYPE=$(echo "$COMMIT_MESSAGE" | grep '^provisioner-type:' | cut -d":" -f2 | sed 's/\s*//g') - else - # default is almost always bifrost - if [[ "$PROVISIONER_TYPE" == "" ]]; then - export PROVISIONER_TYPE=bifrost - fi - fi - - if [[ "$COMMIT_MESSAGE" =~ "deploy-scenario:" && "$COMMIT_MESSAGE" =~ "installer-type:" ]]; then - export INSTALLER_TYPE=$(echo "$COMMIT_MESSAGE" | grep '^installer-type:' | cut -d":" -f2 | sed 's/\s*//g') - export DEPLOY_SCENARIO=$(echo "$COMMIT_MESSAGE" | grep '^deploy-scenario:' | cut -d":" -f2 | sed 's/\s*//g') - write_change_metadata - else - echo "Info: Installer type or deploy scenario is not specified." - echo "Info: Falling back to programmatically determining them." - fi -} - -# this function will process the changed files to determine the impacted scenario -# if it is no specified by the committer. only one scenario per change should be -# touched. -# TODO: this is not implented yet. -function determine_scenario() { - # for infra/engine repo, we set INSTALLER_TYPE and DEPLOY_SCENARIO to their defaults - echo "Info: Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC" - if [[ "$GERRIT_PROJECT" == "infra/engine" ]]; then - echo "Info: Setting INSTALLER_TYPE and DEPLOY_SCENARIO to defaults for project $GERRIT_PROJECT patchset $GERRIT_REFSPEC" - export PROVISIONER_TYPE=$PROVISIONER_TYPE - export INSTALLER_TYPE=kubespray - export DEPLOY_SCENARIO=k8-calico-nofeature - write_change_metadata - else - cd $WORKSPACE - COMMIT_MESSAGE=$(git show -s --format=%B) - export PROVISIONER_TYPE=none - export INSTALLER_TYPE=none - export DEPLOY_SCENARIO=none - write_change_metadata - echo "Info: Not implemented!" - exit 0 - fi -} - -function write_change_metadata() { - echo "Info: Writing change metadata to $WORKSPACE/change.properties" - cat << EOF > $WORKSPACE/change.properties -PROJECT_GIT_URL=$GIT_BASE_HTTPS/$GERRIT_PROJECT -PROVISIONER_TYPE=$PROVISIONER_TYPE -INSTALLER_TYPE=$INSTALLER_TYPE -DEPLOY_SCENARIO=$DEPLOY_SCENARIO -GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION -GERRIT_REFSPEC=$GERRIT_REFSPEC -EOF - - echo "Info: Content of change.properties" - echo "-------------------------------------------------------------------------" - cat $WORKSPACE/change.properties - echo "-------------------------------------------------------------------------" - - # need to exit here to ensure we don't go further while determining scenario - exit 0 -} - -echo "Info: Determining the provisioner, installer, and scenario" - -declare -a PROVISIONER_TYPE -declare -a INSTALLER_TYPE -declare -a DEPLOY_SCENARIO - -override_installer_scenario -determine_scenario - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/verify-jobs/engine-verify-deploy-test.yaml b/jjb/cloud-infra/engine-jobs/engine-verify-deploy-test.yaml similarity index 96% rename from jjb/engine/verify-jobs/engine-verify-deploy-test.yaml rename to jjb/cloud-infra/engine-jobs/engine-verify-deploy-test.yaml index c4f6f75b..4daf2ef6 100644 --- a/jjb/engine/verify-jobs/engine-verify-deploy-test.yaml +++ b/jjb/cloud-infra/engine-jobs/engine-verify-deploy-test.yaml @@ -25,6 +25,7 @@ stream: - 'master': branch: '{stream}' + deploy-scenario: 'k8-multus-plugins' environment-type: - online: @@ -57,7 +58,7 @@ 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-city-ubuntu1804.yaml" + 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: @@ -84,6 +85,14 @@ 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' @@ -104,10 +113,6 @@ name: IDF default: '{idf}' description: 'IDF file to use for deployment' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: 'heat-environment-{cloud}-{distro}.yaml' - description: 'Name of heat-environment file to use.' - string: name: HEAT_STACK_NAME default: "nordix-cicd-verify-engine-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER" diff --git a/jjb/engine/verify-jobs/engine-verify-package.yaml b/jjb/cloud-infra/engine-jobs/engine-verify-package.yaml similarity index 96% rename from jjb/engine/verify-jobs/engine-verify-package.yaml rename to jjb/cloud-infra/engine-jobs/engine-verify-package.yaml index 5f4e8011..c2943766 100644 --- a/jjb/engine/verify-jobs/engine-verify-package.yaml +++ b/jjb/cloud-infra/engine-jobs/engine-verify-package.yaml @@ -32,6 +32,7 @@ failed: false unstable: false notbuilt: false + deploy-scenario: 'k8-calico-nofeature' distro: - ubuntu1804 @@ -50,6 +51,10 @@ concurrent: true parameters: + - string: + name: DEPLOY_SCENARIO + default: '{deploy-scenario}' + description: 'Scenario to test change with.' - string: name: EXECUTION_MODE default: '{execution-mode}' diff --git a/jjb/engine/verify-jobs/engine-verify-tox.yaml b/jjb/cloud-infra/engine-jobs/engine-verify-tox.yaml similarity index 99% rename from jjb/engine/verify-jobs/engine-verify-tox.yaml rename to jjb/cloud-infra/engine-jobs/engine-verify-tox.yaml index d679ed90..8fa11aba 100644 --- a/jjb/engine/verify-jobs/engine-verify-tox.yaml +++ b/jjb/cloud-infra/engine-jobs/engine-verify-tox.yaml @@ -113,6 +113,7 @@ - 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: diff --git a/jjb/engine/engine-macros.yaml b/jjb/cloud-infra/engine-macros.yaml similarity index 95% rename from jjb/engine/engine-macros.yaml rename to jjb/cloud-infra/engine-macros.yaml index 1c1376e2..32d44e03 100644 --- a/jjb/engine/engine-macros.yaml +++ b/jjb/cloud-infra/engine-macros.yaml @@ -99,6 +99,12 @@ - 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: 'promote-macro' builders: diff --git a/jjb/cloud-infra/ironic-jobs/ironic-release-jobs.yaml b/jjb/cloud-infra/ironic-jobs/ironic-release-jobs.yaml new file mode 100644 index 00000000..98370e94 --- /dev/null +++ b/jjb/cloud-infra/ironic-jobs/ironic-release-jobs.yaml @@ -0,0 +1,329 @@ +--- +# ============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-{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: '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-artifact-macro' + - 'deploy-macro' + +# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/ironic-jobs/ironic-verify-package.yaml b/jjb/cloud-infra/ironic-jobs/ironic-verify-package.yaml new file mode 100644 index 00000000..bb2997c2 --- /dev/null +++ b/jjb/cloud-infra/ironic-jobs/ironic-verify-package.yaml @@ -0,0 +1,168 @@ +--- +# ============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-{distro}-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: 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' diff --git a/jjb/cloud-infra/ironic-jobs/ironic-verify-provision.yaml b/jjb/cloud-infra/ironic-jobs/ironic-verify-provision.yaml new file mode 100644 index 00000000..0522db20 --- /dev/null +++ b/jjb/cloud-infra/ironic-jobs/ironic-verify-provision.yaml @@ -0,0 +1,269 @@ +--- +# ============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}-{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-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-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' diff --git a/jjb/cloud-infra/ironic-jobs/ironic-verify-tox.yaml b/jjb/cloud-infra/ironic-jobs/ironic-verify-tox.yaml new file mode 100644 index 00000000..926df5cb --- /dev/null +++ b/jjb/cloud-infra/ironic-jobs/ironic-verify-tox.yaml @@ -0,0 +1,172 @@ +--- +# ============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: diff --git a/jjb/cloud-infra/kubernetes-jobs/kubernetes-release-deploy-test.yaml b/jjb/cloud-infra/kubernetes-jobs/kubernetes-release-deploy-test.yaml new file mode 100644 index 00000000..f75b997e --- /dev/null +++ b/jjb/cloud-infra/kubernetes-jobs/kubernetes-release-deploy-test.yaml @@ -0,0 +1,220 @@ +--- +# ============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_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 + - yardstick: + build-timeout: 30 + 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-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 + - multijob: + name: Platform Benchmarking + condition: ALWAYS + projects: + - name: 'kubernetes-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: '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' diff --git a/jjb/engine/onap-periodic-jobs/onap-online-release-jobs.yaml b/jjb/cloud-infra/kubernetes-jobs/kubernetes-release-jobs.yaml similarity index 50% rename from jjb/engine/onap-periodic-jobs/onap-online-release-jobs.yaml rename to jjb/cloud-infra/kubernetes-jobs/kubernetes-release-jobs.yaml index ae54cb8e..475f8b03 100644 --- a/jjb/engine/onap-periodic-jobs/onap-online-release-jobs.yaml +++ b/jjb/cloud-infra/kubernetes-jobs/kubernetes-release-jobs.yaml @@ -18,124 +18,129 @@ # ============LICENSE_END========================================================= - project: - name: 'onap-release-online' - - project: 'onap-release-online' + name: 'kubernetes-release' + + project: 'kubernetes-release' + + stream: + - 'master': + branch: 'master' + deploy-scenario: 'k8-multus-plugins' + promote-stack: 'false' + - '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: - - online: - disabled: true - execution-mode: online-deployment - - onap-branch: - - elalto: - onap-version: elalto - - master: - onap-version: master - - onap-profile: - - sdc - - so + - offline: + disabled: false + execution-mode: offline-deployment + openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' distro: - ubuntu1804 - phase: - - package - - promote - - cloud: - - city: - openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' - jobs: - - 'onap-{onap-profile}-periodic-release-{environment-type}-{distro}-{onap-branch}' - - 'onap-{onap-profile}-periodic-package-{distro}-{onap-branch}' - - 'onap-{onap-profile}-periodic-promote-{distro}-{onap-branch}' + - 'kubernetes-release-{distro}-{stream}' + - 'kubernetes-package-{distro}-{stream}' + - 'kubernetes-promote-{distro}-{stream}' - job-template: - name: 'onap-{onap-profile}-periodic-release-{environment-type}-{distro}-{onap-branch}' + name: 'kubernetes-release-{distro}-{stream}' project-type: multijob disabled: '{obj:disabled}' + node: 'engine-package-{distro}-fra' + concurrent: false parameters: - string: - name: EXECUTION_MODE - default: '{execution-mode}' - description: 'Engine execution mode - online-deployment or offline-deployment - default is online-deployment' + name: BRANCH + default: '{branch}' + description: 'Branch the job is created for. DO NOT MODIFY!' - string: name: DISTRO default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer type to use' + description: 'Distribution to provision and configre target nodes with. DO NOT MODIFY!' - string: name: DEPLOY_SCENARIO - default: 'k8-calico-onap' - description: 'Scenario to deploy and test' + default: '{deploy-scenario}' + description: 'Scenario to test change with. This depends on the branch of the stack.' - string: - name: ONAP_PROFILE - default: '{onap-profile}' - description: 'ONAP Profile to deploy and test' + name: CI_LOOP + default: 'release' + description: 'CI loop type. DO NOT MODIFY!' - string: name: VERBOSITY - default: 'true' - description: 'Verbosity setting for the engine - true or false - default is false' + default: 'false' + description: 'Engine verbosity' - string: - name: ARTIFACTS_TO_UPLOAD - default: "onap-{onap-profile}-installer-ubuntu1804.bsx offline-package.tgz" - description: 'Artifacts to upload' + name: NORDIX_ENGINE_VERSION + default: 'master' + description: 'Engine version of engine to package, deploy, test, release' - string: - name: ARTIFACT_TO_DOWNLOAD - default: "onap-{onap-profile}-installer-ubuntu1804.bsx" - description: 'Artifact to download' + name: STACK_TYPE + default: 'kubernetes' + description: 'Stack to package, deploy, test, release' - string: - name: NORDIX_ARM_PUBLIC_IP - default: '91.106.198.25' - description: 'Public IP of Nordix Artifactory. Offline deployments can not resolve domain name' + name: STACK_VERSION + default: '{branch}' + description: 'Stack version of engine to package, deploy, test, release' - string: - name: NORDIX_ARM_HTTPS_URL - default: 'https://artifactory.nordix.org/artifactory' - description: 'URL to Nordix Artifactory' + name: NORDIX_KUBESPRAY_VERSION + default: '{branch}' + description: 'Kubespray version of engine to package, deploy, test, release' - string: - name: NORDIX_ARM_REPO - default: 'nordix-onap' - description: 'Name of the repository to upload and download artifact to/from. Depends on the stack' + name: NORDIX_BIFROST_VERSION + default: 'master' + description: 'Bifrost version of engine to package, deploy, test, release' - string: - name: CI_LOOP - default: 'periodic' - description: 'CI loop type' - - label: - name: SLAVE_LABEL - default: 'engine-package-ubuntu1804-fra' - description: 'Slave label to schedule this job on.' + 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 - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'engine-verify-package-.*' - - 'onap-sdc-periodic-release-offline-.*' - - 'onap-so-periodic-release-offline-.*' - - 'kubernetes-periodic-release-offline-.*' - block-level: 'NODE' + # 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 * * *" + cron: "#H 0,8,16 * * *" scm: - git: @@ -146,58 +151,61 @@ wipe-workspace: true builders: + - 'generate-release-metadata-macro' + - inject: + properties-file: "$WORKSPACE/release.properties" - 'generate-ssh-keypair-macro' - - 'generate-build-metadata-macro' - 'wait-pkg-mgr-macro' - multijob: - name: package + name: Packaging condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'onap-{onap-profile}-periodic-package-{distro}-{onap-branch}' - current-parameters: true + - name: 'kubernetes-package-{distro}-{stream}' + current-parameters: false git-revision: true node-parameters: true - property-file: "$WORKSPACE/build.properties" + property-file: "$WORKSPACE/release.properties" kill-phase-on: FAILURE abort-all-job: true - multijob: - name: release test k8-calico-onap {onap-profile} + name: Release Test {deploy-scenario} condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'k8-calico-onap-{onap-profile}-online-ubuntu1804-city-cloud-periodic-{onap-branch}' + - name: 'kubernetes-release-offline-deploy-test-{distro}-baremetal-{stream}' current-parameters: false - git-revision: false + git-revision: true node-parameters: false - property-file: "$WORKSPACE/build.properties" - predefined-parameters: | - EXECUTION_MODE=$EXECUTION_MODE - NORDIX_ARM_PUBLIC_IP=$NORDIX_ARM_PUBLIC_IP - ARTIFACT_TO_DOWNLOAD=$ARTIFACT_TO_DOWNLOAD - VERBOSITY=$VERBOSITY + property-file: "$WORKSPACE/release.properties" kill-phase-on: FAILURE abort-all-job: true - multijob: - name: promotion + name: Promotion condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'onap-{onap-profile}-periodic-promote-{distro}-{onap-branch}' - current-parameters: true + - name: 'kubernetes-promote-{distro}-{stream}' + current-parameters: false git-revision: true node-parameters: true - property-file: "$WORKSPACE/build.properties" + property-file: "$WORKSPACE/release.properties" kill-phase-on: FAILURE abort-all-job: true - job-template: - name: 'onap-{onap-profile}-periodic-package-{distro}-{onap-branch}' + 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 @@ -221,10 +229,11 @@ wipe-workspace: true builders: - - 'onap-package-builder-macro' + - 'package-macro' + - 'upload-artifact-macro' - job-template: - name: 'onap-{onap-profile}-periodic-promote-{distro}-{onap-branch}' + name: 'kubernetes-promote-{distro}-{stream}' disabled: '{obj:disabled}' @@ -253,4 +262,4 @@ wipe-workspace: true builders: - - 'onap-promote-builder-macro' + - 'promote-macro' diff --git a/jjb/engine/verify-jobs/kubernetes-verify-deploy-test.yaml b/jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-deploy-test.yaml similarity index 94% rename from jjb/engine/verify-jobs/kubernetes-verify-deploy-test.yaml rename to jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-deploy-test.yaml index be28b970..82626e27 100644 --- a/jjb/engine/verify-jobs/kubernetes-verify-deploy-test.yaml +++ b/jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-deploy-test.yaml @@ -28,10 +28,19 @@ stream: - 'master': branch: 'master' + 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: @@ -64,7 +73,7 @@ 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-city-ubuntu1804.yaml" + 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: @@ -91,6 +100,14 @@ 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' @@ -111,10 +128,6 @@ name: IDF default: '{idf}' description: 'IDF file to use for deployment' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: 'heat-environment-{cloud}-{distro}.yaml' - description: 'Name of heat-environment file to use.' - string: name: HEAT_STACK_NAME default: "nordix-cicd-verify-kubernetes-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER" @@ -262,7 +275,7 @@ condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'kubernetes-verify-{environment-type}-deploy-{distro}-city-{type}-master' + - name: 'kubernetes-verify-{environment-type}-deploy-{distro}-city-{type}-{stream}' current-parameters: true git-revision: true node-parameters: true @@ -274,7 +287,7 @@ condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'kubernetes-verify-{environment-type}-functest-{distro}-city-{type}-master' + - name: 'kubernetes-verify-{environment-type}-functest-{distro}-city-{type}-{stream}' current-parameters: true git-revision: false node-parameters: true diff --git a/jjb/engine/verify-jobs/kubernetes-verify-package.yaml b/jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-package.yaml similarity index 86% rename from jjb/engine/verify-jobs/kubernetes-verify-package.yaml rename to jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-package.yaml index 73a1e4d2..81cd2aa5 100644 --- a/jjb/engine/verify-jobs/kubernetes-verify-package.yaml +++ b/jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-package.yaml @@ -35,6 +35,17 @@ 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' @@ -44,6 +55,17 @@ 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' @@ -53,6 +75,7 @@ failed: false unstable: false notbuilt: false + deploy-scenario: 'k8-calico-nofeature' distro: - ubuntu1804 @@ -71,6 +94,10 @@ concurrent: true parameters: + - string: + name: DEPLOY_SCENARIO + default: '{deploy-scenario}' + description: 'Scenario to test change with.' - string: name: EXECUTION_MODE default: '{execution-mode}' diff --git a/jjb/engine/verify-jobs/kubernetes-verify-tox.yaml b/jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-tox.yaml similarity index 95% rename from jjb/engine/verify-jobs/kubernetes-verify-tox.yaml rename to jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-tox.yaml index e4c9875f..d9a0720d 100644 --- a/jjb/engine/verify-jobs/kubernetes-verify-tox.yaml +++ b/jjb/cloud-infra/kubernetes-jobs/kubernetes-verify-tox.yaml @@ -29,9 +29,15 @@ - 'master': branch: 'master' 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' @@ -119,6 +125,7 @@ - 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: diff --git a/jjb/cloud-infra/onap-deploy-baremetal.sh b/jjb/cloud-infra/onap-deploy-baremetal.sh deleted file mode 100644 index 3b982b51..00000000 --- a/jjb/cloud-infra/onap-deploy-baremetal.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/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 nounset - -cd $WORKSPACE -echo "Info: Preparing for ONAP deployment" - -# checkout given engine version -if [[ "$ENGINE_VERSION" != "master" ]]; then - echo "Warning: Checking out $ENGINE_VERSION" - git checkout -q $ENGINE_VERSION -fi - -# checkout given engine refspec -if [[ "$ENGINE_REFSPEC" != "master" ]]; then - echo "Warning: Checking out engine $ENGINE_REFSPEC" - echo "-------------------------------------------------------------------------" - git fetch https://gerrit.nordix.org/infra/engine $ENGINE_REFSPEC && git checkout -q FETCH_HEAD - echo "-------------------------------------------------------------------------" -fi - -# update scenario version and refspec in engine/envine/var/sdf.yml -if [[ "$DEPLOY_SCENARIO_VERSION" != "master" && "$DEPLOY_SCENARIO_REFSPEC" != "master" ]]; then - echo "Warning: Adding $DEPLOY_SCENARIO_VERSION as scenario version and $DEPLOY_SCENARIO_REFSPEC as scenario refspec" -cat << EOF > $WORKSPACE/engine/var/sdf.yml -scenario: - $DEPLOY_SCENARIO: - scm: git - src: https://gerrit.nordix.org/infra/swconfig.git - version: $DEPLOY_SCENARIO_VERSION - refspec: $DEPLOY_SCENARIO_REFSPEC - provisioners: - - $PROVISIONER_TYPE - installers: - $INSTALLER_TYPE: - role: scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO - distros: - - $DISTRO -EOF - - echo "Info: Temporary SDF content" - echo "-------------------------------------------------------------------------" - cat $WORKSPACE/engine/var/sdf.yml - echo "-------------------------------------------------------------------------" -fi - -echo "Info: Starting K8S cluster creation and ONAP deployment" -echo "-------------------------------------------------------------------------" -cd $WORKSPACE -./engine/deploy.sh -d $INSTALLER_TYPE -r $PROVISIONER_TYPE -s $DEPLOY_SCENARIO -v \ - -p "https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-pdf.yml" \ - -i "https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-idf.yml" - -cd $WORKSPACE -/bin/cp -f /opt/engine/.cache/config/inventory.ini ../inventory.ini || true -/bin/cp -f /opt/engine/.cache/config/inventory.ini /tmp/inventory.ini || true -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/onap-deploy.sh b/jjb/cloud-infra/onap-deploy.sh deleted file mode 100644 index f2faad54..00000000 --- a/jjb/cloud-infra/onap-deploy.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/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 nounset - -cd $WORKSPACE -/bin/rm -f ../inventory.ini -echo "Info: Preparing for ONAP deployment" - -# checkout given engine version -if [[ "$ENGINE_VERSION" != "master" ]]; then - echo "Warning: Checking out $ENGINE_VERSION" - git checkout -q $ENGINE_VERSION -fi - -# checkout given engine refspec -if [[ "$ENGINE_REFSPEC" != "master" ]]; then - echo "Warning: Checking out engine $ENGINE_REFSPEC" - echo "-------------------------------------------------------------------------" - git fetch https://gerrit.nordix.org/infra/engine $ENGINE_REFSPEC && git checkout -q FETCH_HEAD - echo "-------------------------------------------------------------------------" -fi - -# update scenario version and refspec in engine/envine/var/sdf.yml -if [[ "$DEPLOY_SCENARIO_VERSION" != "master" && "$DEPLOY_SCENARIO_REFSPEC" != "master" ]]; then - echo "Warning: Adding $DEPLOY_SCENARIO_VERSION as scenario version and $DEPLOY_SCENARIO_REFSPEC as scenario refspec" -cat << EOF > $WORKSPACE/engine/var/sdf.yml -scenario: - $DEPLOY_SCENARIO: - scm: git - src: https://gerrit.nordix.org/infra/swconfig.git - version: $DEPLOY_SCENARIO_VERSION - refspec: $DEPLOY_SCENARIO_REFSPEC - provisioners: - - $PROVISIONER_TYPE - installers: - $INSTALLER_TYPE: - role: scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO - distros: - - $DISTRO -EOF - - echo "Info: Temporary SDF content" - echo "-------------------------------------------------------------------------" - cat $WORKSPACE/engine/var/sdf.yml - echo "-------------------------------------------------------------------------" -fi - -echo "Info: Starting K8S cluster creation and ONAP deployment" -echo "-------------------------------------------------------------------------" -cd $WORKSPACE -./engine/deploy.sh -r $PROVISIONER_TYPE -u /tmp/openrc \ - -s $DEPLOY_SCENARIO -e $HEAT_ENVIRONMENT_FILE - -cd $WORKSPACE -/bin/cp /opt/engine/.cache/config/inventory.ini ../inventory.ini -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/onap-healthcheck.sh b/jjb/cloud-infra/onap-healthcheck.sh deleted file mode 100644 index 9f1e3315..00000000 --- a/jjb/cloud-infra/onap-healthcheck.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 nounset - -cd $WORKSPACE -echo "Info: Starting ${TEST_TYPE}-${ONAP_FLAVOR} using Xtesting" -echo "-------------------------------------------------------------------------" -echo "Info: Cloning opnfv/xtesting-onap repository" -cd $HOME && /bin/rm -rf $WORKSPACE -git clone -q $XTESTING_REPO_URL $WORKSPACE && cd $WORKSPACE -/bin/cp -f /opt/engine/.cache/config/inventory.ini /tmp/inventory.ini || true -/bin/cp -f /tmp/inventory.ini inventory/inventory.ini || true -$WORKSPACE/xtesting.sh - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/verify-jobs/onap-verify-deploy-test.yaml b/jjb/cloud-infra/onap-jobs/onap-verify-deploy-test.yaml similarity index 95% rename from jjb/engine/verify-jobs/onap-verify-deploy-test.yaml rename to jjb/cloud-infra/onap-jobs/onap-verify-deploy-test.yaml index 9d32b986..610fb635 100644 --- a/jjb/engine/verify-jobs/onap-verify-deploy-test.yaml +++ b/jjb/cloud-infra/onap-jobs/onap-verify-deploy-test.yaml @@ -25,10 +25,13 @@ stream: - 'master': branch: '{stream}' + deploy-scenario: 'onap-sdc-full' - 'frankfurt': branch: '{stream}' + deploy-scenario: 'onap-sdc-full' - 'elalto': branch: '{stream}' + deploy-scenario: 'onap-sdc-full' environment-type: - online: @@ -55,7 +58,7 @@ 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-city-ubuntu1804.yaml" + 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: @@ -82,6 +85,14 @@ 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' @@ -102,10 +113,6 @@ name: IDF default: '{idf}' description: 'IDF file to use for deployment' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: 'heat-environment-{cloud}-{distro}.yaml' - description: 'Name of heat-environment file to use.' - string: name: HEAT_STACK_NAME default: "nordix-cicd-verify-onap-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER" @@ -253,7 +260,7 @@ condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'onap-verify-{environment-type}-deploy-{distro}-city-{type}-master' + - name: 'onap-verify-{environment-type}-deploy-{distro}-city-{type}-{stream}' current-parameters: true git-revision: true node-parameters: true @@ -265,7 +272,7 @@ condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'onap-verify-{environment-type}-functest-{distro}-city-{type}-master' + - name: 'onap-verify-{environment-type}-functest-{distro}-city-{type}-{stream}' current-parameters: true git-revision: false node-parameters: true diff --git a/jjb/engine/verify-jobs/onap-verify-package.yaml b/jjb/cloud-infra/onap-jobs/onap-verify-package.yaml similarity index 95% rename from jjb/engine/verify-jobs/onap-verify-package.yaml rename to jjb/cloud-infra/onap-jobs/onap-verify-package.yaml index 1e567624..5820b5fd 100644 --- a/jjb/engine/verify-jobs/onap-verify-package.yaml +++ b/jjb/cloud-infra/onap-jobs/onap-verify-package.yaml @@ -32,6 +32,7 @@ failed: false unstable: false notbuilt: false + deploy-scenario: 'onap-sdc-full' - 'frankfurt': branch: '{stream}' openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' @@ -41,6 +42,7 @@ failed: false unstable: false notbuilt: false + deploy-scenario: 'onap-sdc-full' - 'elalto': branch: '{stream}' openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' @@ -50,6 +52,7 @@ failed: false unstable: false notbuilt: false + deploy-scenario: 'onap-sdc-full' distro: - ubuntu1804 @@ -68,6 +71,10 @@ concurrent: true parameters: + - string: + name: DEPLOY_SCENARIO + default: '{deploy-scenario}' + description: 'Scenario to test change with.' - string: name: EXECUTION_MODE default: '{execution-mode}' diff --git a/jjb/engine/verify-jobs/onap-verify-tox.yaml b/jjb/cloud-infra/onap-jobs/onap-verify-tox.yaml similarity index 99% rename from jjb/engine/verify-jobs/onap-verify-tox.yaml rename to jjb/cloud-infra/onap-jobs/onap-verify-tox.yaml index 8d4979a9..bdafd2d0 100644 --- a/jjb/engine/verify-jobs/onap-verify-tox.yaml +++ b/jjb/cloud-infra/onap-jobs/onap-verify-tox.yaml @@ -116,6 +116,7 @@ - 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: diff --git a/jjb/cloud-infra/onap-macros.yaml b/jjb/cloud-infra/onap-macros.yaml deleted file mode 100644 index 8129201e..00000000 --- a/jjb/cloud-infra/onap-macros.yaml +++ /dev/null @@ -1,149 +0,0 @@ ---- -# -# ============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 used by all job types on cloud -- parameter: - name: 'onap-parameter-macro-legacy' - parameters: - - string: - name: PROVISIONER_TYPE - default: 'heat' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: 'onap-nofeature-noha' - description: 'Scenario to deploy and test' - - string: - name: DEPLOY_TYPE - default: 'cloud' - description: 'Type of the deployment' - - string: - name: TEST_TYPE - default: 'oom-healthcheck' - description: 'Test type to run. Could be oom-healthcheck or onap-healthcheck' - - string: - name: NORDIX_ARM_REPO_URL - default: 'https://artifactory.nordix.org/artifactory' - description: 'URL to Nordix Artifactory' - - string: - name: NORDIX_HARBOR_REPO_URL - default: 'registry.nordix.org' - description: 'URL to Nordix Harbor' - - string: - name: XTESTING_REPO_URL - default: 'https://gerrit.nordix.org/opnfv/xtesting-onap.git' - description: 'URL to Nordix xtesting-onap repository' - - string: - name: ENGINE_ANSIBLE_PARAMS - default: '' - description: 'Extra parameters that can be added when run the play books.' - -# macros used by all job types on baremetal -- parameter: - name: 'onap-baremetal-parameter-macro-legacy' - parameters: - - string: - name: PROVISIONER_TYPE - default: 'bifrost' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: 'onap-nofeature-noha' - description: 'Scenario to deploy and test' - - string: - name: DEPLOY_TYPE - default: 'baremetal' - description: 'Type of the deployment' - - string: - name: TEST_TYPE - default: 'oom-healthcheck' - description: 'Test type to run. Could be oom-healthcheck or onap-healthcheck' - - string: - name: NORDIX_ARM_REPO_URL - default: 'https://artifactory.nordix.org/artifactory' - description: 'URL to Nordix Artifactory' - - string: - name: NORDIX_HARBOR_REPO_URL - default: 'registry.nordix.org' - description: 'URL to Nordix Harbor' - - string: - name: XTESTING_REPO_URL - default: 'https://gerrit.nordix.org/opnfv/xtesting-onap.git' - description: 'URL to Nordix xtesting-onap repository' - - string: - name: ENGINE_ANSIBLE_PARAMS - default: '' - description: 'Extra parameters that can be added when run the play books.' - -- builder: - name: 'onap-deploy-macro-legacy' - builders: - - shell: - !include-raw: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./onap-deploy.sh - -- builder: - name: 'onap-deploy-baremetal-macro-legacy' - builders: - - shell: - !include-raw: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./onap-deploy-baremetal.sh - -- builder: - name: 'oom-hc-macro-legacy' - builders: - - shell: - !include-raw: ./oom-healthcheck.sh - -- builder: - name: 'oom-hc-baremetal-macro-legacy' - builders: - - shell: - !include-raw: ./oom-healthcheck.sh - -- builder: - name: 'onap-healthcheck-macro-legacy' - builders: - - shell: - !include-raw: ./onap-healthcheck.sh - -- builder: - name: 'onap-healthcheck-baremetal-macro-legacy' - builders: - - shell: - !include-raw: ./onap-healthcheck.sh - -- builder: - name: 'promote-onap-macro-legacy' - builders: - - shell: - !include-raw: ./promote-onap.sh - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/oom-healthcheck.sh b/jjb/cloud-infra/oom-healthcheck.sh deleted file mode 100644 index 9f1e3315..00000000 --- a/jjb/cloud-infra/oom-healthcheck.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 nounset - -cd $WORKSPACE -echo "Info: Starting ${TEST_TYPE}-${ONAP_FLAVOR} using Xtesting" -echo "-------------------------------------------------------------------------" -echo "Info: Cloning opnfv/xtesting-onap repository" -cd $HOME && /bin/rm -rf $WORKSPACE -git clone -q $XTESTING_REPO_URL $WORKSPACE && cd $WORKSPACE -/bin/cp -f /opt/engine/.cache/config/inventory.ini /tmp/inventory.ini || true -/bin/cp -f /tmp/inventory.ini inventory/inventory.ini || true -$WORKSPACE/xtesting.sh - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/kubernetes-periodic-jobs/kubernetes-offline-deploy-test-jobs.yaml b/jjb/cloud-infra/openstack-jobs/openstack-release-deploy-test.yaml similarity index 50% rename from jjb/engine/kubernetes-periodic-jobs/kubernetes-offline-deploy-test-jobs.yaml rename to jjb/cloud-infra/openstack-jobs/openstack-release-deploy-test.yaml index a386984f..b9e329cb 100644 --- a/jjb/engine/kubernetes-periodic-jobs/kubernetes-offline-deploy-test-jobs.yaml +++ b/jjb/cloud-infra/openstack-jobs/openstack-release-deploy-test.yaml @@ -18,138 +18,159 @@ # ============LICENSE_END========================================================= - project: - name: 'kubernetes-deploy-test-offline' + name: 'openstack-deploy-test' - project: 'kubernetes-deploy-test-offline' + project: 'openstack-deploy-test' stream: - 'master': - branch: '{stream}' + branch: 'master' + deploy-scenario: 'os-nosdn-nofeature' + - 'train': + branch: 'train' + deploy-scenario: 'os-nosdn-nofeature' distro: - ubuntu1804 - deploy-scenario: - - k8-multus-plugins - - type: - - baremetal: - pod-name: est-baremetal - provisioner-type: bifrost - installer-type: kubespray - slave-label: baremetal-deploy - yardstick-dispatcher: 'file' - 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 + build-timeout: 120 + execution-mode: offline-deployment - functest: - build-timeout: 210 + build-timeout: 240 + execution-mode: online-test - yardstick: - build-timeout: 30 + build-timeout: 60 + execution-mode: online-test jobs: - - '{deploy-scenario}-{environment-type}-{distro}-{type}-periodic' - - 'kubernetes-{environment-type}-{phase}-{distro}-{type}-periodic' + - 'openstack-release-{environment-type}-deploy-test-{distro}-baremetal-{stream}' + - 'openstack-release-{environment-type}-{phase}-{distro}-baremetal-{stream}' - job-template: - name: '{deploy-scenario}-{environment-type}-{distro}-{type}-periodic' + name: 'openstack-release-{environment-type}-deploy-test-{distro}-baremetal-{stream}' project-type: multijob disabled: '{obj:disabled}' - concurrent: true + node: baremetal-deploy + + concurrent: false parameters: - - label: - name: SLAVE_LABEL - default: '{slave-label}' - description: 'Slave label to schedule this job on.' - - string: - name: PROVISIONER_TYPE - default: '{provisioner-type}' - description: 'Provisioner type to use' - - string: - name: INSTALLER_TYPE - default: '{installer-type}' - description: 'Installer type to use' - string: - name: DEPLOY_SCENARIO - default: '{deploy-scenario}' - description: 'Scenario to deploy and test' + 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' + 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' + description: 'IDF file to use for deployment. DO NOT MODIFY!' - string: - name: CI_LOOP - default: 'periodic' - description: 'CI loop type' + name: SLAVE_LABEL + default: 'baremetal-deploy' + description: 'Type of the slave' properties: - logrotate - throttle: max-per-node: 1 - max-total: 3 + max-total: 1 option: project wrappers: - build-timeout: timeout: 300 - mask-passwords - - fix-workspace-permissions + - 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 | $PROVISIONER_TYPE | $INSTALLER_TYPE + description: $DEPLOY_SCENARIO - 'download-artifact-macro' - multijob: - name: "Offline Deployment on {type}" + name: "Offline Deployment on Baremetal using {deploy-scenario}" condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'kubernetes-{environment-type}-deploy-{distro}-{type}-periodic' + - 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: functest + name: Functional Testing condition: ALWAYS projects: - - name: 'kubernetes-{environment-type}-functest-{distro}-{type}-periodic' + - 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: yardstick + name: Platform Benchmarking condition: ALWAYS projects: - - name: 'kubernetes-{environment-type}-yardstick-{distro}-{type}-periodic' + - 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: 'kubernetes-{environment-type}-{phase}-{distro}-{type}-periodic' + 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' @@ -164,14 +185,14 @@ description: 'Test suite to run' - string: name: YARDSTICK_DISPATCHER - default: '{yardstick-dispatcher}' + default: 'file' description: 'Dispatcher to use for Yardstick reporting' properties: - logrotate - throttle: max-per-node: 1 - max-total: 3 + max-total: 1 option: project wrappers: @@ -179,8 +200,12 @@ 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 | $PROVISIONER_TYPE | $INSTALLER_TYPE + description: $DEPLOY_SCENARIO - '{phase}-macro' diff --git a/jjb/engine/kubernetes-periodic-jobs/kubernetes-offline-release-jobs.yaml b/jjb/cloud-infra/openstack-jobs/openstack-release-jobs.yaml similarity index 55% rename from jjb/engine/kubernetes-periodic-jobs/kubernetes-offline-release-jobs.yaml rename to jjb/cloud-infra/openstack-jobs/openstack-release-jobs.yaml index 0bfd4fb9..c106d49c 100644 --- a/jjb/engine/kubernetes-periodic-jobs/kubernetes-offline-release-jobs.yaml +++ b/jjb/cloud-infra/openstack-jobs/openstack-release-jobs.yaml @@ -18,110 +18,113 @@ # ============LICENSE_END========================================================= - project: - name: 'kubernetes-release-offline' + name: 'openstack-release' - project: 'kubernetes-release-offline' + 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 - phase: - - package - - promote - - cloud: - - city: - openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' - jobs: - - 'kubernetes-periodic-release-{environment-type}-{distro}' - - 'kubernetes-periodic-package-{distro}' - - 'kubernetes-periodic-promote-{distro}' + - 'openstack-release-{distro}-{stream}' + - 'openstack-package-{distro}-{stream}' + - 'openstack-promote-{distro}-{stream}' - job-template: - name: 'kubernetes-periodic-release-{environment-type}-{distro}' + name: 'openstack-release-{distro}-{stream}' project-type: multijob disabled: '{obj:disabled}' + node: 'engine-package-{distro}-fra' + concurrent: false parameters: - string: - name: EXECUTION_MODE - default: '{execution-mode}' - description: 'Engine execution mode - online-deployment or offline-deployment - default is online-deployment' + name: BRANCH + default: '{branch}' + description: 'Branch the job is created for. DO NOT MODIFY!' - string: name: DISTRO default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer type to use' + description: 'Distribution to provision and configre target nodes with. DO NOT MODIFY!' - string: name: DEPLOY_SCENARIO - default: 'k8-multus-plugins' - description: 'Scenario to deploy and test' + 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: 'true' - description: 'Verbosity setting for the engine - true or false - default is false' + default: 'false' + description: 'Engine verbosity' - string: - name: ARTIFACTS_TO_UPLOAD - default: "k8s-installer-ubuntu1804.bsx offline-package.tgz" - description: 'Artifacts to upload' + name: NORDIX_ENGINE_VERSION + default: 'master' + description: 'Engine version of engine to package, deploy, test, release' - string: - name: ARTIFACT_TO_DOWNLOAD - default: "k8s-installer-ubuntu1804.bsx" - description: 'Artifact to download' + name: STACK_TYPE + default: 'openstack' + description: 'Stack to package, deploy, test, release' - string: - name: NORDIX_ARM_PUBLIC_IP - default: '91.106.198.25' - description: 'Public IP of Nordix Artifactory. Offline deployments can not resolve domain name' + name: STACK_VERSION + default: '{branch}' + description: 'Stack version of engine to package, deploy, test, release' - string: - name: NORDIX_ARM_HTTPS_URL - default: 'https://artifactory.nordix.org/artifactory' - description: 'URL to Nordix Artifactory' + name: NORDIX_KOLLA_VERSION + default: '{branch}' + description: 'Kolla version of engine to package, deploy, test, release' - string: - name: NORDIX_ARM_REPO - default: 'nordix-kubernetes' - description: 'Name of the repository to upload and download artifact to/from. Depends on the stack' + name: NORDIX_BIFROST_VERSION + default: 'master' + description: 'Bifrost version of engine to package, deploy, test, release' - string: - name: CI_LOOP - default: 'periodic' - description: 'CI loop type' - - label: - name: SLAVE_LABEL - default: 'engine-package-ubuntu1804-fra' - description: 'Slave label to schedule this job on.' + name: PROMOTE_STACK + default: '{promote-stack}' + description: 'Heat version of engine to package, deploy, test, release' properties: - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'engine-verify-package-.*' - - 'onap-sdc-periodic-release-offline-.*' - - 'onap-so-periodic-release-offline-.*' - - 'kubernetes-periodic-release-offline-.*' - block-level: 'NODE' + # 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 * * *" + cron: "#H 0,8,16 * * *" scm: - git: @@ -132,58 +135,61 @@ wipe-workspace: true builders: + - 'generate-release-metadata-macro' + - inject: + properties-file: "$WORKSPACE/release.properties" - 'generate-ssh-keypair-macro' - - 'generate-build-metadata-macro' - 'wait-pkg-mgr-macro' - multijob: - name: package + name: Packaging condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'kubernetes-periodic-package-{distro}' - current-parameters: true + - name: 'openstack-package-{distro}-{stream}' + current-parameters: false git-revision: true node-parameters: true - property-file: "$WORKSPACE/build.properties" + property-file: "$WORKSPACE/release.properties" kill-phase-on: FAILURE abort-all-job: true - multijob: - name: release test k8-multus-plugins + name: Release Test {deploy-scenario} condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'k8-multus-plugins-offline-{distro}-baremetal-periodic' + - name: 'openstack-release-offline-deploy-test-{distro}-baremetal-{stream}' current-parameters: false - git-revision: false + git-revision: true node-parameters: false - property-file: "$WORKSPACE/build.properties" - predefined-parameters: | - EXECUTION_MODE=$EXECUTION_MODE - NORDIX_ARM_PUBLIC_IP=$NORDIX_ARM_PUBLIC_IP - ARTIFACT_TO_DOWNLOAD=$ARTIFACT_TO_DOWNLOAD - VERBOSITY=$VERBOSITY + property-file: "$WORKSPACE/release.properties" kill-phase-on: FAILURE abort-all-job: true - multijob: - name: promotion + name: Promotion condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'kubernetes-periodic-promote-{distro}' - current-parameters: true + - name: 'openstack-promote-{distro}-{stream}' + current-parameters: false git-revision: true node-parameters: true - property-file: "$WORKSPACE/build.properties" + property-file: "$WORKSPACE/release.properties" kill-phase-on: FAILURE abort-all-job: true - job-template: - name: 'kubernetes-periodic-package-{distro}' + 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 @@ -211,7 +217,7 @@ - 'upload-artifact-macro' - job-template: - name: 'kubernetes-periodic-promote-{distro}' + name: 'openstack-promote-{distro}-{stream}' disabled: '{obj:disabled}' diff --git a/jjb/engine/verify-jobs/openstack-verify-deploy-test.yaml b/jjb/cloud-infra/openstack-jobs/openstack-verify-deploy-test.yaml similarity index 96% rename from jjb/engine/verify-jobs/openstack-verify-deploy-test.yaml rename to jjb/cloud-infra/openstack-jobs/openstack-verify-deploy-test.yaml index 62a3fddc..deab8330 100644 --- a/jjb/engine/verify-jobs/openstack-verify-deploy-test.yaml +++ b/jjb/cloud-infra/openstack-jobs/openstack-verify-deploy-test.yaml @@ -25,10 +25,10 @@ stream: - 'master': branch: '{stream}' + deploy-scenario: 'os-nosdn-nofeature' - 'train': branch: '{stream}' - - 'stein': - branch: '{stream}' + deploy-scenario: 'os-nosdn-nofeature' environment-type: - online: @@ -82,6 +82,14 @@ 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' @@ -102,10 +110,6 @@ name: IDF default: '{idf}' description: 'IDF file to use for deployment' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: 'heat-environment-{cloud}-{distro}.yaml' - description: 'Name of heat-environment file to use.' - string: name: HEAT_STACK_NAME default: "nordix-cicd-verify-openstack-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER" @@ -253,7 +257,7 @@ condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'openstack-verify-{environment-type}-deploy-{distro}-city-{type}-master' + - name: 'openstack-verify-{environment-type}-deploy-{distro}-city-{type}-{stream}' current-parameters: true git-revision: true node-parameters: true @@ -265,7 +269,7 @@ condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'openstack-verify-{environment-type}-functest-{distro}-city-{type}-master' + - name: 'openstack-verify-{environment-type}-functest-{distro}-city-{type}-{stream}' current-parameters: true git-revision: false node-parameters: true diff --git a/jjb/engine/verify-jobs/openstack-verify-package.yaml b/jjb/cloud-infra/openstack-jobs/openstack-verify-package.yaml similarity index 94% rename from jjb/engine/verify-jobs/openstack-verify-package.yaml rename to jjb/cloud-infra/openstack-jobs/openstack-verify-package.yaml index 3e1e59b7..b29b7a39 100644 --- a/jjb/engine/verify-jobs/openstack-verify-package.yaml +++ b/jjb/cloud-infra/openstack-jobs/openstack-verify-package.yaml @@ -32,6 +32,7 @@ failed: false unstable: false notbuilt: false + deploy-scenario: 'os-nosdn-nofeature' - 'train': branch: '{stream}' openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' @@ -41,15 +42,7 @@ failed: false unstable: false notbuilt: false - - 'stein': - 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 @@ -68,6 +61,10 @@ concurrent: true parameters: + - string: + name: DEPLOY_SCENARIO + default: '{deploy-scenario}' + description: 'Scenario to test change with.' - string: name: EXECUTION_MODE default: '{execution-mode}' diff --git a/jjb/engine/verify-jobs/openstack-verify-tox.yaml b/jjb/cloud-infra/openstack-jobs/openstack-verify-tox.yaml similarity index 97% rename from jjb/engine/verify-jobs/openstack-verify-tox.yaml rename to jjb/cloud-infra/openstack-jobs/openstack-verify-tox.yaml index 86912352..275a8a1f 100644 --- a/jjb/engine/verify-jobs/openstack-verify-tox.yaml +++ b/jjb/cloud-infra/openstack-jobs/openstack-verify-tox.yaml @@ -29,9 +29,6 @@ - 'train': branch: '{stream}' gated-projects: 'infra/stack/openstack|infra/installer/kolla' - - 'stein': - branch: '{stream}' - gated-projects: 'infra/stack/openstack|infra/installer/kolla' lint-type: - ansible-lint: @@ -116,6 +113,7 @@ - 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: diff --git a/jjb/cloud-infra/prepare-for-scenario-deploy.sh b/jjb/cloud-infra/prepare-for-scenario-deploy.sh deleted file mode 100644 index 0b469c32..00000000 --- a/jjb/cloud-infra/prepare-for-scenario-deploy.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/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 nounset - -echo "Info: Cloning infra/engine repository" -cd $HOME && /bin/rm -rf $WORKSPACE -git clone -q $ENGINE_REPO_URL $WORKSPACE - -echo "Info: Generating temporary SDF" -cat << EOF > $WORKSPACE/sdf.yml -scenario: - $DEPLOY_SCENARIO: - scm: git - src: $PROJECT_GIT_URL - version: $GERRIT_PATCHSET_REVISION - refspec: $GERRIT_REFSPEC - provisioners: - - $PROVISIONER_TYPE - installers: - $INSTALLER_TYPE: - role: scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO - distros: - - $DISTRO -EOF -echo "Info: Temporary SDF content" -echo "-------------------------------------------------------------------------" -cat $WORKSPACE/sdf.yml -echo "-------------------------------------------------------------------------" - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/prepare-for-scenario-test.sh b/jjb/cloud-infra/prepare-for-scenario-test.sh deleted file mode 100644 index c45b7878..00000000 --- a/jjb/cloud-infra/prepare-for-scenario-test.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/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 nounset - -echo "Info: Cloning infra/test repository" -cd $HOME && /bin/rm -rf $WORKSPACE -git clone -q $TEST_REPO_URL $WORKSPACE - -echo "Info: Generating temporary SDF" -cat << EOF > $WORKSPACE/sdf.yml -scenario: - $DEPLOY_SCENARIO: - scm: git - src: $PROJECT_GIT_URL - version: $GERRIT_PATCHSET_REVISION - refspec: $GERRIT_REFSPEC - provisioners: - - $PROVISIONER_TYPE - installers: - $INSTALLER_TYPE: - role: scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO - distros: - - $DISTRO -EOF -echo "Info: Temporary SDF content" -echo "-------------------------------------------------------------------------" -cat $WORKSPACE/sdf.yml -echo "-------------------------------------------------------------------------" - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/promote-onap.sh b/jjb/cloud-infra/promote-onap.sh deleted file mode 100644 index 9de2480f..00000000 --- a/jjb/cloud-infra/promote-onap.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/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 nounset - -cd $WORKSPACE -echo "Info: Promoting ONAP. Please note that this may take about 3 hours to complete. Do not interrupt!" -echo "-------------------------------------------------------------------------" -cd /tmp && /bin/rm -rf $WORKSPACE -git clone -q https://gerrit.nordix.org/infra/swconfig.git $WORKSPACE -cd $WORKSPACE/scenarios/onap-nofeature-noha/kubespray/playbooks -# avoid PS1: unbound variable issue -set +u -source /opt/engine/.venv/bin/activate -set -u -ansible-playbook -i /tmp/inventory.ini promote.yml -echo "-------------------------------------------------------------------------" -echo "Info: Promotion done!" - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/scenario-deploy.sh b/jjb/cloud-infra/scenario-deploy.sh deleted file mode 100644 index ae8c7984..00000000 --- a/jjb/cloud-infra/scenario-deploy.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/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 nounset -set -o pipefail - -# This script is a wrapper around actual cloud infra engine deploy.sh script which gets -# executed when the job that uses this script gets triggered due to Gerrit change. -# -# Logic in this script should be kept at minimum and the changes should be pushed into -# the cloud infra engine deploy.sh script. - -# The verify job will verify changes coming to other repositories as well such as -# infra/swconfig so it needs to be handled here in order to ensure $WORKSPACE contains -# the actual engine repo clone. This will be added later on. - -# PDF and IDF are determined based on the deployment type -# If DEPLOY_TYPE is virtual, we always use nordix-vpod1 PDF and IDF. -# If DEPLOY_TYPE is baremetal, we use variable NODE_NAME injected by Jenkins to the job -# in order to set PDF and IDF for the POD the job is running against. - -if [[ $DEPLOY_TYPE == "baremetal" ]]; then - PDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-pdf.yml" - IDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-idf.yml" -else - 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" -fi - -# execute cloud engine deploy.sh script -cd $WORKSPACE -./engine/deploy.sh -d $INSTALLER_TYPE -o $DISTRO -s $DEPLOY_SCENARIO -p $PDF -i $IDF -c - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/scenario-functest.sh b/jjb/cloud-infra/scenario-functest.sh deleted file mode 100644 index ae032f6f..00000000 --- a/jjb/cloud-infra/scenario-functest.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/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 nounset -set -o pipefail - -# This script is a wrapper around actual cloud infra engine test.sh script which gets -# executed when the job that uses this script gets triggered due to Gerrit change. -# -# Logic in this script should be kept at minimum and the changes should be pushed into -# the cloud infra test test.sh script. - -# execute cloud engine test.sh script with arguments -cd $WORKSPACE -./test/test.sh -f $TEST_FW -t $TEST_SUITE -s $DEPLOY_SCENARIO -d $YARDSTICK_DISPATCHER - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/scenario-promote.sh b/jjb/cloud-infra/scenario-promote.sh deleted file mode 100644 index f48ac77c..00000000 --- a/jjb/cloud-infra/scenario-promote.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/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 nounset -set -o pipefail - -cd $WORKSPACE -echo "Info: Not implemented!" - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/scenario-yardstick.sh b/jjb/cloud-infra/scenario-yardstick.sh deleted file mode 100644 index ae032f6f..00000000 --- a/jjb/cloud-infra/scenario-yardstick.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/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 nounset -set -o pipefail - -# This script is a wrapper around actual cloud infra engine test.sh script which gets -# executed when the job that uses this script gets triggered due to Gerrit change. -# -# Logic in this script should be kept at minimum and the changes should be pushed into -# the cloud infra test test.sh script. - -# execute cloud engine test.sh script with arguments -cd $WORKSPACE -./test/test.sh -f $TEST_FW -t $TEST_SUITE -s $DEPLOY_SCENARIO -d $YARDSTICK_DISPATCHER - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/scripts/cloud-infra-lint.sh b/jjb/cloud-infra/scripts/cloud-infra-lint.sh deleted file mode 100644 index fe3a50e2..00000000 --- a/jjb/cloud-infra/scripts/cloud-infra-lint.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/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 - -# ensure we are in job build WORKSPACE -cd "$WORKSPACE" - -export DEBIAN_FRONTEND=noninteractive - -# install dependencies -echo "Info: Install python3.6-minimal python3-distutils virtualenv using apt" -sudo apt update -q=3 > /dev/null 2>&1 -sudo apt install -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -q=3 -y python3.6-minimal python3-distutils virtualenv > /dev/null 2>&1 - -# create and activate virtualenv -echo "Info: Create and activate python virtualenv" -virtualenv -p python3.6 .venv > /dev/null 2>&1 -set +u -source .venv/bin/activate > /dev/null 2>&1 -set -u - -# install test-requirements -echo "Info: Install python packages listed in test-requirements.txt using pip" -pip install --force-reinstall --quiet -r test-requirements.txt > /dev/null 2>&1 - -# set default lint type -export LINT_TYPE="${LINT_TYPE:-ansible-lint}" - -# run tox -echo "Info: Run $LINT_TYPE using tox" -echo "----------------------------------------------------" -tox -e "$LINT_TYPE" -echo "----------------------------------------------------" -echo "Info: Done!" - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/scripts/delete-heat-stack.sh b/jjb/cloud-infra/scripts/delete-heat-stack.sh similarity index 100% rename from jjb/engine/scripts/delete-heat-stack.sh rename to jjb/cloud-infra/scripts/delete-heat-stack.sh diff --git a/jjb/engine/scripts/deploy.sh b/jjb/cloud-infra/scripts/deploy.sh similarity index 66% rename from jjb/engine/scripts/deploy.sh rename to jjb/cloud-infra/scripts/deploy.sh index 0589a827..2c160489 100755 --- a/jjb/engine/scripts/deploy.sh +++ b/jjb/cloud-infra/scripts/deploy.sh @@ -18,7 +18,6 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -set -o nounset set -o errexit set -o pipefail @@ -31,25 +30,30 @@ if [[ "$GERRIT_PROJECT" != "infra/engine" ]]; then 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 -# TODO (fdegir): this is temporarily here to develop the jobs -if [[ "$GERRIT_PROJECT" != "infra/engine" ]]; then - cd $ENGINE_ROOT_DIR - git fetch "https://gerrit.nordix.org/infra/engine" refs/changes/23/4823/18 && git checkout FETCH_HEAD -fi - -# NOTE (fdegir): for bifrost based deployments, we don't need these files so we fake them +# NOTE (fdegir): for bifrost based deployments, we don't need openrc file so we fake it OPENRC_FILE=${OPENRC_FILE:-/tmp/openrc} -HEAT_ENVIRONMENT_FILENAME=${HEAT_ENVIRONMENT_FILENAME:-/tmp/heat} /bin/cp -f $OPENRC_FILE /tmp/openrc cd "$ENGINE_ROOT_DIR/engine" -./deploy.sh -d -s "$STACK_TYPE" -v "$STACK_VERSION" -p "$PDF" -i "$IDF" -o /tmp/openrc +./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: diff --git a/jjb/engine/scripts/download-artifact.sh b/jjb/cloud-infra/scripts/download-artifact.sh similarity index 81% rename from jjb/engine/scripts/download-artifact.sh rename to jjb/cloud-infra/scripts/download-artifact.sh index 68e8d039..9b3aebf5 100755 --- a/jjb/engine/scripts/download-artifact.sh +++ b/jjb/cloud-infra/scripts/download-artifact.sh @@ -23,22 +23,24 @@ set -o errexit if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then # ensure we delete leftovers due to lack of disk space - sudo /bin/rm -rf /tmp/$INSTALLER_FILE ~/.ara \ + 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/$INSTALLER_FILE" + echo " $NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT" cd /tmp - curl -s -S -O $NORDIX_ARTIFACT_URL/$INSTALLER_FILE + curl -s -S -O $NORDIX_ARTIFACT_URL/$REMOTE_ARTIFACT echo "Info : Downloaded the artifact for offline deployment. Extracting..." - echo " $(ls -al /tmp/$INSTALLER_FILE)" - chmod +x /tmp/$INSTALLER_FILE - /tmp/$INSTALLER_FILE - sudo /bin/rm -rf /tmp/$INSTALLER_FILE + 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 diff --git a/jjb/engine/scripts/functest.sh b/jjb/cloud-infra/scripts/functest.sh similarity index 81% rename from jjb/engine/scripts/functest.sh rename to jjb/cloud-infra/scripts/functest.sh index 14a2b0cb..d98ad0af 100755 --- a/jjb/engine/scripts/functest.sh +++ b/jjb/cloud-infra/scripts/functest.sh @@ -18,7 +18,6 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -set -o nounset set -o errexit set -o pipefail @@ -42,7 +41,15 @@ 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 -f $TEST_FW -t $TEST_SUITE -s $STACK_TYPE -y $YARDSTICK_DISPATCHER -d +./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: diff --git a/jjb/engine/scripts/generate-build-metadata.sh b/jjb/cloud-infra/scripts/generate-build-metadata.sh similarity index 100% rename from jjb/engine/scripts/generate-build-metadata.sh rename to jjb/cloud-infra/scripts/generate-build-metadata.sh diff --git a/jjb/cloud-infra/scripts/generate-change-metadata.sh b/jjb/cloud-infra/scripts/generate-change-metadata.sh new file mode 100755 index 00000000..73f88974 --- /dev/null +++ b/jjb/cloud-infra/scripts/generate-change-metadata.sh @@ -0,0 +1,187 @@ +#!/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 + readarray -t DEPENDENT_CHANGE_METADATA < <(curl -s "https://gerrit.nordix.org/changes/?q=$DEPENDENT_CHANGE_ID&o=CURRENT_REVISION" 2>&1 \ + | grep "project\|status\|current_revision\|ref.*," | sed -e 's/\s//g' -e 's/,//g' -e 's/"//g'| cut -d: -f2) + + # 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//*\//}" + +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 + # set vars + export 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 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 +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: diff --git a/jjb/cloud-infra/scripts/generate-release-metadata.sh b/jjb/cloud-infra/scripts/generate-release-metadata.sh new file mode 100755 index 00000000..901fd8b3 --- /dev/null +++ b/jjb/cloud-infra/scripts/generate-release-metadata.sh @@ -0,0 +1,93 @@ +#!/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_HEAT_VERSION=$NORDIX_HEAT_VERSION" >> $RELEASE_METADATA_FILE + 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 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 +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: diff --git a/jjb/engine/scripts/generate-sdf-for-change.sh b/jjb/cloud-infra/scripts/generate-sdf-for-change.sh similarity index 100% rename from jjb/engine/scripts/generate-sdf-for-change.sh rename to jjb/cloud-infra/scripts/generate-sdf-for-change.sh diff --git a/jjb/engine/scripts/generate-ssh-keypair.sh b/jjb/cloud-infra/scripts/generate-ssh-keypair.sh similarity index 100% rename from jjb/engine/scripts/generate-ssh-keypair.sh rename to jjb/cloud-infra/scripts/generate-ssh-keypair.sh diff --git a/jjb/cloud-infra/cloud-infra-scenario-deploy.sh b/jjb/cloud-infra/scripts/package.sh old mode 100644 new mode 100755 similarity index 51% rename from jjb/cloud-infra/cloud-infra-scenario-deploy.sh rename to jjb/cloud-infra/scripts/package.sh index a52234aa..642d5b99 --- a/jjb/cloud-infra/cloud-infra-scenario-deploy.sh +++ b/jjb/cloud-infra/scripts/package.sh @@ -19,21 +19,28 @@ # ============LICENSE_END========================================================= set -o errexit -set -o nounset set -o pipefail -# determine PDF -if [[ $DEPLOY_TYPE == "baremetal" ]]; then - PDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-pdf.yml" - IDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-idf.yml" -else - 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" +# 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 -# clone infra/engine repository -echo "Info: Deploying scenario $DEPLOY_SCENARIO using $INSTALLER_TYPE" -cd $WORKSPACE -./engine/deploy.sh -d $INSTALLER_TYPE -s $DEPLOY_SCENARIO -p $PDF -i $IDF -b file://$WORKSPACE/sdf.yml -c +# 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" + +cd "$WORKSPACE/engine" +./package.sh -s "$STACK_TYPE" -b "$STACK_VERSION" -d "$DISTRO" -v # vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/scripts/promote-spinnaker.sh b/jjb/cloud-infra/scripts/promote-spinnaker.sh deleted file mode 100644 index a204a146..00000000 --- a/jjb/cloud-infra/scripts/promote-spinnaker.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/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========================================================= - -echo "Hello world!" - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/scripts/promote.sh b/jjb/cloud-infra/scripts/promote.sh new file mode 100755 index 00000000..a6ac651c --- /dev/null +++ b/jjb/cloud-infra/scripts/promote.sh @@ -0,0 +1,54 @@ +#!/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 diff --git a/jjb/cloud-infra/scripts/spinnaker-deploy.sh b/jjb/cloud-infra/scripts/spinnaker-deploy.sh deleted file mode 100644 index 4f9e2de8..00000000 --- a/jjb/cloud-infra/scripts/spinnaker-deploy.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/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 nounset - -cd $WORKSPACE -/bin/rm -f ../inventory.ini -echo "Info: Preparing for Spinnaker deployment" - -# checkout given engine version -if [[ "$ENGINE_VERSION" != "master" ]]; then - echo "Warning: Checking out $ENGINE_VERSION" - git checkout -q $ENGINE_VERSION -fi - -# checkout given engine refspec -if [[ "$ENGINE_REFSPEC" != "master" ]]; then - echo "Warning: Checking out engine $ENGINE_REFSPEC" - echo "-------------------------------------------------------------------------" - git fetch https://gerrit.nordix.org/infra/engine $ENGINE_REFSPEC && git checkout -q FETCH_HEAD - echo "-------------------------------------------------------------------------" -fi - -# update scenario version and refspec in engine/envine/var/sdf.yml -if [[ "$DEPLOY_SCENARIO_VERSION" != "master" && "$DEPLOY_SCENARIO_REFSPEC" != "master" ]]; then - echo "Warning: Adding $DEPLOY_SCENARIO_VERSION as scenario version and $DEPLOY_SCENARIO_REFSPEC as scenario refspec" -cat << EOF > $WORKSPACE/engine/var/sdf.yml -scenario: - $DEPLOY_SCENARIO: - scm: git - src: https://gerrit.nordix.org/infra/swconfig.git - version: $DEPLOY_SCENARIO_VERSION - refspec: $DEPLOY_SCENARIO_REFSPEC - provisioners: - - $PROVISIONER_TYPE - installers: - $INSTALLER_TYPE: - role: scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO - distros: - - $DISTRO -EOF - - echo "Info: Temporary SDF content" - echo "-------------------------------------------------------------------------" - cat $WORKSPACE/engine/var/sdf.yml - echo "-------------------------------------------------------------------------" -fi - -echo "Info: Starting K8S cluster creation and Spinnaker deployment" -echo "-------------------------------------------------------------------------" -cd $WORKSPACE -./engine/deploy.sh -r $PROVISIONER_TYPE -u /tmp/openrc \ - -s $DEPLOY_SCENARIO -e $HEAT_ENVIRONMENT_FILE - -cd $WORKSPACE -/bin/cp /opt/engine/.cache/config/inventory.ini ../inventory.ini - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/scripts/tox.sh b/jjb/cloud-infra/scripts/tox.sh similarity index 100% rename from jjb/engine/scripts/tox.sh rename to jjb/cloud-infra/scripts/tox.sh diff --git a/jjb/engine/scripts/upload-artifact.sh b/jjb/cloud-infra/scripts/upload-artifact.sh similarity index 90% rename from jjb/engine/scripts/upload-artifact.sh rename to jjb/cloud-infra/scripts/upload-artifact.sh index fe237421..b63a0244 100755 --- a/jjb/engine/scripts/upload-artifact.sh +++ b/jjb/cloud-infra/scripts/upload-artifact.sh @@ -32,6 +32,9 @@ if [[ "$EXECUTION_MODE" == "packaging" || "$EXECUTION_MODE" == "offline-deployme 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" \ @@ -39,8 +42,8 @@ if [[ "$EXECUTION_MODE" == "packaging" || "$EXECUTION_MODE" == "offline-deployme -H "X-Checksum-Sha1:$ARTIFACT_SHASUM" \ -H "X-Checksum-Sha256:$ARTIFACT_SHA256SUM" \ -T $BUILD_ARTIFACT \ - "$NORDIX_ARTIFACT_URL/$BUILD_ARTIFACT" - echo "Info : Artifact $BUILD_ARTIFACT is available on $NORDIX_ARTIFACT_URL/$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." diff --git a/jjb/engine/scripts/wait-for-pkg-manager.sh b/jjb/cloud-infra/scripts/wait-for-pkg-manager.sh similarity index 100% rename from jjb/engine/scripts/wait-for-pkg-manager.sh rename to jjb/cloud-infra/scripts/wait-for-pkg-manager.sh diff --git a/jjb/engine/scripts/yardstick.sh b/jjb/cloud-infra/scripts/yardstick.sh similarity index 100% rename from jjb/engine/scripts/yardstick.sh rename to jjb/cloud-infra/scripts/yardstick.sh diff --git a/jjb/cloud-infra/spinnaker-macros.yaml b/jjb/cloud-infra/spinnaker-macros.yaml deleted file mode 100644 index c67fcdc6..00000000 --- a/jjb/cloud-infra/spinnaker-macros.yaml +++ /dev/null @@ -1,44 +0,0 @@ ---- -# -# ============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: 'spinnaker-deploy-macro' - builders: - - shell: - !include-raw: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./scripts/spinnaker-deploy.sh - -- builder: - name: 'spinnaker-test-macro' - builders: - - shell: - !include-raw: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./scripts/spinnaker-test.sh -- builder: - name: 'promote-spinnaker-macro' - builders: - - shell: - !include-raw: ./wait-for-pkg-manager.sh - - shell: - !include-raw: ./scripts/promote-spinnaker.sh - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/wait-for-pkg-manager.sh b/jjb/cloud-infra/wait-for-pkg-manager.sh deleted file mode 100644 index 99f75440..00000000 --- a/jjb/cloud-infra/wait-for-pkg-manager.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/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 nounset - -source /etc/os-release || source /usr/lib/os-release -case ${ID,,} in - centos) - pkg_mgr_cmd="yum" - ;; - ubuntu) - pkg_mgr_cmd="apt" - ;; -esac - -# just wait few seconds before attempting to check pkg manager process -sleep 10 - -echo "Info: Waiting for completion of an existing $pkg_mgr_cmd process before proceeding..." -while true; do - pkg_mgr_process=$(pgrep -f $pkg_mgr_cmd | cat) - if [[ -n $pkg_mgr_process ]]; then - sleep 10 - else - break - fi -done -echo "Info: $pkg_mgr_cmd process done. Continuing..." - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/onap-periodic-jobs/onap-builder-macros.yaml b/jjb/engine/onap-periodic-jobs/onap-builder-macros.yaml deleted file mode 100644 index d7aaeafd..00000000 --- a/jjb/engine/onap-periodic-jobs/onap-builder-macros.yaml +++ /dev/null @@ -1,53 +0,0 @@ ---- -# -# ============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: 'onap-package-builder-macro' - builders: - - shell: - !include-raw: ./scripts/package.sh - -- builder: - name: 'onap-deploy-builder-macro' - builders: - - shell: - !include-raw: ../scripts/wait-for-pkg-manager.sh - - shell: - !include-raw: ./scripts/deploy.sh - -- builder: - name: 'onap-oom-healthcheck-builder-macro' - builders: - - shell: - !include-raw: ./scripts/oom-healthcheck.sh - -- builder: - name: 'onap-healthcheck-builder-macro' - builders: - - shell: - !include-raw: ./scripts/onap-healthcheck.sh - -- builder: - name: 'onap-promote-builder-macro' - builders: - - shell: - !include-raw: ./scripts/promote.sh - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/onap-periodic-jobs/onap-online-deploy-test-jobs.yaml b/jjb/engine/onap-periodic-jobs/onap-online-deploy-test-jobs.yaml deleted file mode 100644 index d031d4c7..00000000 --- a/jjb/engine/onap-periodic-jobs/onap-online-deploy-test-jobs.yaml +++ /dev/null @@ -1,392 +0,0 @@ ---- -# -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Nordix Foundation. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -#-------------------------------------------------------------------------------------- -# The jobs declared in this JJB configuration file are used for deploying and testing -# ONAP scenario onap-nofeature-noha. -#-------------------------------------------------------------------------------------- - -- project: - name: 'onap-deploy-test-online' - - project: 'infra/engine' - - distro: - - ubuntu1804 - - deploy-scenario: - - k8-calico-onap: - deploy-scenario-version: master - deploy-scenario-refspec: master - - onap-profile: - - sdc - - so - - onap-branch: - - elalto: - onap-version: elalto - nordix-branch: master - engine-version: master - engine-refspec: master - disabled: false - - master: - onap-version: master - nordix-branch: master - engine-version: master - engine-refspec: master - disabled: false - - type: - - cloud: - pod-name: est-cloud - provisioner-type: bifrost - installer-type: kubespray - - environment-type: - - online: - execution-mode: online-deployment - - cloud: - - city: - slave-label: 'engine-jumphost-online-ubuntu1804-fra' - openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' - daily-trigger: '@midnight' - - ci-loop: - - periodic - - job-phase: - - deploy: - build-timeout: 420 - - oom-healthcheck: - build-timeout: 30 - test-type: oom-healthcheck - - healthcheck: - build-timeout: 30 - test-type: onap-healthcheck - - jobs: - - '{deploy-scenario}-{onap-profile}-{environment-type}-{distro}-{cloud}-{type}-{ci-loop}-{onap-branch}' - - 'onap-{onap-profile}-{environment-type}-{job-phase}-{distro}-{cloud}-{type}-{ci-loop}-{onap-branch}' - -- job-template: - name: '{deploy-scenario}-{onap-profile}-{environment-type}-{distro}-{cloud}-{type}-{ci-loop}-{onap-branch}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - parameters: - - project-parameters: - project: '{project}' - branch: '{nordix-branch}' - - nordix-gerrit-parameters - - label: - name: SLAVE_LABEL - default: '{slave-label}' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: PROVISIONER_TYPE - default: 'heat' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: '{deploy-scenario}' - description: 'Scenario to deploy and test' - - string: - name: DEPLOY_TYPE - default: '{type}' - description: 'Type of the deployment' - - string: - name: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: ONAP_VERSION - default: '{onap-version}' - description: 'ONAP version to deploy' - - string: - name: ONAP_PROFILE - default: '{onap-profile}' - description: 'ONAP profile to deploy - could be sdc or so.' - - string: - name: OPENSTACK_CLOUD_PROVIDER - default: '{cloud}' - description: 'Name of the cloud where this job is run' - - string: - name: STACK_NAME - default: 'nordix-cicd-{deploy-scenario}-{onap-profile}-{onap-branch}' - description: 'Stack to create' - - string: - name: KEYPAIR_NAME - default: 'keypair-nordix-cicd-{deploy-scenario}-{onap-profile}-{onap-branch}' - description: 'Keypair to create and use' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: 'heat-environment-{cloud}-{distro}-{onap-profile}.yaml' - description: 'Heat environment file to use' - - string: - name: EXECUTION_MODE - default: '{execution-mode}' - description: 'Engine execution mode - could be online-deployment or offline-deployment' - - string: - name: ENGINE_VERSION - default: '{engine-version}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch' - - string: - name: ENGINE_REFSPEC - default: '{engine-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.' - - string: - name: DEPLOY_SCENARIO_VERSION - default: '{deploy-scenario-version}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' - - string: - name: DEPLOY_SCENARIO_REFSPEC - default: '{deploy-scenario-refspec}' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' - - string: - name: POD_NAME - default: 'none' - description: 'Development purposes only! Set to none for disabling test results DB reporting.' - - string: - name: TEST_TYPE - default: 'oom-healthcheck' - description: 'Test type to run. Could be oom-healthcheck or onap-healthcheck' - - string: - name: NORDIX_ARM_REPO_URL - default: 'https://artifactory.nordix.org/artifactory' - description: 'URL to Nordix Artifactory' - - string: - name: NORDIX_HARBOR_REPO_URL - default: 'registry.nordix.org' - description: 'URL to Nordix Harbor' - - string: - name: XTESTING_REPO_URL - default: 'https://gerrit.nordix.org/opnfv/xtesting-onap.git' - description: 'URL to Nordix xtesting-onap repository' - - string: - name: ENGINE_ANSIBLE_PARAMS - default: '' - description: 'Extra parameters that can be added when run the play books.' - - properties: - - logrotate - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'cloud-infra-verify-engine-.*' - - 'cloud-infra-verify-scenario-.*' - - 'cloud-infra-periodic-engine-.*' - - 'onap-.*' - - 'k8-.*' - - 'os-.*' - - 'nolabs-.*' - block-level: 'NODE' - - throttle: - max-per-node: 1 - max-total: 1 - option: project - - wrappers: - - mask-passwords - - build-timeout: - timeout: 630 - - fix-workspace-permissions - - triggers: - - timed: '{daily-trigger}' - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | $ONAP_PROFILE - - multijob: - name: Deploy ONAP using OOM (not activated) - condition: ALWAYS - projects: - - name: 'onap-{onap-profile}-{environment-type}-deploy-{distro}-{cloud}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_PROFILE=$ONAP_PROFILE - POD_NAME=$POD_NAME - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - EXECUTION_MODE=$EXECUTION_MODE - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - git-revision: true - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: K8S and OOM Healthcheck using xtesting (not activated) - condition: ALWAYS - projects: - - name: 'onap-{onap-profile}-{environment-type}-oom-healthcheck-{distro}-{cloud}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_PROFILE=$ONAP_PROFILE - TEST_TYPE=oom-healthcheck - POD_NAME=$POD_NAME - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - EXECUTION_MODE=$EXECUTION_MODE - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - multijob: - name: ONAP Healthcheck using xtesting (not activated) - execution-type: SEQUENTIALLY - condition: ALWAYS - projects: - - name: 'onap-{onap-profile}-{environment-type}-healthcheck-{distro}-{cloud}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_PROFILE=$ONAP_PROFILE - TEST_TYPE=sdc-healthcheck - POD_NAME=$POD_NAME - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - ENGINE_VERSION=$ENGINE_VERSION - EXECUTION_MODE=$EXECUTION_MODE - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - - name: 'onap-{onap-profile}-{environment-type}-healthdist-{distro}-{cloud}-{type}-{ci-loop}-{onap-branch}' - current-parameters: false - predefined-parameters: | - SLAVE_LABEL=$SLAVE_LABEL - DISTRO=$DISTRO - PROVISIONER_TYPE=$PROVISIONER_TYPE - INSTALLER_TYPE=$INSTALLER_TYPE - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - ONAP_VERSION=$ONAP_VERSION - ONAP_PROFILE=$ONAP_PROFILE - TEST_TYPE=onap-healthcheck - POD_NAME=$POD_NAME - OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER - STACK_NAME=$STACK_NAME - KEYPAIR_NAME=$KEYPAIR_NAME - HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME - EXECUTION_MODE=$EXECUTION_MODE - ENGINE_VERSION=$ENGINE_VERSION - ENGINE_REFSPEC=$ENGINE_REFSPEC - DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION - DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC - XTESTING_REPO_URL=$XTESTING_REPO_URL - ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS - node-parameters: true - kill-phase-on: NEVER - abort-all-job: false - -- job-template: - name: 'onap-{onap-profile}-{environment-type}-{job-phase}-{distro}-{cloud}-{type}-{ci-loop}-{onap-branch}' - - disabled: false - - concurrent: true - - properties: - - logrotate - - parameters: - - onap-parameter-macro - - wrappers: - - mask-passwords - - build-timeout: - timeout: '{build-timeout}' - - fix-workspace-permissions - - credentials-binding: - - username-password-separated: - credential-id: 'nordix-cicd-arm-credentials' - username: NORDIX_ARM_USERNAME - password: NORDIX_ARM_TOKEN - - username-password-separated: - credential-id: 'nordix-cicd-harbor-credentials' - username: NORDIX_HARBOR_USERNAME - password: NORDIX_HARBOR_PASSWORD - - scm: - - git-scm: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{nordix-branch}' - refspec: '' - wipe_workspace: true - clean_before: false - - builders: - - description-setter: - description: $DEPLOY_SCENARIO | $ONAP_PROFILE - - 'onap-{job-phase}-builder-macro' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/onap-periodic-jobs/onap-parameter-macros.yaml b/jjb/engine/onap-periodic-jobs/onap-parameter-macros.yaml deleted file mode 100644 index 30f1fd43..00000000 --- a/jjb/engine/onap-periodic-jobs/onap-parameter-macros.yaml +++ /dev/null @@ -1,122 +0,0 @@ ---- -# -# ============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 used by all job types on cloud -- parameter: - name: 'onap-parameter-macro' - parameters: - - project-parameters: - project: 'infra/engine' - branch: 'master' - - nordix-gerrit-parameters - - label: - name: SLAVE_LABEL - default: 'engine-jumphost-online-ubuntu1804-fra' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: PROVISIONER_TYPE - default: 'heat' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-onap' - description: 'Scenario to deploy and test' - - string: - name: DEPLOY_TYPE - default: 'cloud' - description: 'Type of the deployment' - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: ONAP_VERSION - default: '{onap-version}' - description: 'ONAP version to deploy' - - string: - name: ONAP_PROFILE - default: 'sdc' - description: 'ONAP profile to deploy - could be sdc or so.' - - string: - name: OPENSTACK_CLOUD_PROVIDER - default: 'city' - description: 'Name of the cloud where this job is run' - - string: - name: STACK_NAME - default: 'nordix-cicd-k8-calico-onap-sdc-master' - description: 'Stack to create' - - string: - name: KEYPAIR_NAME - default: 'keypair-nordix-cicd-k8-calico-onap-sdc-master' - description: 'Keypair to create and use' - - string: - name: HEAT_ENVIRONMENT_FILENAME - default: 'heat-environment-city-ubuntu1804-sdc.yaml' - description: 'Heat environment file to use' - - string: - name: EXECUTION_MODE - default: 'online-deployment' - description: 'Engine execution mode - could be online-deployment or offline-deployment' - - string: - name: ENGINE_VERSION - default: 'master' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch' - - string: - name: ENGINE_REFSPEC - default: 'master' - description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.' - - string: - name: DEPLOY_SCENARIO_VERSION - default: 'master' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.' - - string: - name: DEPLOY_SCENARIO_REFSPEC - default: 'master' - description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.' - - string: - name: POD_NAME - default: 'none' - description: 'Development purposes only! Set to none for disabling test results DB reporting.' - - string: - name: TEST_TYPE - default: 'oom-healthcheck' - description: 'Test type to run. Could be oom-healthcheck or onap-healthcheck' - - string: - name: NORDIX_ARM_REPO_URL - default: 'https://artifactory.nordix.org/artifactory' - description: 'URL to Nordix Artifactory' - - string: - name: NORDIX_HARBOR_REPO_URL - default: 'registry.nordix.org' - description: 'URL to Nordix Harbor' - - string: - name: XTESTING_REPO_URL - default: 'https://gerrit.nordix.org/opnfv/xtesting-onap.git' - description: 'URL to Nordix xtesting-onap repository' - - string: - name: ENGINE_ANSIBLE_PARAMS - default: '' - description: 'Extra parameters that can be added when run the play books.' - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/onap-periodic-jobs/scripts/deploy.sh b/jjb/engine/onap-periodic-jobs/scripts/deploy.sh deleted file mode 100755 index 34a3d7f2..00000000 --- a/jjb/engine/onap-periodic-jobs/scripts/deploy.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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 "Deployment is not enabled yet!" diff --git a/jjb/engine/onap-periodic-jobs/scripts/onap-healthcheck.sh b/jjb/engine/onap-periodic-jobs/scripts/onap-healthcheck.sh deleted file mode 100755 index 64f0daf7..00000000 --- a/jjb/engine/onap-periodic-jobs/scripts/onap-healthcheck.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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 "Testing is not enabled yet!" diff --git a/jjb/engine/onap-periodic-jobs/scripts/oom-healthcheck.sh b/jjb/engine/onap-periodic-jobs/scripts/oom-healthcheck.sh deleted file mode 100755 index 64f0daf7..00000000 --- a/jjb/engine/onap-periodic-jobs/scripts/oom-healthcheck.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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 "Testing is not enabled yet!" diff --git a/jjb/engine/onap-periodic-jobs/scripts/package.sh b/jjb/engine/onap-periodic-jobs/scripts/package.sh deleted file mode 100755 index 34a3d7f2..00000000 --- a/jjb/engine/onap-periodic-jobs/scripts/package.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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 "Deployment is not enabled yet!" diff --git a/jjb/engine/onap-periodic-jobs/scripts/promote.sh b/jjb/engine/onap-periodic-jobs/scripts/promote.sh deleted file mode 100755 index 8f3449a9..00000000 --- a/jjb/engine/onap-periodic-jobs/scripts/promote.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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 "Promotion is not enabled yet!" diff --git a/jjb/engine/scripts/generate-change-metadata.sh b/jjb/engine/scripts/generate-change-metadata.sh deleted file mode 100755 index c9d287bd..00000000 --- a/jjb/engine/scripts/generate-change-metadata.sh +++ /dev/null @@ -1,134 +0,0 @@ -#!/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): 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" - # TODO (fdegir): this is temporarily here to develop the jobs - git fetch "https://gerrit.nordix.org/infra/engine" refs/changes/23/4823/18 && git checkout FETCH_HEAD -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//*\//}" - -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" - - # log info to console - echo " STACK_TYPE=$STACK_TYPE" - echo " STACK_VERSION=$GERRIT_PATCHSET_REVISION" - echo " STACK_REFSPEC=$GERRIT_REFSPEC" - - # record vars to properties file - echo "STACK_TYPE=$STACK_TYPE" >> "$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" - ;; - kubespray) - export STACK_TYPE="kubernetes" - ;; - oom) - export STACK_TYPE="onap" - ;; - *) echo "ERROR : Invalid engine component $ENGINE_COMPONENT"; exit 1;; - esac - export STACK_VERSION="$GERRIT_BRANCH" - - # log info to console - echo " STACK_TYPE=$STACK_TYPE" - echo " STACK_VERSION=$STACK_VERSION" - echo " NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_VERSION=$GERRIT_PATCHSET_REVISION" - echo " NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_REFSPEC=$GERRIT_REFSPEC" - - # record vars to properties file - echo "STACK_TYPE=$STACK_TYPE" >> "$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 - # set vars - export STACK_TYPE=kubernetes - export STACK_VERSION=$GERRIT_BRANCH - - # log info to console - echo " STACK_TYPE=$STACK_TYPE" - echo " STACK_VERSION=$STACK_VERSION" - echo " NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_VERSION=$GERRIT_PATCHSET_REVISION" - echo " NORDIX_$(echo $ENGINE_COMPONENT | tr a-z A-Z)_REFSPEC=$GERRIT_REFSPEC" - - # record vars to properties file - echo "STACK_TYPE=kubernetes" >> "$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 INSTALLER_FILE="${STACK_TYPE}-ubuntu1804.bsx" -export BUILD_ARTIFACTS="${STACK_TYPE}-ubuntu1804.bsx" -export NORDIX_ARM_REPO="nordix-${STACK_TYPE}" -export NORDIX_ARTIFACT_URL="$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/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 -CI_LOOP=$CI_LOOP -ENGINE_SHA=$(git rev-parse HEAD) -INSTALLER_FILE=${STACK_TYPE}-ubuntu1804.bsx -BUILD_ARTIFACTS=${STACK_TYPE}-ubuntu1804.bsx -NORDIX_ARM_REPO=nordix-${STACK_TYPE} -NORDIX_ARTIFACT_URL=$NORDIX_ARTIFACT_URL -EOF - -echo "Info : Change metadata" -echo "-------------------------------------------------------------------------" -cat "$CHANGE_METADATA_FILE" -echo "-------------------------------------------------------------------------" - -# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/engine/scripts/promote.sh b/jjb/engine/scripts/promote.sh deleted file mode 100755 index 7d3789a8..00000000 --- a/jjb/engine/scripts/promote.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/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 [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then - cd /tmp - URL_TO_UPLOAD=$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/release/latest - for ARTIFACT_TO_UPLOAD in $ARTIFACTS_TO_UPLOAD; do - echo "Info : Generating checksums for $ARTIFACT_TO_UPLOAD" - ARTIFACT_MD5SUM=$(md5sum $ARTIFACT_TO_UPLOAD | cut -d' ' -f1) - ARTIFACT_SHASUM=$(shasum $ARTIFACT_TO_UPLOAD | cut -d' ' -f1) - ARTIFACT_SHA256SUM=$(sha256sum $ARTIFACT_TO_UPLOAD | cut -d' ' -f1) - - echo "Info : Promoting $ARTIFACT_TO_UPLOAD" - 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 $ARTIFACT_TO_UPLOAD \ - "$URL_TO_UPLOAD/$ARTIFACT_TO_UPLOAD" - echo "Info : Artifact $ARTIFACT_TO_UPLOAD is available on $URL_TO_UPLOAD/$ARTIFACT_TO_UPLOAD" - done -else - echo "Info : Online deployment. No artifact to upload." -fi diff --git a/jjb/nolabs/booking-job-macros.yaml b/jjb/nolabs/booking-job-macros.yaml index 3c4d6ebf..a633c6ff 100644 --- a/jjb/nolabs/booking-job-macros.yaml +++ b/jjb/nolabs/booking-job-macros.yaml @@ -22,7 +22,7 @@ name: 'handlebooking-macro' builders: - shell: - !include-raw: ../cloud-infra/wait-for-pkg-manager.sh + !include-raw: ../cloud-infra/scripts/wait-for-pkg-manager.sh - shell: | #!/bin/bash /bin/rm -f /tmp/openrc @@ -34,7 +34,7 @@ name: 'deletebooking-macro' builders: - shell: - !include-raw: ../cloud-infra/wait-for-pkg-manager.sh + !include-raw: ../cloud-infra/scripts/wait-for-pkg-manager.sh - shell: | #!/bin/bash /bin/rm -f /tmp/openrc diff --git a/jjb/cloud-infra/scripts/spinnaker-test.sh b/jjb/onap/ccsdk-oran/ccsdk-cds-push-upstream-jobs.yaml similarity index 74% rename from jjb/cloud-infra/scripts/spinnaker-test.sh rename to jjb/onap/ccsdk-oran/ccsdk-cds-push-upstream-jobs.yaml index a204a146..b1c539ed 100644 --- a/jjb/cloud-infra/scripts/spinnaker-test.sh +++ b/jjb/onap/ccsdk-oran/ccsdk-cds-push-upstream-jobs.yaml @@ -1,7 +1,6 @@ -#!/bin/bash - +--- # ============LICENSE_START======================================================= -# Copyright (C) 2019 The Nordix Foundation. All rights reserved. +# 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. @@ -17,7 +16,13 @@ # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= +# -echo "Hello world!" +# this job gets triggered when push-upstream is commented on a change on Nordix Gerrit. +- project: + name: ccsdk-oran-push-upstream + project: ccsdk/oran + project-name: ccsdk-oran -# vim: set ts=2 sw=2 expandtab: + jobs: + - 'onap-{project-name}-push-upstream' diff --git a/jjb/cloud-infra/prepare-for-testfw-verify.sh b/jjb/onap/ccsdk-oran/ccsdk-cds-rebase-jobs.yaml similarity index 75% rename from jjb/cloud-infra/prepare-for-testfw-verify.sh rename to jjb/onap/ccsdk-oran/ccsdk-cds-rebase-jobs.yaml index d546e02d..77f9f237 100644 --- a/jjb/cloud-infra/prepare-for-testfw-verify.sh +++ b/jjb/onap/ccsdk-oran/ccsdk-cds-rebase-jobs.yaml @@ -1,7 +1,6 @@ -#!/bin/bash - +--- # ============LICENSE_START======================================================= -# Copyright (C) 2019 The Nordix Foundation. All rights reserved. +# 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. @@ -17,12 +16,14 @@ # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= +# -set -o errexit -set -o nounset - -echo "Info: Cloning infra/test repository" -cd $HOME && /bin/rm -rf $WORKSPACE -git clone -q $TEST_REPO_URL $WORKSPACE +# this job gets triggered when a change is merged to +# ccsdk/oran project on ONAP Gerrit. +- project: + name: ccsdk-oran-rebase + project: ccsdk/oran + project-name: ccsdk-oran -# vim: set ts=2 sw=2 expandtab: + jobs: + - 'onap-{project-name}-rebase' diff --git a/jjb/engine/scripts/package.sh b/jjb/onap/ccsdk-oran/ccsdk-cds-verify-jobs.yaml old mode 100755 new mode 100644 similarity index 70% rename from jjb/engine/scripts/package.sh rename to jjb/onap/ccsdk-oran/ccsdk-cds-verify-jobs.yaml index 38f2955b..3a9df871 --- a/jjb/engine/scripts/package.sh +++ b/jjb/onap/ccsdk-oran/ccsdk-cds-verify-jobs.yaml @@ -1,7 +1,6 @@ -#!/bin/bash - +--- # ============LICENSE_START======================================================= -# Copyright (C) 2019 The Nordix Foundation. All rights reserved. +# 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. @@ -17,15 +16,20 @@ # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= +# +# this job gets triggered when a change is proposed to +# ccsdk/oran project on Nordix Gerrit. +- project: + + name: ccsdk-oran-verify -set -o nounset -set -o errexit -set -o pipefail + project: ccsdk/oran -source "$WORKSPACE/change.properties" -echo "Info : Packaging stack $STACK_TYPE" + project-name: ccsdk-oran -cd "$WORKSPACE/engine" -./package.sh -s "$STACK_TYPE" -v "$STACK_VERSION" -d + stream: + - master: + branch: '{stream}' -# vim: set ts=2 sw=2 expandtab: + jobs: + - 'onap-{project-name}-{stream}-verify-java'