X-Git-Url: https://gerrit.nordix.org/gitweb?a=blobdiff_plain;f=jjb%2Fcloud-infra%2Fcloud-infra-periodic-onap.yaml;h=3afc137e61a456e58a9a400b57c90359baf9b46b;hb=da7ada67ac1e0ea0fda274e36f76cfa991ca8ade;hp=0ed68fa30516e1f447f0011870ee23cc6edc44d7;hpb=89f2180c05ae55bb9bd9cfbbb293a610c3e77c80;p=infra%2Fcicd.git diff --git a/jjb/cloud-infra/cloud-infra-periodic-onap.yaml b/jjb/cloud-infra/cloud-infra-periodic-onap.yaml index 0ed68fa3..3afc137e 100644 --- a/jjb/cloud-infra/cloud-infra-periodic-onap.yaml +++ b/jjb/cloud-infra/cloud-infra-periodic-onap.yaml @@ -19,20 +19,8 @@ # ============LICENSE_END========================================================= #-------------------------------------------------------------------------------------- -# The jobs declared in this JJB configuration file are used for verifying cloud-infra -# engine from the tip of the master branch periodically to check the stability of it. -# -# These jobs are set to run on slaves with label vpod-deploy-ubuntu1604. -# The slaves have -# - Ubuntu1604 as the base distro -# - nested virtualization -# - internet access -# - passwordless sudo -# - 16 CPUs/32GB RAM/200 GB Disk -# - docker, git vim curl wget zip unzip chrony apt-transport-https ca-certificates curl -# gnupg-agent software-properties-common docker-ce docker-ce-cli containerd.io openjdk-8-jre -# -# The slaves should not have a cloud infra scenario deployed on them. +# The jobs declared in this JJB configuration file are used for deploying and testing +# ONAP scenario onap-nofeature-noha. #-------------------------------------------------------------------------------------- - project: @@ -43,13 +31,14 @@ onap-branch: - 'dublin': nordix-branch: master - onap-version: 4.0.0-ONAP + onap-version: dublin onap-flavor: full engine-version: master engine-refspec: master deploy-scenario-version: master deploy-scenario-refspec: master disabled: false + delete-stack: 'yes' - 'master': nordix-branch: master onap-version: master @@ -58,36 +47,58 @@ engine-refspec: master deploy-scenario-version: master deploy-scenario-refspec: master - disabled: true + disabled: false + delete-stack: 'no' distro: - ubuntu1804 deploy-scenario: - - onap-oom-nofeature + - onap-nofeature-noha + + ci-loop: + - daily type: - cloud: + pod-name: est-cloud provisioner-type: heat installer-type: kubespray slave-label: 'jumphost-onap-ubuntu1804' - phase: + onap-other-phases: - onap-deploy: - build-timeout: 150 + build-timeout: 210 - oom-healthcheck: build-timeout: 30 - - onap-healthcheck: - build-timeout: 30 + test-type: oom-healthcheck - promote-onap: build-timeout: 5 + onap-healthcheck-phases: + - onap-healthcheck-core: + build-timeout: 30 + test-type: onap-healthcheck + - onap-healthcheck-small: + build-timeout: 30 + test-type: onap-healthcheck + - onap-healthcheck-medium: + build-timeout: 30 + test-type: onap-healthcheck + - onap-healthcheck-full: + build-timeout: 30 + test-type: onap-healthcheck + - onap-healthcheck-healthdist: + build-timeout: 30 + test-type: onap-healthcheck + jobs: - - '{deploy-scenario}-periodic-{distro}-{installer-type}-{type}-{onap-branch}' - - '{phase}-periodic-{distro}-{installer-type}-{type}-{onap-branch}' + - '{deploy-scenario}-{onap-flavor}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' + - '{onap-other-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' + - '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' - job-template: - name: '{deploy-scenario}-periodic-{distro}-{installer-type}-{type}-{onap-branch}' + name: '{deploy-scenario}-{onap-flavor}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' project-type: multijob @@ -100,34 +111,7 @@ 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: DISTRO - default: '{distro}' - description: 'Distribution to use for configuring target nodes (networking etc.)' - - string: - name: PROVISIONER_TYPE - default: '{provisioner-type}' - description: 'Provisioner to use for provisioning nodes' - - string: - name: INSTALLER_TYPE - default: '{installer-type}' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: '{deploy-scenario}' - description: 'Scenario to deploy and test' - - string: - name: HEAT_ENVIRONMENT_FILE - default: "file://$WORKSPACE/.cache/repos/swconfig/scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO/files/heat-environment-full.yaml" - description: 'Type of the deployment' - - string: - name: DEPLOY_TYPE - default: '{type}' - description: 'Type of the deployment' + - onap-parameter-macro - string: name: ONAP_VERSION default: '{onap-version}' @@ -137,9 +121,8 @@ default: '{onap-flavor}' description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.' - string: - name: ENGINE_REPO_URL - default: 'https://gerrit.nordix.org/infra/engine.git' - description: 'URL to Nordix cloud-infra/engine repository' + name: STACK_NAME + default: 'nordix-cicd-{deploy-scenario}-{onap-branch}-{onap-flavor}' - string: name: ENGINE_VERSION default: '{engine-version}' @@ -157,17 +140,13 @@ 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: XTESTING_REPO_URL - default: 'https://gerrit.nordix.org/opnfv/xtesting-onap.git' - description: 'URL to Nordix xtesting-onap repository' + name: POD_NAME + default: '{pod-name}' + description: 'Development purposes only! Set to none for disabling test results DB reporting.' - string: - name: ENGINE_ANSIBLE_PARAMS - default: '' - description: 'Extra parameters that can be added when run the play books.' - - string: - name: CLEANUP - default: 'true' - description: 'Cleanup leftovers of the previous run' + name: DELETE_STACK + default: '{delete-stack}' + description: 'Development purposes only! Whether delete the stack or not. It must either be yes or no. Setting this to no will increase the cost!' properties: - logrotate @@ -184,9 +163,19 @@ option: project wrappers: + - credentials-binding: + - file: + credential-id: est-jenkins-openrcfile-city-karlskrona-onap + variable: OPENRC_FILE + - mask-passwords - build-timeout: - timeout: 220 + timeout: 300 - fix-workspace-permissions + - openstack: + single-use: True + + triggers: + - timed: '@midnight' scm: - git-scm: @@ -198,22 +187,26 @@ builders: - description-setter: - description: $INSTALLER_TYPE | $DEPLOY_SCENARIO + description: $DEPLOY_SCENARIO | $ONAP_FLAVOR + - shell: | + #!/bin/bash + cp $OPENRC_FILE /tmp/openrc - multijob: - name: Deploy ONAP - condition: SUCCESSFUL + name: Deploy ONAP using OOM + condition: ALWAYS projects: - - name: 'onap-deploy-periodic-{distro}-{installer-type}-{type}-{onap-branch}' - current-parameters: true + - name: 'onap-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' + current-parameters: false predefined-parameters: | DISTRO=$DISTRO DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIIONER_TYPE=$PROVISIIONER_TYPE + PROVISIONER_TYPE=$PROVISIONER_TYPE INSTALLER_TYPE=$INSTALLER_TYPE DEPLOY_SCENARIO=$DEPLOY_SCENARIO - HEAT_ENVIRONMENT_FILE=$HEAT_ENVIRONMENT_FILE ONAP_VERSION=$ONAP_VERSION ONAP_FLAVOR=$ONAP_FLAVOR + POD_NAME=$POD_NAME + STACK_NAME=$STACK_NAME ENGINE_VERSION=$ENGINE_VERSION ENGINE_REFSPEC=$ENGINE_REFSPEC DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION @@ -223,23 +216,25 @@ CLEANUP=$CLEANUP git-revision: true node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true + kill-phase-on: NEVER + abort-all-job: false - multijob: - name: OOM Healthcheck - condition: SUCCESSFUL + name: K8S and OOM Healthcheck using xtesting + condition: ALWAYS projects: - - name: 'oom-healthcheck-periodic-{distro}-{installer-type}-{type}-{onap-branch}' - current-parameters: true + - name: 'oom-healthcheck-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' + current-parameters: false predefined-parameters: | DISTRO=$DISTRO DEPLOY_TYPE=$DEPLOY_TYPE - HEAT_ENVIRONMENT_FILE=$HEAT_ENVIRONMENT_FILE - PROVISIIONER_TYPE=$PROVISIIONER_TYPE + PROVISIONER_TYPE=$PROVISIONER_TYPE INSTALLER_TYPE=$INSTALLER_TYPE DEPLOY_SCENARIO=$DEPLOY_SCENARIO ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=$ONAP_FLAVOR + ONAP_FLAVOR=full + TEST_TYPE=oom-healthcheck + POD_NAME=$POD_NAME + STACK_NAME=$STACK_NAME ENGINE_VERSION=$ENGINE_VERSION ENGINE_REFSPEC=$ENGINE_REFSPEC DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION @@ -251,25 +246,123 @@ kill-phase-on: NEVER abort-all-job: false - multijob: - name: ONAP Healthcheck - condition: SUCCESSFUL + name: ONAP Healthcheck using xtesting + condition: ALWAYS projects: - - name: 'onap-healthcheck-periodic-{distro}-{installer-type}-{type}-{onap-branch}' - current-parameters: true + - name: 'onap-healthcheck-core-{distro}-{installer-type}-{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 + DEPLOY_TYPE=$DEPLOY_TYPE + ONAP_VERSION=$ONAP_VERSION + ONAP_FLAVOR=core + TEST_TYPE=onap-healthcheck + POD_NAME=$POD_NAME + STACK_NAME=$STACK_NAME + ENGINE_VERSION=$ENGINE_VERSION + ENGINE_REFSPEC=$ENGINE_REFSPEC + DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION + DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC + XTESTING_REPO_URL=$XTESTING_REPO_URL + ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS + CLEANUP=$CLEANUP + node-parameters: true + kill-phase-on: NEVER + abort-all-job: false + - name: 'onap-healthcheck-small-{distro}-{installer-type}-{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 DEPLOY_TYPE=$DEPLOY_TYPE - PROVISIIONER_TYPE=$PROVISIIONER_TYPE + ONAP_VERSION=$ONAP_VERSION + ONAP_FLAVOR=small + TEST_TYPE=onap-healthcheck + POD_NAME=$POD_NAME + STACK_NAME=$STACK_NAME + ENGINE_VERSION=$ENGINE_VERSION + ENGINE_REFSPEC=$ENGINE_REFSPEC + DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION + DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC + XTESTING_REPO_URL=$XTESTING_REPO_URL + ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS + CLEANUP=$CLEANUP + node-parameters: true + kill-phase-on: NEVER + abort-all-job: false + - name: 'onap-healthcheck-medium-{distro}-{installer-type}-{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 - HEAT_ENVIRONMENT_FILE=$HEAT_ENVIRONMENT_FILE + DEPLOY_TYPE=$DEPLOY_TYPE ONAP_VERSION=$ONAP_VERSION - ONAP_FLAVOR=$ONAP_FLAVOR + ONAP_FLAVOR=medium + TEST_TYPE=onap-healthcheck + POD_NAME=$POD_NAME + STACK_NAME=$STACK_NAME ENGINE_VERSION=$ENGINE_VERSION ENGINE_REFSPEC=$ENGINE_REFSPEC DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC + XTESTING_REPO_URL=$XTESTING_REPO_URL ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS + CLEANUP=$CLEANUP + node-parameters: true + kill-phase-on: NEVER + abort-all-job: false + - name: 'onap-healthcheck-full-{distro}-{installer-type}-{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 + DEPLOY_TYPE=$DEPLOY_TYPE + ONAP_VERSION=$ONAP_VERSION + ONAP_FLAVOR=full + TEST_TYPE=onap-healthcheck + POD_NAME=$POD_NAME + STACK_NAME=$STACK_NAME + ENGINE_VERSION=$ENGINE_VERSION + ENGINE_REFSPEC=$ENGINE_REFSPEC + DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION + DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC + XTESTING_REPO_URL=$XTESTING_REPO_URL + ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS + CLEANUP=$CLEANUP + node-parameters: true + kill-phase-on: NEVER + abort-all-job: false + - name: 'onap-healthcheck-healthdist-{distro}-{installer-type}-{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 + DEPLOY_TYPE=$DEPLOY_TYPE + ONAP_VERSION=$ONAP_VERSION + ONAP_FLAVOR=healthdist + TEST_TYPE=onap-healthcheck + POD_NAME=$POD_NAME + STACK_NAME=$STACK_NAME + ENGINE_VERSION=$ENGINE_VERSION + ENGINE_REFSPEC=$ENGINE_REFSPEC + DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION + DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC XTESTING_REPO_URL=$XTESTING_REPO_URL ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS CLEANUP=$CLEANUP @@ -277,21 +370,22 @@ kill-phase-on: NEVER abort-all-job: false - multijob: - name: Promote ONAP - condition: SUCCESSFUL + name: Promote ONAP (not activated) + condition: ALWAYS projects: - - name: 'promote-onap-periodic-{distro}-{installer-type}-{type}-{onap-branch}' - current-parameters: true + - name: 'promote-onap-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' + current-parameters: false predefined-parameters: | DISTRO=$DISTRO DEPLOY_TYPE=$DEPLOY_TYPE - HEAT_ENVIRONMENT_FILE=$HEAT_ENVIRONMENT_FILE INSTALLER_TYPE=$INSTALLER_TYPE DEPLOY_SCENARIO=$DEPLOY_SCENARIO ONAP_VERSION=$ONAP_VERSION ONAP_FLAVOR=$ONAP_FLAVOR ENGINE_VERSION=$ENGINE_VERSION ENGINE_REFSPEC=$ENGINE_REFSPEC + POD_NAME=$POD_NAME + STACK_NAME=$STACK_NAME DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC XTESTING_REPO_URL=$XTESTING_REPO_URL @@ -301,8 +395,24 @@ kill-phase-on: NEVER abort-all-job: false + publishers: + - postbuildscript: + builders: + - role: SLAVE + build-on: + - SUCCESS + - FAILURE + - ABORTED + - NOT_BUILT + - UNSTABLE + build-steps: + - shell: + !include-raw-escape: ./wait-for-pkg-manager.sh + - shell: + !include-raw: ./delete-heat-stack.sh + - job-template: - name: '{phase}-periodic-{distro}-{installer-type}-{type}-{onap-branch}' + name: '{onap-other-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' disabled: false @@ -316,74 +426,84 @@ project: '{project}' branch: '{nordix-branch}' - nordix-gerrit-parameters - - label: - name: SLAVE_LABEL - default: 'jumphost-onap-ubuntu1804' - description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use' - - string: - name: DISTRO - default: 'ubuntu1804' - description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.' - - string: - name: PROVISIONER_TYPE - default: 'heat' - description: 'Provisioner to use for provisioning nodes' + - onap-parameter-macro - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer to use for deploying the scenario' - - string: - name: DEPLOY_SCENARIO - default: 'onap-oom-nofeature' - description: 'Scenario to deploy and test' - - string: - name: HEAT_ENVIRONMENT_FILE - default: "file://$WORKSPACE/.cache/repos/swconfig/scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO/files/heat-environment-full.yaml" - description: 'Type of the deployment' - - string: - name: DEPLOY_TYPE - default: 'cloud' - description: 'Type of the deployment. Overriden by upstream job.' + name: ONAP_FLAVOR + default: '{onap-flavor}' + description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.' - string: name: ONAP_VERSION - default: 'master' + default: '{onap-version}' description: 'ONAP version to deploy' + + wrappers: + - credentials-binding: + - file: + credential-id: est-jenkins-openrcfile-city-karlskrona-onap + variable: OPENRC_FILE + - mask-passwords + - build-timeout: + timeout: '{build-timeout}' + - fix-workspace-permissions + + scm: + - git-scm: + ssh-credentials-id: nordixinfra-nordix-gerrit-ssh + branch: '{nordix-branch}' + refspec: '' + wipe_workspace: true + clean_before: false + + builders: + - description-setter: + description: $DEPLOY_SCENARIO | $ONAP_FLAVOR + - '{onap-other-phases}-macro' + +- job-template: + name: '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}' + + disabled: false + + concurrent: true + + properties: + - logrotate + + parameters: + - project-parameters: + project: '{project}' + branch: '{nordix-branch}' + - nordix-gerrit-parameters + - onap-parameter-macro - string: - name: ONAP_FLAVOR - default: '{onap-flavor}' - description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.' + name: ONAP_VERSION + default: '{onap-version}' + description: 'ONAP version to deploy' - string: name: ENGINE_VERSION - default: 'master' + 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: 'master' + 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: 'master' + 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: 'master' + 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: 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.' - - string: - name: CLEANUP - default: 'true' + name: POD_NAME + default: '{pod-name}' + description: 'Development purposes only! Set to none for disabling test results DB reporting.' wrappers: - credentials-binding: - file: - credential-id: nordix-jenkins-openrcfile-city-frankfurt-defaultproject + credential-id: est-jenkins-openrcfile-city-karlskrona-onap variable: OPENRC_FILE - mask-passwords - build-timeout: @@ -400,7 +520,7 @@ builders: - description-setter: - description: $INSTALLER_TYPE - $DEPLOY_SCENARIO - - '{phase}-macro' + description: $DEPLOY_SCENARIO | $ONAP_FLAVOR + - 'onap-healthcheck-macro' # vim: set ts=2 sw=2 expandtab: