project: '{project}'
branch: '{nordix-branch}'
- nordix-gerrit-parameters
- - onap-baremetal-parameter-macro
+ - onap-baremetal-parameter-macro-legacy
- label:
name: SLAVE_LABEL
default: '{slave-label}'
project: '{project}'
branch: '{nordix-branch}'
- nordix-gerrit-parameters
- - onap-baremetal-parameter-macro
+ - onap-baremetal-parameter-macro-legacy
- label:
name: SLAVE_LABEL
default: 'xerces-jumphost-onap-ubuntu1804'
builders:
- description-setter:
description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | baremetal
- - '{onap-other-phases}-baremetal-macro'
+ - '{onap-other-phases}-baremetal-macro-legacy'
- job-template:
name: '{onap-healthcheck-phases}-{distro}-{installer-type}-baremetal-{ci-loop}-{onap-branch}'
project: '{project}'
branch: '{nordix-branch}'
- nordix-gerrit-parameters
- - onap-baremetal-parameter-macro
+ - onap-baremetal-parameter-macro-legacy
- label:
name: SLAVE_LABEL
default: 'xerces-jumphost-onap-ubuntu1804'
builders:
- description-setter:
description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | baremetal
- - 'onap-healthcheck-baremetal-macro'
+ - 'onap-healthcheck-baremetal-macro-legacy'
# vim: set ts=2 sw=2 expandtab:
cloud:
- city:
- slave-label: 'city-jumphost-ubuntu1804'
+ slave-label: 'engine-jumphost-online-ubuntu1804'
openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-onap'
daily-trigger: '@midnight'
- xerces:
project: '{project}'
branch: '{nordix-branch}'
- nordix-gerrit-parameters
- - onap-parameter-macro
+ - onap-parameter-macro-legacy
- label:
name: SLAVE_LABEL
default: '{slave-label}'
project: '{project}'
branch: '{nordix-branch}'
- nordix-gerrit-parameters
- - onap-parameter-macro
+ - onap-parameter-macro-legacy
- label:
name: SLAVE_LABEL
default: 'xerces-jumphost-onap-ubuntu1804'
builders:
- description-setter:
description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | $OPENSTACK_CLOUD_PROVIDER
- - '{onap-other-phases}-macro'
+ - '{onap-other-phases}-macro-legacy'
- job-template:
name: '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
project: '{project}'
branch: '{nordix-branch}'
- nordix-gerrit-parameters
- - onap-parameter-macro
+ - onap-parameter-macro-legacy
- label:
name: SLAVE_LABEL
default: 'xerces-jumphost-onap-ubuntu1804'
builders:
- description-setter:
description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | $OPENSTACK_CLOUD_PROVIDER
- - 'onap-healthcheck-macro'
+ - 'onap-healthcheck-macro-legacy'
# vim: set ts=2 sw=2 expandtab:
cloud:
- city:
- slave-label: 'city-jumphost-ubuntu1804'
+ slave-label: 'engine-jumphost-online-ubuntu1804'
openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-onap'
daily-trigger: '@daily'
- nordix-gerrit-parameters
- label:
name: SLAVE_LABEL
- default: 'city-jumphost-ubuntu1804'
+ 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
# macros used by all job types on cloud
- parameter:
- name: 'onap-parameter-macro'
+ name: 'onap-parameter-macro-legacy'
parameters:
- string:
name: PROVISIONER_TYPE
# macros used by all job types on baremetal
- parameter:
- name: 'onap-baremetal-parameter-macro'
+ name: 'onap-baremetal-parameter-macro-legacy'
parameters:
- string:
name: PROVISIONER_TYPE
description: 'Extra parameters that can be added when run the play books.'
- builder:
- name: 'onap-deploy-macro'
+ name: 'onap-deploy-macro-legacy'
builders:
- shell:
!include-raw: ./wait-for-pkg-manager.sh
!include-raw: ./onap-deploy.sh
- builder:
- name: 'onap-deploy-baremetal-macro'
+ name: 'onap-deploy-baremetal-macro-legacy'
builders:
- shell:
!include-raw: ./wait-for-pkg-manager.sh
!include-raw: ./onap-deploy-baremetal.sh
- builder:
- name: 'oom-hc-macro'
+ name: 'oom-hc-macro-legacy'
builders:
- shell:
!include-raw: ./oom-healthcheck.sh
- builder:
- name: 'oom-hc-baremetal-macro'
+ name: 'oom-hc-baremetal-macro-legacy'
builders:
- shell:
!include-raw: ./oom-healthcheck.sh
- builder:
- name: 'onap-healthcheck-macro'
+ name: 'onap-healthcheck-macro-legacy'
builders:
- shell:
!include-raw: ./onap-healthcheck.sh
- builder:
- name: 'onap-healthcheck-baremetal-macro'
+ name: 'onap-healthcheck-baremetal-macro-legacy'
builders:
- shell:
!include-raw: ./onap-healthcheck.sh
- builder:
- name: 'promote-onap-macro'
+ name: 'promote-onap-macro-legacy'
builders:
- shell:
!include-raw: ./promote-onap.sh
!include-raw: ./scripts/tox.sh
+- builder:
+ name: 'generate-sdf-for-change-macro'
+ builders:
+ - shell:
+ !include-raw: ./scripts/generate-sdf-for-change.sh
+
- builder:
name: 'generate-ssh-keypair-macro'
builders:
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+- project:
+ name: 'engine-verify-deploy-test'
+
+ project: 'engine-verify-deploy-test'
+
+ stream:
+ - 'master':
+ branch: '{stream}'
+
+ environment-type:
+ - online:
+ disabled: false
+ execution-mode: online-deployment
+ 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'
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+ - offline:
+ disabled: false
+ execution-mode: offline-deployment
+ pdf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-pdf.yml'
+ idf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-idf.yml'
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+ phase:
+ - deploy
+ - functest
+
+ type:
+ - virtual:
+ provisioner-type: 'bifrost'
+ slave-type: 'vpod'
+ gated-projects: 'infra/engine|infra/provisioner/bifrost|infra/installer/kolla|infra/installer/kubespray'
+ - cloud:
+ provisioner-type: 'heat'
+ slave-type: 'jumphost'
+ gated-projects: 'infra/engine|infra/provisioner/heat|infra/installer/kubespray'
+
+ distro:
+ - ubuntu1804
+
+ cloud:
+ - city:
+ openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
+
+ dependency-jobs: 'engine-verify-package-{distro}-{stream}'
+ dependency-job-var: 'TRIGGER_engine_verify_package_{distro}_{stream}_BUILD_RESULT'
+
+ jobs:
+ - 'engine-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
+ - 'engine-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}'
+
+- job-template:
+ name: 'engine-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'engine-{slave-type}-{environment-type}-{distro}-fra'
+ description: 'Slave label to schedule this job on.'
+ - string:
+ name: ENGINE_REPO_URL
+ default: 'https://gerrit.nordix.org/infra/engine.git'
+ description: 'URL to Nordix Cloud Infra engine repository'
+ - string:
+ name: EXECUTION_MODE
+ default: '{execution-mode}'
+ description: 'Execution mode to run in'
+ - string:
+ name: PROVISIONER_TYPE
+ default: '{provisioner-type}'
+ description: 'Provisioner type to use'
+ - string:
+ name: INSTALLER_TYPE
+ default: 'kubespray'
+ description: 'Installer type to use'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'k8-calico-nofeature'
+ description: 'Scenario to deploy'
+ - 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_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-online-{distro}-$GERRIT_CHANGE_NUMBER"
+ description: 'Name of the created stack'
+ - string:
+ name: KEYPAIR_NAME
+ default: "keypair-nordix-cicd-verify-engine-online-{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: NORDIX_GERRIT_PUBLIC_IP
+ default: '91.106.198.142'
+ description: 'Public IP of Nordix Gerrit. Offline deployments can not resolve domain name'
+ - string:
+ name: NORDIX_ARM_PUBLIC_IP
+ default: '91.106.198.25'
+ description: 'Public IP of Nordix Artifactory. Offline deployments can not resolve domain name'
+ - string:
+ name: NORDIX_ARM_HTTPS_URL
+ default: 'https://artifactory.nordix.org/artifactory'
+ description: 'URL to Nordix Artifactory'
+ - string:
+ name: NORDIX_ARM_REPO
+ default: 'nordix-kubernetes'
+ description: 'Name of the repository to upload and download artifact to/from. Depends on the stack'
+ - string:
+ name: ARTIFACT_TO_DOWNLOAD
+ default: "k8s-installer-ubuntu1804.bsx"
+ description: 'Artifact to download'
+ - string:
+ name: NORDIX_ARTIFACT_URL
+ default: "$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/gerrit/$GERRIT_CHANGE_NUMBER"
+ description: 'Artifact to download'
+ - 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
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'engine-verify-online-deploy-test-.*'
+ - 'engine-verify-offline-deploy-test-.*'
+ block-level: 'NODE'
+ - throttle:
+ max-per-node: 1
+ max-total: 3
+ option: project
+
+ scm:
+ - git-scm-gerrit:
+ ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
+ branch: refs/heads/$GERRIT_BRANCH
+ refspec: $GERRIT_REFSPEC
+ wipe_workspace: true
+ clean_before: false
+
+ triggers:
+ - gerrit:
+ server-name: 'Nordix Gerrit'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: '{gated-projects}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|releasenotes/**'
+ skip-vote:
+ successful: '{obj:successful}'
+ failed: '{obj:failed}'
+ unstable: '{obj:unstable}'
+ notbuilt: '{obj:notbuilt}'
+ custom-url: '* $JOB_NAME $BUILD_URL'
+ readable-message: 'true'
+ dependency-jobs: '{dependency-jobs}'
+
+ wrappers:
+ - build-timeout:
+ timeout: 180
+ - credentials-binding:
+ - file:
+ credential-id: '{openrc-credentials-file}'
+ variable: OPENRC_FILE
+ - username-password-separated:
+ credential-id: 'nordix-cicd-arm-credentials'
+ username: NORDIX_ARM_USERNAME
+ password: NORDIX_ARM_TOKEN
+ - mask-passwords
+ - openstack:
+ single-use: True
+ - pre-scm-buildstep:
+ failOnError: true
+ buildsteps:
+ - system-groovy:
+ command: |
+ def build = this.getProperty('binding').getVariable('build')
+ def listener = this.getProperty('binding').getVariable('listener')
+ if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{
+ println "WARN : Aborting build since dependent job did not succeed!"
+ throw new InterruptedException()
+ }}
+ - shell: |
+ #!/bin/bash
+ sudo chown -R $USER:$USER $WORKSPACE || exit 1
+ # offline nodes can not resolve Nordix Gerrit
+ if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
+ echo "Info : Offline deployment. Adding Nordix 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
+ $NORDIX_GERRIT_PUBLIC_IP gerrit.nordix.org
+ # managed by engine
+ EOF"
+ fi
+
+ builders:
+ - multijob:
+ name: "{environment-type} deployment on {type} instances"
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'engine-verify-{environment-type}-deploy-{distro}-city-{type}-master'
+ current-parameters: true
+ git-revision: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - multijob:
+ name: "{environment-type} testing on {type} instances"
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'engine-verify-{environment-type}-functest-{distro}-city-{type}-master'
+ current-parameters: true
+ git-revision: false
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: false
+
+ publishers:
+ - postbuildscript:
+ builders:
+ - role: SLAVE
+ build-on:
+ - SUCCESS
+ - FAILURE
+ - ABORTED
+ - NOT_BUILT
+ - UNSTABLE
+ build-steps:
+ - 'wait-pkg-mgr-macro'
+ - 'delete-stack-macro'
+
+- job-template:
+ name: 'engine-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ properties:
+ - logrotate
+ - throttle:
+ max-per-node: 1
+ max-total: 3
+ option: project
+
+ scm:
+ - git-scm-gerrit:
+ ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
+ branch: refs/heads/$GERRIT_BRANCH
+ refspec: $GERRIT_REFSPEC
+ wipe_workspace: true
+ clean_before: false
+
+ wrappers:
+ - build-timeout:
+ timeout: 180
+ - credentials-binding:
+ - file:
+ credential-id: '{openrc-credentials-file}'
+ variable: OPENRC_FILE
+ - username-password-separated:
+ credential-id: 'nordix-cicd-arm-credentials'
+ username: NORDIX_ARM_USERNAME
+ password: NORDIX_ARM_TOKEN
+ - mask-passwords
+ - fix-workspace-permissions
+
+ builders:
+ - shell: |
+ #!/bin/bash
+ if [[ "$EXECUTION_MODE" == "offline-deployment" && "$PROVISIONER_TYPE" == "heat" ]]; then
+ echo "Info : Offline deployment and testing on cloud instances is not currently supported!"
+ exit 0
+ fi
+ - 'generate-sdf-for-change-macro'
+ - 'generate-ssh-keypair-macro'
+ - 'wait-pkg-mgr-macro'
+ - 'download-artifact-macro'
+ - '{phase}-macro'
# ============LICENSE_END=========================================================
- project:
- name: 'engine-deployment'
+ name: 'engine-verify-package'
- project: 'engine-deployment'
+ project: 'engine-verify-package'
stream:
- 'master':
branch: '{stream}'
- gated-projects: 'infra\/engine'
-
- environment-type:
- - online:
- disabled: false
- execution-mode: online-deployment
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- - offline:
- disabled: false
- execution-mode: offline-deployment
+ openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
+ execution-mode: 'packaging'
+ gated-projects: 'infra/engine|infra/provisioner/bifrost|infra/provisioner/heat|infra/installer/kolla|infra/installer/kubespray'
successful: false
failed: false
unstable: false
distro:
- ubuntu1804
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap'
+ dependency-jobs: 'engine-verify-tox-{stream}'
+ dependency-job-var: 'TRIGGER_engine_verify_tox_{stream}_BUILD_RESULT'
jobs:
- - 'engine-verify-{environment-type}-{distro}-{cloud}-{stream}'
- 'engine-verify-package-{distro}-{stream}'
- job-template:
- name: 'engine-verify-{environment-type}-{distro}-{cloud}-{stream}'
-
- project-type: multijob
+ name: 'engine-verify-package-{distro}-{stream}'
disabled: '{obj:disabled}'
- string:
name: EXECUTION_MODE
default: '{execution-mode}'
- description: 'Engine execution mode - online-deployment or offline-deployment - default is online-deployment'
+ description: 'Engine execution mode - packaging'
- 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'
- - string:
- name: DEPLOY_SCENARIO
- default: 'k8-calico-nofeature'
- description: 'Scenario to deploy and test'
- string:
name: VERBOSITY
default: 'true'
description: 'Verbosity setting for the engine - true or false - default is false'
+ - string:
+ name: ENGINE_REPO_URL
+ default: 'https://gerrit.nordix.org/infra/engine.git'
+ description: 'URL to Nordix Cloud Infra engine repository'
- string:
name: ARTIFACTS_TO_UPLOAD
default: "k8s-installer-ubuntu1804.bsx"
description: 'Artifacts to upload'
- - string:
- name: ARTIFACT_TO_DOWNLOAD
- default: "k8s-installer-ubuntu1804.bsx"
- description: 'Artifact to download'
- string:
name: NORDIX_ARM_PUBLIC_IP
default: '91.106.198.25'
name: NORDIX_ARM_REPO
default: 'nordix-kubernetes'
description: 'Name of the repository to upload and download artifact to/from. Depends on the stack'
+ - string:
+ name: NORDIX_ARTIFACT_URL
+ default: "$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/gerrit/$GERRIT_CHANGE_NUMBER"
+ description: 'Artifact to download'
- string:
name: CI_LOOP
default: 'verify'
description: 'CI loop type'
- label:
name: SLAVE_LABEL
- default: 'engine-master-{environment-type}-{distro}'
+ default: 'engine-package-{distro}-fra'
description: 'Slave label to schedule this job on.'
- project-parameters:
project: $GERRIT_PROJECT
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'
- throttle:
max-per-node: 1
max-total: 3
option: project
- wrappers:
- - build-timeout:
- timeout: 180
- - mask-passwords
- - fix-workspace-permissions
- - openstack:
- single-use: True
-
scm:
- git-scm-gerrit:
ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
+ branch: refs/heads/$GERRIT_BRANCH
refspec: $GERRIT_REFSPEC
wipe_workspace: true
clean_before: false
notbuilt: '{obj:notbuilt}'
custom-url: '* $JOB_NAME $BUILD_URL'
readable-message: 'true'
-
- builders:
- - 'generate-ssh-keypair-macro'
- - 'generate-build-metadata-macro'
- - 'wait-pkg-mgr-macro'
- - multijob:
- name: package
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-package-{distro}-{stream}'
- current-parameters: true
- node-parameters: true
- property-file: "$WORKSPACE/build.properties"
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: "{environment-type} deployment and testing"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-{environment-type}-deploy-test-{distro}-city-virtual-master'
- current-parameters: false
- node-parameters: false
- predefined-parameters: |
- GIT_BASE_SSH=$GIT_BASE_SSH
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- PROJECT=$GERRIT_PROJECT
- BRANCH=$BRANCH
- ARTIFACT_TO_DOWNLOAD=$ARTIFACT_TO_DOWNLOAD
- NORDIX_ARM_PUBLIC_IP=$NORDIX_ARM_PUBLIC_IP
- EXECUTION_MODE=$EXECUTION_MODE
- VERBOSITY=$VERBOSITY
- DISTRO=$DISTRO
- INSTALLER_TYPE=$INSTALLER_TYPE
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- property-file: "$WORKSPACE/build.properties"
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'engine-verify-{environment-type}-deploy-test-{distro}-city-cloud-master'
- current-parameters: false
- node-parameters: false
- predefined-parameters: |
- GIT_BASE_SSH=$GIT_BASE_SSH
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- PROJECT=$GERRIT_PROJECT
- BRANCH=$BRANCH
- ARTIFACT_TO_DOWNLOAD=$ARTIFACT_TO_DOWNLOAD
- NORDIX_ARM_PUBLIC_IP=$NORDIX_ARM_PUBLIC_IP
- EXECUTION_MODE=$EXECUTION_MODE
- VERBOSITY=$VERBOSITY
- DISTRO=$DISTRO
- INSTALLER_TYPE=$INSTALLER_TYPE
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- property-file: "$WORKSPACE/build.properties"
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'engine-verify-package-{distro}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
+ dependency-jobs: '{dependency-jobs}'
wrappers:
+ - openstack:
+ single-use: True
- build-timeout:
- timeout: 70
+ timeout: 240
- credentials-binding:
- username-password-separated:
credential-id: 'nordix-cicd-arm-credentials'
username: NORDIX_ARM_USERNAME
password: NORDIX_ARM_TOKEN
- mask-passwords
- - fix-workspace-permissions
+ - 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
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
builders:
+ - 'generate-sdf-for-change-macro'
+ - 'generate-ssh-keypair-macro'
+ - 'wait-pkg-mgr-macro'
- 'package-macro'
- 'upload-artifact-macro'
stream:
- 'master':
branch: '{stream}'
+ gated-projects: 'infra/engine|infra/hwconfig|infra/swconfig|infra/test|infra/provisioner/bifrost|infra/provisioner/heat|infra/installer/kolla|infra/installer/kubespray'
lint-type:
- ansible-lint:
repos-to-ignore: 'infra/hwconfig'
- docs:
disabled: false
- repos-to-ignore: 'infra/hwconfig|infra/swconfig|infra/test'
+ repos-to-ignore: 'infra/hwconfig|infra/swconfig|infra/test|infra/provisioner/bifrost|infra/provisioner/heat|infra/installer/kolla|infra/installer/kubespray'
- shellcheck:
disabled: false
repos-to-ignore: 'infra/hwconfig'
scm:
- git-scm-gerrit:
ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
+ branch: refs/heads/$GERRIT_BRANCH
refspec: $GERRIT_REFSPEC
wipe_workspace: true
clean_before: false
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'REG_EXP'
- project-pattern: 'infra\/engine|infra\/test|infra\/swconfig|infra\/hwconfig'
+ project-pattern: '{gated-projects}'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
scm:
- git-scm-gerrit:
ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
+ branch: refs/heads/$GERRIT_BRANCH
refspec: $GERRIT_REFSPEC
wipe_workspace: true
clean_before: false
# ============LICENSE_END=========================================================
- project:
- name: 'engine-periodic-offline-deploy-test'
+ name: 'kubernetes-deploy-test-offline'
- project: 'engine-periodic-offline-deploy-test'
+ project: 'kubernetes-deploy-test-offline'
stream:
- 'master':
- ubuntu1804
deploy-scenario:
- - k8-calico-nofeature
- - k8-multus-nofeature
-
+ - k8-multus-plugins
type:
- baremetal:
name: IDF
default: '{idf}/${{NODE_NAME}}-idf.yml'
description: 'IDF file to use for deployment'
+ - string:
+ name: CI_LOOP
+ default: 'periodic'
+ description: 'CI loop type'
properties:
- logrotate
# ============LICENSE_END=========================================================
- project:
- name: 'engine-release'
+ name: 'kubernetes-release-offline'
- project: 'engine-release'
+ project: 'kubernetes-release-offline'
environment-type:
- offline:
cloud:
- city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap'
+ openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
jobs:
- 'kubernetes-periodic-release-{environment-type}-{distro}'
description: 'Installer type to use'
- string:
name: DEPLOY_SCENARIO
- default: 'k8-calico-nofeature'
+ default: 'k8-multus-plugins'
description: 'Scenario to deploy and test'
- string:
name: VERBOSITY
description: 'CI loop type'
- label:
name: SLAVE_LABEL
- default: 'engine-build-ubuntu1804'
+ default: 'engine-package-ubuntu1804-fra'
description: 'Slave label to schedule this job on.'
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'
wrappers:
- build-timeout:
kill-phase-on: FAILURE
abort-all-job: true
- multijob:
- name: release test k8-calico-nofeature
+ name: release test k8-multus-plugins
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- - name: 'k8-calico-nofeature-offline-{distro}-baremetal-periodic'
- current-parameters: false
- git-revision: false
- 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
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: release test k8-multus-nofeature
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'k8-multus-nofeature-offline-{distro}-baremetal-periodic'
+ - name: 'k8-multus-plugins-offline-{distro}-baremetal-periodic'
current-parameters: false
git-revision: false
node-parameters: false
--- /dev/null
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+- builder:
+ name: '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:
--- /dev/null
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+#--------------------------------------------------------------------------------------
+# The jobs declared in this JJB configuration file are used for 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:
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+- project:
+ name: 'onap-release-online'
+
+ project: 'onap-release-online'
+
+ environment-type:
+ - online:
+ disabled: true
+ execution-mode: online-deployment
+
+ onap-branch:
+ - elalto:
+ onap-version: elalto
+ - master:
+ onap-version: master
+
+ onap-profile:
+ - sdc
+ - so
+
+ 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}'
+
+- job-template:
+ name: 'onap-{onap-profile}-periodic-release-{environment-type}-{distro}-{onap-branch}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ parameters:
+ - string:
+ name: EXECUTION_MODE
+ default: '{execution-mode}'
+ description: 'Engine execution mode - online-deployment or offline-deployment - default is online-deployment'
+ - 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'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'k8-calico-onap'
+ description: 'Scenario to deploy and test'
+ - string:
+ name: ONAP_PROFILE
+ default: '{onap-profile}'
+ description: 'ONAP Profile to deploy and test'
+ - string:
+ name: VERBOSITY
+ default: 'true'
+ description: 'Verbosity setting for the engine - true or false - default is false'
+ - string:
+ name: ARTIFACTS_TO_UPLOAD
+ default: "onap-{onap-profile}-installer-ubuntu1804.bsx offline-package.tgz"
+ description: 'Artifacts to upload'
+ - string:
+ name: ARTIFACT_TO_DOWNLOAD
+ default: "onap-{onap-profile}-installer-ubuntu1804.bsx"
+ description: 'Artifact to download'
+ - string:
+ name: NORDIX_ARM_PUBLIC_IP
+ default: '91.106.198.25'
+ description: 'Public IP of Nordix Artifactory. Offline deployments can not resolve domain name'
+ - string:
+ name: NORDIX_ARM_HTTPS_URL
+ default: 'https://artifactory.nordix.org/artifactory'
+ description: 'URL to Nordix Artifactory'
+ - string:
+ name: NORDIX_ARM_REPO
+ default: 'nordix-onap'
+ description: 'Name of the repository to upload and download artifact to/from. Depends on the stack'
+ - 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.'
+
+ 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'
+
+ wrappers:
+ - build-timeout:
+ timeout: 600
+ - mask-passwords
+ - fix-workspace-permissions
+
+ 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-ssh-keypair-macro'
+ - 'generate-build-metadata-macro'
+ - 'wait-pkg-mgr-macro'
+ - multijob:
+ name: package
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'onap-{onap-profile}-periodic-package-{distro}-{onap-branch}'
+ current-parameters: true
+ git-revision: true
+ node-parameters: true
+ property-file: "$WORKSPACE/build.properties"
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: release test k8-calico-onap {onap-profile}
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'k8-calico-onap-{onap-profile}-online-ubuntu1804-city-cloud-periodic-{onap-branch}'
+ current-parameters: false
+ git-revision: false
+ 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
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: promotion
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'onap-{onap-profile}-periodic-promote-{distro}-{onap-branch}'
+ current-parameters: true
+ git-revision: true
+ node-parameters: true
+ property-file: "$WORKSPACE/build.properties"
+ kill-phase-on: FAILURE
+ abort-all-job: true
+
+- job-template:
+ name: 'onap-{onap-profile}-periodic-package-{distro}-{onap-branch}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ 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:
+ - 'onap-package-builder-macro'
+
+- job-template:
+ name: 'onap-{onap-profile}-periodic-promote-{distro}-{onap-branch}'
+
+ 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:
+ - 'onap-promote-builder-macro'
--- /dev/null
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+# 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:
--- /dev/null
+#!/bin/bash
+
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+set -o nounset
+set -o errexit
+set -o pipefail
+
+echo "Deployment is not enabled yet!"
--- /dev/null
+#!/bin/bash
+
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+set -o nounset
+set -o errexit
+set -o pipefail
+
+echo "Testing is not enabled yet!"
--- /dev/null
+#!/bin/bash
+
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+set -o nounset
+set -o errexit
+set -o pipefail
+
+echo "Testing is not enabled yet!"
--- /dev/null
+#!/bin/bash
+
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+set -o nounset
+set -o errexit
+set -o pipefail
+
+echo "Deployment is not enabled yet!"
--- /dev/null
+#!/bin/bash
+
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+set -o nounset
+set -o errexit
+set -o pipefail
+
+echo "Promotion is not enabled yet!"
exit 0
fi
+if [[ "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
+ echo "Info : Setting installer to kolla and scenario to os-nosdn-nofeature"
+ export INSTALLER_TYPE="kolla"
+ export DEPLOY_SCENARIO="os-nosdn-nofeature"
+fi
+
if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
ENGINE_ROOT_DIR="/opt/engine/offline/git/engine"
else
set -o nounset
set -o errexit
+if [[ "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
+ export ARTIFACT_TO_DOWNLOAD="os-installer-ubuntu1804.bsx"
+ export NORDIX_ARM_REPO="nordix-openstack"
+else
+ export ARTIFACT_TO_DOWNLOAD="k8s-installer-ubuntu1804.bsx"
+ export NORDIX_ARM_REPO="nordix-kubernetes"
+fi
+
+if [[ "$CI_LOOP" == "periodic" ]]; then
+ export ARTIFACTS_TO_UPLOAD="$ARTIFACTS_TO_UPLOAD offline-package.tgz"
+else
+ export NORDIX_ARTIFACT_URL="$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/gerrit/$GERRIT_CHANGE_NUMBER"
+fi
+
if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
# ensure we delete leftovers due to lack of disk space
sudo /bin/rm -rf /tmp/$ARTIFACT_TO_DOWNLOAD ~/.ara \
$NORDIX_ARM_PUBLIC_IP artifactory.nordix.org
# managed by engine
EOF"
+
+ # we need to get rid of search domain as well
+ sudo sed -i 's/^search/# search/' /etc/resolv.conf
+
echo "Info : Downloading artifact from Nordix ARM..."
echo " $NORDIX_ARTIFACT_URL/$ARTIFACT_TO_DOWNLOAD"
cd /tmp
- curl -s -O $NORDIX_ARTIFACT_URL/$ARTIFACT_TO_DOWNLOAD
+ curl -s -S -O $NORDIX_ARTIFACT_URL/$ARTIFACT_TO_DOWNLOAD
echo "Info : Downloaded the artifact for offline deployment. Extracting..."
echo " $(ls -al /tmp/$ARTIFACT_TO_DOWNLOAD)"
chmod +x /tmp/$ARTIFACT_TO_DOWNLOAD
set -o errexit
set -o pipefail
+if [[ "$EXECUTION_MODE" == "offline-deployment" && "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
+ echo "Info : Offline testing are not supported for $GERRIT_PROJECT"
+ exit 0
+fi
+
if [[ "$EXECUTION_MODE" == "offline-deployment" && "$SLAVE_LABEL" != "baremetal-deploy" ]]; then
echo "Info : Testing of offline deployments is not currently supported!"
exit 0
fi
+if [[ "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
+ echo "Info : Setting installer to kolla and scenario to os-nosdn-nofeature"
+ export INSTALLER_TYPE="kolla"
+ export DEPLOY_SCENARIO="os-nosdn-nofeature"
+fi
+
# NOTE (fdegir): delete unnecessary stuff to free up space on baremetal jumphost
sudo /bin/rm -rf /tmp/$ARTIFACT_TO_DOWNLOAD ~/.ara \
/opt/test /opt/stack /httpboot /opt/engine/offline/binaries /opt/engine/offline/dib \
git clone -q $TEST_REPO_URL $WORKSPACE
cd $WORKSPACE/test
-./test.sh -f $TEST_FW -t $TEST_SUITE -s $DEPLOY_SCENARIO -d $YARDSTICK_DISPATCHER
+./test.sh -f $TEST_FW -t $TEST_SUITE -i $INSTALLER_TYPE -s $DEPLOY_SCENARIO -d $YARDSTICK_DISPATCHER
--- /dev/null
+#!/bin/bash
+
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+# NOTE (fdegir): we do not need to do anything for the changes coming to infra/engine repo
+if [[ "$GERRIT_PROJECT" == "infra/engine" ]]; then
+ exit 0
+fi
+
+echo "Info : Cloning infra/engine repository"
+cd "$HOME" && /bin/rm -rf "$WORKSPACE"
+git clone -q "$ENGINE_REPO_URL" "$WORKSPACE"
+
+export SDF_ORIGINAL="$WORKSPACE/engine/inventory/group_vars/all/sdf.yaml"
+export SDF_PATCHSET="/tmp/sdf.yaml.$GERRIT_CHANGE_NUMBER"
+
+/bin/rm -rf "$SDF_PATCHSET"
+
+export TOOL_TYPE="${GERRIT_PROJECT//*\//}"
+export TOOL_MATCH="false"
+echo "Info : Tool type is $TOOL_TYPE"
+echo "Info : Updating SDF with change SHA and refspec"
+while IFS= read -r line; do
+ if [[ "$TOOL_MATCH" == "true" && "$line" =~ "version" ]]; then
+ echo "$line" | sed "s#version:.*#version: $GERRIT_PATCHSET_REVISION\n refspec: $GERRIT_REFSPEC#g" >> "$SDF_PATCHSET"
+ export TOOL_MATCH="false"
+ continue
+ fi
+ if [[ "$line" =~ "$TOOL_TYPE:" && "$TOOL_MATCH" == "false" ]]; then
+ export TOOL_MATCH="true"
+ fi
+ echo "$line" >> "$SDF_PATCHSET"
+done < "$SDF_ORIGINAL"
+# NOTE (fdegir): log the diff for possible troubleshooting
+echo
+echo "Info : Diff between original SDF and SDF generated for the change"
+echo "-------------------------------------------------------------------------"
+diff "$SDF_ORIGINAL" "$SDF_PATCHSET"
+echo "-------------------------------------------------------------------------"
+echo
+
+# NOTE (fdegir): move SDF generated for the change into the original SDF
+/bin/mv -f "$SDF_PATCHSET" "$SDF_ORIGINAL"
+
+# NOTE (fdegir): log the final SDF
+echo
+echo "Info : Generated SDF content"
+echo "-------------------------------------------------------------------------"
+cat "$SDF_ORIGINAL"
+echo "-------------------------------------------------------------------------"
+echo
set -o errexit
set -o pipefail
-echo "Info : Generating SSH keypair for the job"
-ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N '' <<< y > /dev/null 2>&1
-chmod -R go-rwx ~/.ssh
+if [[ ! -f "$HOME/.ssh/id_rsa" ]]; then
+ echo "Info : Generating SSH keypair for the job"
+ ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N '' <<< y > /dev/null 2>&1
+ chmod -R go-rwx ~/.ssh
+fi
set -o errexit
set -o pipefail
-if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
- echo "Info : Offline deployment. Proceeding with packaging."
- cd $WORKSPACE/engine
- ./package.sh
+if [[ "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
+ export STACK_TO_PACKAGE="kolla"
else
- echo "Info : Online deployment. Skipping packaging."
+ export STACK_TO_PACKAGE="kubespray"
fi
+
+echo "Info : Packaging stack $STACK_TO_PACKAGE"
+
+cd "$WORKSPACE/engine"
+./package.sh -s "$STACK_TO_PACKAGE" -v
+
+# vim: set ts=2 sw=2 expandtab:
ARTIFACT_SHA256SUM=$(sha256sum $ARTIFACT_TO_UPLOAD | cut -d' ' -f1)
echo "Info : Promoting $ARTIFACT_TO_UPLOAD"
- curl -s \
+ curl -s -S \
-H "X-JFrog-Art-Api:$NORDIX_ARM_TOKEN" \
-H "X-Checksum-MD5:$ARTIFACT_MD5SUM" \
-H "X-Checksum-Sha1:$ARTIFACT_SHASUM" \
set -o errexit
set -o pipefail
-if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
+if [[ "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
+ export ARTIFACTS_TO_UPLOAD="os-installer-ubuntu1804.bsx"
+ export NORDIX_ARM_REPO="nordix-openstack"
+else
+ export ARTIFACTS_TO_UPLOAD="k8s-installer-ubuntu1804.bsx"
+ export NORDIX_ARM_REPO="nordix-kubernetes"
+fi
+
+
+if [[ "$CI_LOOP" == "periodic" ]]; then
+ export ARTIFACTS_TO_UPLOAD="$ARTIFACTS_TO_UPLOAD offline-package.tgz"
+else
+ export NORDIX_ARTIFACT_URL="$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/gerrit/$GERRIT_CHANGE_NUMBER"
+fi
+
+echo "Info : Uploading $ARTIFACTS_TO_UPLOAD to Nordix ARM $NORDIX_ARM_REPO repository"
+
+if [[ "$EXECUTION_MODE" == "packaging" || "$EXECUTION_MODE" == "offline-deployment" ]]; then
cd /tmp
for ARTIFACT_TO_UPLOAD in $ARTIFACTS_TO_UPLOAD; do
echo "Info : Generating checksums for $ARTIFACT_TO_UPLOAD"
ARTIFACT_SHA256SUM=$(sha256sum $ARTIFACT_TO_UPLOAD | cut -d' ' -f1)
echo "Info : Uploading $ARTIFACT_TO_UPLOAD to Nordix Artifactory"
- curl -s \
+ curl -s -S \
-H "X-JFrog-Art-Api:$NORDIX_ARM_TOKEN" \
-H "X-Checksum-MD5:$ARTIFACT_MD5SUM" \
-H "X-Checksum-Sha1:$ARTIFACT_SHASUM" \
# 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..."
+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
break
fi
done
-echo "Info: $pkg_mgr_cmd process done. Continuing..."
+echo "Info : $pkg_mgr_cmd process done. Continuing..."
# vim: set ts=2 sw=2 expandtab:
+++ /dev/null
----
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-- project:
- name: 'engine-verify-offline-deploy-test'
-
- project: 'engine-verify-offline-deploy-test'
-
- stream:
- - 'master':
- branch: '{stream}'
- pdf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-pdf.yml'
- idf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-idf.yml'
-
- phase:
- - deploy
- - functest
-
- type:
- - virtual:
- provisioner-type: 'bifrost'
- slave-type: 'vpod'
- - cloud:
- provisioner-type: 'heat'
- slave-type: 'jumphost'
-
- distro:
- - ubuntu1804
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap'
-
- jobs:
- - 'engine-verify-offline-deploy-test-{distro}-{cloud}-{type}-{stream}'
- - 'engine-verify-offline-{phase}-{distro}-{cloud}-{type}-{stream}'
-
-- job-template:
- name: 'engine-verify-offline-deploy-test-{distro}-{cloud}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - label:
- name: SLAVE_LABEL
- default: 'engine-{slave-type}-offline-{distro}'
- description: 'Slave label to schedule this job on.'
- - string:
- name: PROVISIONER_TYPE
- default: '{provisioner-type}'
- description: 'Provisioner type to use'
- - 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_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-offline-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created stack'
- - string:
- name: KEYPAIR_NAME
- default: "keypair-nordix-cicd-verify-engine-offline-{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'
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
- - openstack:
- single-use: True
-
- builders:
- - shell: |
- #!/bin/bash
- sudo sed -i 's/^search/# search/' /etc/resolv.conf
- - 'download-artifact-macro'
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - multijob:
- name: "offline deployment on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-offline-deploy-{distro}-city-{type}-master'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- - multijob:
- name: "offline testing on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-offline-functest-{distro}-city-{type}-master'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
-
- publishers:
- - postbuildscript:
- builders:
- - role: SLAVE
- build-on:
- - SUCCESS
- - FAILURE
- - ABORTED
- - NOT_BUILT
- - UNSTABLE
- build-steps:
- - 'wait-pkg-mgr-macro'
- - 'delete-stack-macro'
-
-- job-template:
- name: 'engine-verify-offline-{phase}-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- builders:
- - '{phase}-macro'
+++ /dev/null
----
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-- project:
- name: 'engine-verify-online-deploy-test'
-
- project: 'engine-verify-online-deploy-test'
-
- stream:
- - 'master':
- branch: '{stream}'
- 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'
-
- phase:
- - deploy
- - functest
-
- type:
- - virtual:
- provisioner-type: 'bifrost'
- slave-type: 'vpod'
- - cloud:
- provisioner-type: 'heat'
- slave-type: 'jumphost'
-
- distro:
- - ubuntu1804
-
- cloud:
- - city:
- openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap'
-
- jobs:
- - 'engine-verify-online-deploy-test-{distro}-{cloud}-{type}-{stream}'
- - 'engine-verify-online-{phase}-{distro}-{cloud}-{type}-{stream}'
-
-- job-template:
- name: 'engine-verify-online-deploy-test-{distro}-{cloud}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - project-parameters:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- description: 'The project and branch which the change is proposed for'
- - label:
- name: SLAVE_LABEL
- default: 'engine-{slave-type}-online-{distro}'
- description: 'Slave label to schedule this job on.'
- - string:
- name: PROVISIONER_TYPE
- default: '{provisioner-type}'
- description: 'Provisioner type to use'
- - 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_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-online-{distro}-$GERRIT_CHANGE_NUMBER"
- description: 'Name of the created stack'
- - string:
- name: KEYPAIR_NAME
- default: "keypair-nordix-cicd-verify-engine-online-{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'
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
- - 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
-
- builders:
- - 'download-artifact-macro'
- - 'generate-ssh-keypair-macro'
- - 'wait-pkg-mgr-macro'
- - multijob:
- name: "online deployment on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-online-deploy-{distro}-city-{type}-master'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- - multijob:
- name: "online testing on {type} instances"
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'engine-verify-online-functest-{distro}-city-{type}-master'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
-
- publishers:
- - postbuildscript:
- builders:
- - role: SLAVE
- build-on:
- - SUCCESS
- - FAILURE
- - ABORTED
- - NOT_BUILT
- - UNSTABLE
- build-steps:
- - 'wait-pkg-mgr-macro'
- - 'delete-stack-macro'
-
-- job-template:
- name: 'engine-verify-online-{phase}-{distro}-{cloud}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate
- - throttle:
- max-per-node: 1
- max-total: 3
- option: project
-
- wrappers:
- - build-timeout:
- timeout: 180
- - credentials-binding:
- - file:
- credential-id: '{openrc-credentials-file}'
- variable: OPENRC_FILE
- - username-password-separated:
- credential-id: 'nordix-cicd-arm-credentials'
- username: NORDIX_ARM_USERNAME
- password: NORDIX_ARM_TOKEN
- - mask-passwords
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit:
- ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
- branch: '{branch}'
- refspec: $GERRIT_REFSPEC
- wipe_workspace: true
- clean_before: false
-
- builders:
- - '{phase}-macro'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+# this job gets triggered when push-upstream is commented on a change on Nordix Gerrit.
+- project:
+ name: dcaegen2-utils-push-upstream
+ project: dcaegen2/utils
+ project-name: dcaegen2-utils
+
+ jobs:
+ - 'onap-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+# this job gets triggered when a change is merged to
+# dcaegen2/utils project on ONAP Gerrit.
+- project:
+ name: dcaegen2-utils-rebase
+ project: dcaegen2/utils
+ project-name: dcaegen2-utils
+
+ jobs:
+ - 'onap-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+# this job gets triggered when a change is proposed to
+# dcaegen2/utils project on Nordix Gerrit.
+- project:
+
+ name: dcaegen2-utils-verify
+ project: dcaegen2/utils
+ project-name: dcaegen2-utils
+
+ stream:
+ - master:
+ branch: '{stream}'
+
+ jobs:
+ - 'onap-{project-name}-{stream}-verify-java'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-bifrost-push-upstream
+ project: openstack/bifrost
+ project-name: openstack-bifrost
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-bifrost-rebase
+ project: openstack/bifrost
+ project-name: openstack-bifrost
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-ironic-inspector-push-upstream
+ project: openstack/ironic-inspector
+ project-name: openstack-ironic-inspector
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-ironic-inspector-rebase
+ project: openstack/ironic-inspector
+ project-name: openstack-ironic-inspector
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-ironic-python-agent-builder-push-upstream
+ project: openstack/ironic-python-agent-builder
+ project-name: openstack-ironic-python-agent-builder
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-ironic-python-agent-builder-rebase
+ project: openstack/ironic-python-agent-builder
+ project-name: openstack-ironic-python-agent-builder
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-ironic-python-agent-push-upstream
+ project: openstack/ironic-python-agent
+ project-name: openstack-ironic-python-agent
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-ironic-python-agent-rebase
+ project: openstack/ironic-python-agent
+ project-name: openstack-ironic-python-agent
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-ironic-push-upstream
+ project: openstack/ironic
+ project-name: openstack-ironic
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-ironic-rebase
+ project: openstack/ironic
+ project-name: openstack-ironic
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-openstack-manuals-push-upstream
+ project: openstack/openstack-manuals
+ project-name: openstack-openstack-manuals
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
\ No newline at end of file
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-openstack-manuals-rebase
+ project: openstack/openstack-manuals
+ project-name: openstack-openstack-manuals
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
\ No newline at end of file
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-python-ironic-inspector-client-push-upstream
+ project: openstack/python-ironic-inspector-client
+ project-name: openstack-python-ironic-inspector-client
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-python-ironic-inspector-client-rebase
+ project: openstack/python-ironic-inspector-client
+ project-name: openstack-python-ironic-inspector-client
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-python-ironicclient-push-upstream
+ project: openstack/python-ironicclient
+ project-name: openstack-python-ironicclient
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-python-ironicclient-rebase
+ project: openstack/python-ironicclient
+ project-name: openstack-python-ironicclient
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-shade-push-upstream
+ project: openstack/shade
+ project-name: openstack-shade
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-shade-rebase
+ project: openstack/shade
+ project-name: openstack-shade
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-sushy-push-upstream
+ project: openstack/sushy
+ project-name: openstack-sushy
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: openstack-sushy-rebase
+ project: openstack/sushy
+ project-name: openstack-sushy
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: x-ironic-staging-drivers-push-upstream
+ project: x/ironic-staging-drivers
+ project-name: x-ironic-staging-drivers
+
+ jobs:
+ - 'opendev-{project-name}-push-upstream'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: x-ironic-staging-drivers-rebase
+ project: x/ironic-staging-drivers
+ project-name: x-ironic-staging-drivers
+
+ jobs:
+ - 'opendev-{project-name}-rebase'
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: oransc-doc-push-upstream
+ project: doc
+ project-name: doc
+
+ jobs:
+ - 'oransc-{project-name}-push-upstream'
\ No newline at end of file
--- /dev/null
+---
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+ name: oransc-doc-rebase
+ project: doc
+ project-name: doc
+
+ jobs:
+ - 'oransc-{project-name}-rebase'
\ No newline at end of file