diff options
60 files changed, 913 insertions, 403 deletions
@@ -22,6 +22,7 @@ Mei Mei (Huawei, meimei@huawei.com) Trevor Bramwell (Linux Foundation, tbramwell@linuxfoundation.org) Serena Feng (ZTE, feng.xiaowei@zte.com.cn) Yolanda Robla Mota (Red Hat, yroblamo@redhat.com) +Markos Chandras (SUSE, mchandras@suse.de) Link to TSC approval of the project: http://ircbot.wl.linuxfoundation.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-07-14-14.00.html Link to TSC voting for removal of Victor Laza as committer: http://meetbot.opnfv.org/meetings/opnfv-meeting/2016/opnfv-meeting.2016-02-16-14.59.html diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yml index 054761ea7..a57bf176e 100644 --- a/jjb/3rd_party_ci/odl-netvirt.yml +++ b/jjb/3rd_party_ci/odl-netvirt.yml @@ -41,6 +41,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 5 @@ -150,6 +151,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 5 @@ -176,6 +178,10 @@ branch: '{branch}' - '{slave-label}-defaults' - '{installer}-defaults' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-bgpvpn-noha' + description: 'Scenario to deploy and test' builders: - description-setter: diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 5c1bded4c..9733c5921 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -36,7 +36,8 @@ - 'os-odl_l2-netvirt_gbp_fdio-noha' - 'os-odl_l2-sfc-noha' - 'os-odl_l3-nofeature-ha' - - 'os-odl_l3-bgpvpn-ha' + - 'os-odl-bgpvpn-ha' + - 'os-odl-gluon-ha' - 'os-odl_l3-fdio-noha' - 'os-odl_l3-fdio-ha' - 'os-odl_l3-fdio_dvr-noha' @@ -93,6 +94,7 @@ - compare-type: ANT pattern: 'tests/**' properties: + - logrotate-default - throttle: max-per-node: 1 max-total: 10 @@ -154,6 +156,7 @@ pattern: 'config/**' properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -228,6 +231,7 @@ - git-scm properties: + - logrotate-default - build-blocker: use-build-blocker: true blocking-jobs: @@ -285,6 +289,7 @@ - git-scm properties: + - logrotate-default - build-blocker: use-build-blocker: false block-level: 'NODE' @@ -340,6 +345,7 @@ - git-scm properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -396,6 +402,7 @@ description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment" properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -438,6 +445,7 @@ description: "Scenario to deploy with." properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -476,6 +484,7 @@ gs-pathname: '{gs-pathname}' properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -588,6 +597,7 @@ - git-scm properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -632,6 +642,7 @@ description: "Scenario to deploy with." properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -670,6 +681,7 @@ gs-pathname: '/colorado' properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index 4e88678b4..599a55ea5 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -104,6 +104,7 @@ concurrent: false properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -188,6 +189,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 diff --git a/jjb/armband/armband-project-jobs.yml b/jjb/armband/armband-project-jobs.yml index 981f509c7..2a1854937 100644 --- a/jjb/armband/armband-project-jobs.yml +++ b/jjb/armband/armband-project-jobs.yml @@ -30,6 +30,7 @@ concurrent: false properties: + - logrotate-default - throttle: enabled: true max-total: 1 diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml index d5333eb07..06ded3788 100644 --- a/jjb/armband/armband-verify-jobs.yml +++ b/jjb/armband/armband-verify-jobs.yml @@ -47,6 +47,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -167,6 +168,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 6 diff --git a/jjb/armband/build.sh b/jjb/armband/build.sh index a058ca158..a71cf1112 100755 --- a/jjb/armband/build.sh +++ b/jjb/armband/build.sh @@ -96,6 +96,7 @@ ls -al $BUILD_DIRECTORY echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)" echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" + echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)" echo "OPNFV_BUILD_URL=$BUILD_URL" ) > $WORKSPACE/opnfv.properties diff --git a/jjb/barometer/barometer.yml b/jjb/barometer/barometer.yml index e789b7f7a..7a5b5e43d 100644 --- a/jjb/barometer/barometer.yml +++ b/jjb/barometer/barometer.yml @@ -77,6 +77,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 3 @@ -128,6 +129,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 3 diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml index 03e40dc0e..80a972bbe 100644 --- a/jjb/bottlenecks/bottlenecks-project-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml @@ -114,6 +114,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 1 diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index 8800a155f..754b24edd 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -87,6 +87,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 @@ -173,6 +174,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml index 6b4080384..75ebdb206 100644 --- a/jjb/compass4nfv/compass-project-jobs.yml +++ b/jjb/compass4nfv/compass-project-jobs.yml @@ -33,6 +33,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 1 @@ -76,6 +77,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 1 diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml index 1af190e6b..f5a54c8d9 100644 --- a/jjb/compass4nfv/compass-verify-jobs.yml +++ b/jjb/compass4nfv/compass-verify-jobs.yml @@ -51,6 +51,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -163,6 +164,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 diff --git a/jjb/cperf/cperf-ci-jobs.yml b/jjb/cperf/cperf-ci-jobs.yml index 4ffc3b013..998e3c9c8 100644 --- a/jjb/cperf/cperf-ci-jobs.yml +++ b/jjb/cperf/cperf-ci-jobs.yml @@ -42,6 +42,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml index b7a5fec92..1e7bf9080 100644 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml @@ -43,13 +43,14 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 option: 'project' scm: - - git-scm-gerrit + - git-scm wrappers: - ssh-agent-wrapper @@ -166,6 +167,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 6 @@ -178,7 +180,7 @@ block-level: 'NODE' scm: - - git-scm-gerrit + - git-scm wrappers: - ssh-agent-wrapper diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml index cba22643c..82532b2b8 100644 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml @@ -41,6 +41,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -156,6 +157,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 6 diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index 62f89e686..0d06fb7ef 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -7,7 +7,7 @@ - master: branch: '{stream}' gs-pathname: '' - docker-tag: 'master' + docker-tag: 'latest' disabled: false - danube: branch: 'stable/{stream}' @@ -19,6 +19,13 @@ - apex: slave-label: 'ool-virtual1' pod: 'ool-virtual1' + - fuel: + slave-label: 'ool-virtual2' + pod: 'ool-virtual2' + # TODO(r-mibu): enable this once joid is ready + #- joid: + # slave-label: 'ool-virtual3' + # pod: 'ool-virtual3' inspector: - 'sample' @@ -34,7 +41,7 @@ jobs: - 'doctor-verify-{stream}' - - 'doctor-{task}-{installer}-{inspector}-{stream}': + - 'doctor-{task}-{installer}-{inspector}-{stream}' - job-template: name: 'doctor-verify-{stream}' @@ -88,14 +95,16 @@ - gerrit-parameter: branch: '{branch}' - string: + name: GIT_BRANCH + default: 'origin/{branch}' + description: "Override GIT_BRANCH parameter as we need stream name here" + #TODO(r-mibu): remove this work around by cleanup *_BRANCH params + - string: name: OS_CREDS default: /home/jenkins/openstack.creds description: 'OpenStack credentials' - '{slave-label}-defaults' - - string: - name: INSTALLER_TYPE - default: '{installer}' - description: 'Installer used for deploying OPNFV on this POD' + - '{installer}-defaults' - string: name: DOCKER_TAG default: '{docker-tag}' diff --git a/jjb/dovetail/dovetail-artifacts-upload.yml b/jjb/dovetail/dovetail-artifacts-upload.yml index dc2ae5aa2..1a6935646 100644 --- a/jjb/dovetail/dovetail-artifacts-upload.yml +++ b/jjb/dovetail/dovetail-artifacts-upload.yml @@ -33,6 +33,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 1 diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml index 08eb5a5f1..917856beb 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ b/jjb/dovetail/dovetail-ci-jobs.yml @@ -161,6 +161,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 diff --git a/jjb/dovetail/dovetail-weekly-jobs.yml b/jjb/dovetail/dovetail-weekly-jobs.yml new file mode 100644 index 000000000..c6b3774d4 --- /dev/null +++ b/jjb/dovetail/dovetail-weekly-jobs.yml @@ -0,0 +1,136 @@ +- project: + name: dovetail-weekly-jobs + project: dovetail +#-------------------------------- +# BRANCH ANCHORS +#-------------------------------- + master: &master + stream: master + branch: '{stream}' + dovetail-branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + colorado: &colorado + stream: colorado + branch: 'stable/{stream}' + dovetail-branch: master + gs-pathname: '/{stream}' + docker-tag: 'latest' + +#-------------------------------- +# POD, INSTALLER, AND BRANCH MAPPING +#-------------------------------- +# Installers using labels +# CI PODs +# This section should only contain the installers +# that have been switched using labels for slaves +#-------------------------------- + pod: +# - baremetal: +# slave-label: apex-baremetal +# sut: apex +# <<: *colorado + - baremetal: + slave-label: compass-baremetal + sut: compass + <<: *colorado +# - baremetal: +# slave-label: fuel-baremetal +# sut: fuel +# <<: *master +# - baremetal: +# slave-label: joid-baremetal +# sut: joid +# <<: *colorado + + testsuite: + - 'debug' + - 'proposed_tests' + - 'compliance_set' + + loop: + - 'weekly': + job-timeout: 60 + + jobs: + - 'dovetail-{sut}-{pod}-{testsuite}-{loop}-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'dovetail-{sut}-{pod}-{testsuite}-{loop}-{stream}' + + disabled: false + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - build-name: + name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: '{job-timeout}' + abort: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - '{sut}-defaults' + - '{slave-label}-defaults' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull dovetail docker image' + - string: + name: CI_DEBUG + default: 'true' + description: "Show debug output information" + - string: + name: TESTSUITE + default: '{testsuite}' + description: "dovetail testsuite to run" + - string: + name: DOVETAIL_REPO_DIR + default: "/home/opnfv/dovetail" + description: "Directory where the dovetail repository is cloned" + + scm: + - git-scm + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - 'dovetail-cleanup' + - 'dovetail-run' + + publishers: + - archive: + artifacts: 'results/**/*' + allow-empty: true + fingerprint: true + +######################## +# builder macros +######################## +- builder: + name: dovetail-run-weekly + builders: + - shell: + !include-raw: ./dovetail-run.sh +- builder: + name: dovetail-cleanup-weekly + builders: + - shell: + !include-raw: ./dovetail-cleanup.sh diff --git a/jjb/escalator/escalator.yml b/jjb/escalator/escalator.yml index 4149ee93c..103a6962f 100644 --- a/jjb/escalator/escalator.yml +++ b/jjb/escalator/escalator.yml @@ -39,6 +39,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -158,6 +159,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -239,7 +241,7 @@ concurrent: true scm: - - git-scm-gerrit + - git-scm wrappers: - ssh-agent-wrapper diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml index ef67af0dd..d65d17062 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yml @@ -120,6 +120,7 @@ concurrent: false properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -195,6 +196,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -242,7 +244,7 @@ publishers: - email: - recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com peter.barabas@ericsson.com fzhadaev@mirantis.com + recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com ######################## # parameter macros @@ -296,7 +298,7 @@ - trigger: name: 'fuel-os-odl_l2-bgpvpn-ha-baremetal-daily-master-trigger' triggers: - - timed: '' # '5 14 * * *' + - timed: '5 14 * * *' - trigger: name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-master-trigger' triggers: diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml index 731b9bd0d..390094e47 100644 --- a/jjb/fuel/fuel-project-jobs.yml +++ b/jjb/fuel/fuel-project-jobs.yml @@ -35,6 +35,7 @@ concurrent: false properties: + - logrotate-default - throttle: enabled: true max-total: 1 @@ -78,7 +79,7 @@ publishers: - email: - recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com fzhadaev@mirantis.com + recipients: fzhadaev@mirantis.com - job-template: name: 'fuel-merge-build-{stream}' @@ -146,6 +147,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 2 @@ -209,7 +211,7 @@ publishers: - email: - recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com fzhadaev@mirantis.com + recipients: fzhadaev@mirantis.com - job-template: name: 'fuel-deploy-generic-daily-{stream}' @@ -219,6 +221,7 @@ disabled: '{obj:disabled}' properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 diff --git a/jjb/fuel/fuel-verify-jobs-experimental.yml b/jjb/fuel/fuel-verify-jobs-experimental.yml index 3aa85b22d..95d675ada 100644 --- a/jjb/fuel/fuel-verify-jobs-experimental.yml +++ b/jjb/fuel/fuel-verify-jobs-experimental.yml @@ -52,6 +52,7 @@ concurrent: false properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -174,6 +175,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 6 diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yml index c5f913e49..439489715 100644 --- a/jjb/fuel/fuel-verify-jobs.yml +++ b/jjb/fuel/fuel-verify-jobs.yml @@ -47,6 +47,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -169,6 +170,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 6 diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml index 4920bffea..a688cab29 100644 --- a/jjb/functest/functest-ci-jobs.yml +++ b/jjb/functest/functest-ci-jobs.yml @@ -204,6 +204,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml index 4a50a5906..6e965a9cb 100644 --- a/jjb/global/installer-params.yml +++ b/jjb/global/installer-params.yml @@ -10,10 +10,6 @@ default: apex description: 'Installer used for deploying OPNFV on this POD' - string: - name: DEPLOY_SCENARIO - default: 'none' - description: 'Scenario to deploy and test' - - string: name: EXTERNAL_NETWORK default: 'external' description: 'external network for test' @@ -66,6 +62,10 @@ default: joid description: 'Installer used for deploying OPNFV on this POD' - string: + name: MODEL + default: 'os' + description: 'Model to deploy (os|k8)' + - string: name: OS_RELEASE default: 'newton' description: 'OpenStack release (mitaka|newton)' @@ -112,10 +112,6 @@ default: netvirt description: 'Installer used for deploying OPNFV on this POD' - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-bgpvpn-noha' - description: 'Scenario to deploy and test' - - string: name: EXTERNAL_NETWORK default: 'external' description: 'external network for test' diff --git a/jjb/global/releng-defaults.yml b/jjb/global/releng-defaults.yml index 5003a8f48..283888603 100644 --- a/jjb/global/releng-defaults.yml +++ b/jjb/global/releng-defaults.yml @@ -3,15 +3,12 @@ - defaults: name: global - logrotate: - daysToKeep: 60 - numToKeep: 200 - artifactDaysToKeep: 30 - artifactNumToKeep: 100 - wrappers: - ssh-agent-wrapper project-type: freestyle node: master + + properties: + - logrotate-default diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml index 404c3dd69..60fa22d63 100644 --- a/jjb/global/releng-macros.yml +++ b/jjb/global/releng-macros.yml @@ -35,6 +35,15 @@ default: '{branch}' description: "JJB configured GERRIT_BRANCH parameter" +- property: + name: logrotate-default + properties: + - build-discarder: + days-to-keep: 60 + num-to-keep: 200 + artifact-days-to-keep: 60 + artifact-num-to-keep: 200 + - scm: name: git-scm scm: @@ -58,6 +67,11 @@ triggers: - timed: '' +- trigger: + name: 'weekly-trigger-disabled' + triggers: + - timed: '' + # NOTE: unused macro, but we may use this for some jobs. - trigger: name: gerrit-trigger-patch-submitted @@ -118,7 +132,6 @@ failed: true unstable: true notbuilt: true - silent-start: true - wrapper: name: ssh-agent-wrapper diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 9d08487a3..57bb8bda3 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -439,6 +439,19 @@ name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT - parameter: + name: 'huawei-virtual7-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-virtual7 + default-slaves: + - huawei-virtual7 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT +- parameter: name: 'huawei-pod7-defaults' parameters: - node: @@ -670,15 +683,17 @@ default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - parameter: - name: 'ool-virtual1-defaults' + name: 'ool-defaults' parameters: - node: name: SLAVE_NAME description: 'Slave name on Jenkins' allowed-slaves: - ool-virtual1 + - ool-virtual2 + - ool-virtual3 default-slaves: - - ool-virtual1 + - '{default-slave}' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -688,6 +703,21 @@ default: /root/.ssh/id_rsa description: 'SSH key to be used' - parameter: + name: 'ool-virtual1-defaults' + parameters: + - 'ool-defaults': + default-slave: 'ool-virtual1' +- parameter: + name: 'ool-virtual2-defaults' + parameters: + - 'ool-defaults': + default-slave: 'ool-virtual2' +- parameter: + name: 'ool-virtual3-defaults' + parameters: + - 'ool-defaults': + default-slave: 'ool-virtual3' +- parameter: name: 'multisite-virtual-defaults' parameters: - label: @@ -708,6 +738,26 @@ default: https://git.opendaylight.org/gerrit/p/$PROJECT.git description: 'Git URL to use on this Jenkins Slave' - parameter: + name: 'ericsson-virtual12-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'ericsson-virtual12' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' +- parameter: + name: 'ericsson-virtual13-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'ericsson-virtual13' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' +- parameter: name: 'odl-netvirt-virtual-defaults' parameters: - label: diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml index 8184b6343..4c106fc5c 100644 --- a/jjb/infra/bifrost-verify-jobs.yml +++ b/jjb/infra/bifrost-verify-jobs.yml @@ -38,9 +38,6 @@ dib-os-element: 'opensuse-minimal' dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl' extra-dib-elements: 'openssh-server' - vm-disk: '30' - vm-memory: '4096' - vm-cpu: '2' #-------------------------------- # type #-------------------------------- @@ -57,9 +54,9 @@ #-------------------------------- - defaults: name: vm_defaults - vm-disk: '100' - vm-memory: '8192' - vm-cpu: '4' + vm-disk: '30' + vm-memory: '4096' + vm-cpu: '2' #-------------------------------- # job templates @@ -74,6 +71,7 @@ concurrent: false properties: + - logrotate-default - build-blocker: use-build-blocker: true blocking-jobs: @@ -201,8 +199,6 @@ file-paths: - compare-type: ANT pattern: 'prototypes/bifrost/**' - - compare-type: ANT - pattern: 'jjb/infra/**' readable-message: true #--------------------------- diff --git a/jjb/infra/bifrost-verify.sh b/jjb/infra/bifrost-verify.sh index dbe39762c..94c7dacfa 100755 --- a/jjb/infra/bifrost-verify.sh +++ b/jjb/infra/bifrost-verify.sh @@ -17,44 +17,55 @@ function upload_logs() { BIFROST_CONSOLE_LOG="${BUILD_URL}/consoleText" BIFROST_GS_URL=${BIFROST_LOG_URL/http:/gs:} - echo "Uploading build logs to ${BIFROST_LOG_URL}" - - echo "Uploading console output" - curl -s -L ${BIFROST_CONSOLE_LOG} > ${WORKSPACE}/build_log.txt - gsutil -q cp -Z ${WORKSPACE}/build_log.txt ${BIFROST_GS_URL}/build_log.txt - rm ${WORKSPACE}/build_log.txt - - [[ ! -d ${WORKSPACE}/logs ]] && exit 0 - - pushd ${WORKSPACE}/logs/ &> /dev/null - for x in *.log; do - echo "Compressing and uploading $x" - gsutil -q cp -Z ${x} ${BIFROST_GS_URL}/${x} - done + # Make sure the old landing page is gone in case + # we break later on. We don't want to publish + # stale information. + # TODO: Maybe cleanup the entire $BIFROST_GS_URL directory + # before we upload the new data. + gsutil -q rm ${BIFROST_GS_URL}/index.html || true + + if [[ -d ${WORKSPACE}/logs ]]; then + echo "Uploading collected bifrost logs to ${BIFROST_LOG_URL}" + pushd ${WORKSPACE}/logs &> /dev/null + for x in *.log; do + echo "Compressing and uploading $x" + gsutil -q cp -Z ${x} ${BIFROST_GS_URL}/${x} + done + popd &> /dev/null + fi echo "Generating the landing page" - cat > index.html <<EOF + cat > ${WORKSPACE}/index.html <<EOF <html> <h1>Build results for <a href=https://$GERRIT_NAME/#/c/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER>$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER</a></h1> -<h2>Job: $JOB_NAME</h2> +<h2>Job: <a href=${BUILD_URL}>$JOB_NAME</a></h2> <ul> <li><a href=${BIFROST_LOG_URL}/build_log.txt>build_log.txt</a></li> EOF - for x in *.log; do - echo "<li><a href=${BIFROST_LOG_URL}/${x}>${x}</a></li>" >> index.html - done + if [[ -d ${WORKSPACE}/logs ]]; then + pushd ${WORKSPACE}/logs &> /dev/null + for x in *.log; do + echo "<li><a href=${BIFROST_LOG_URL}/${x}>${x}</a></li>" >> ${WORKSPACE}/index.html + done + popd &> /dev/null + fi - cat >> index.html << EOF + cat >> ${WORKSPACE}/index.html << EOF </ul> </html> EOF - gsutil -q cp index.html ${BIFROST_GS_URL}/index.html - - rm index.html + # Finally, download and upload the entire build log so we can retain + # as much build information as possible + echo "Uploading console output" + curl -s -L ${BIFROST_CONSOLE_LOG} > ${WORKSPACE}/build_log.txt + gsutil -q cp -Z ${WORKSPACE}/build_log.txt ${BIFROST_GS_URL}/build_log.txt + rm ${WORKSPACE}/build_log.txt - popd &> /dev/null + # Upload landing page + gsutil -q cp ${WORKSPACE}/index.html ${BIFROST_GS_URL}/index.html + rm ${WORKSPACE}/index.html } function fix_ownership() { diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml index 91fcc8814..ad1a76f0a 100644 --- a/jjb/joid/joid-daily-jobs.yml +++ b/jjb/joid/joid-daily-jobs.yml @@ -72,6 +72,10 @@ auto-trigger-name: 'daily-trigger-disabled' - 'os-ocl-nofeature-noha': auto-trigger-name: 'daily-trigger-disabled' + - 'k8-nosdn-nofeature-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'k8-nosdn-lb-noha': + auto-trigger-name: 'daily-trigger-disabled' jobs: - 'joid-{scenario}-{pod}-daily-{stream}' @@ -88,6 +92,7 @@ concurrent: false properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -157,6 +162,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -395,3 +401,55 @@ name: 'joid-os-nosdn-nofeature-noha-orange-pod1-danube-trigger' triggers: - timed: '' +# k8-nosdn-nofeature-noha trigger - branch: master +- trigger: + name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger' + triggers: + - timed: '5 15 * * *' +- trigger: + name: 'joid-k8-nosdn-nofeature-noha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-k8-nosdn-nofeature-noha-orange-pod1-master-trigger' + triggers: + - timed: '' +# k8-nosdn-nofeature-noha trigger - branch: danube +- trigger: + name: 'joid-k8-nosdn-nofeature-noha-baremetal-danube-trigger' + triggers: + - timed: '0 15 * * *' +- trigger: + name: 'joid-k8-nosdn-nofeature-noha-virtual-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-k8-nosdn-nofeature-noha-orange-pod1-danube-trigger' + triggers: + - timed: '' +# k8-nosdn-lb-noha trigger - branch: master +- trigger: + name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger' + triggers: + - timed: '5 20 * * *' +- trigger: + name: 'joid-k8-nosdn-lb-noha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-k8-nosdn-lb-noha-orange-pod1-master-trigger' + triggers: + - timed: '' +# k8-nosdn-lb-noha trigger - branch: danube +- trigger: + name: 'joid-k8-nosdn-lb-noha-baremetal-danube-trigger' + triggers: + - timed: '0 20 * * *' +- trigger: + name: 'joid-k8-nosdn-lb-noha-virtual-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-k8-nosdn-lb-noha-orange-pod1-danube-trigger' + triggers: + - timed: '' diff --git a/jjb/joid/joid-deploy.sh b/jjb/joid/joid-deploy.sh index 05c2de1fc..e197dbd8c 100644 --- a/jjb/joid/joid-deploy.sh +++ b/jjb/joid/joid-deploy.sh @@ -45,17 +45,24 @@ export POD_NAME=${POD/-} ## cd $WORKSPACE/ci -if [ -e "$LAB_CONFIG/environments.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then + +if [ -e "$LAB_CONFIG/deployconfig.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then echo "------ Recover Juju environment to use MAAS ------" - cp $LAB_CONFIG/environments.yaml . - cp $LAB_CONFIG/deployment.yaml . - if [ -e $LAB_CONFIG/deployconfig.yaml ]; then + if [ ! -e deployconfig.yaml ]; then cp $LAB_CONFIG/deployconfig.yaml . + cp $LAB_CONFIG/deployment.yaml . + cp $LAB_CONFIG/labconfig.yaml . fi else - echo "------ Redeploy MAAS ------" - ./00-maasdeploy.sh $POD_NAME - exit_on_error $? "MAAS Deploy FAILED" + if ["$NODE_NAME" == "default" ]; then + echo "------ Redeploy MAAS ------" + ./03-maasdeploy.sh default + exit_on_error $? "MAAS Deploy FAILED" + else + echo "------ Redeploy MAAS ------" + ./03-maasdeploy.sh custom $LAB_CONFIG/labconfig.yaml + exit_on_error $? "MAAS Deploy FAILED" + fi fi ## @@ -64,8 +71,9 @@ fi # Based on scenario naming we can get joid options # naming convention: -# os-<controller>-<nfvfeature>-<mode>[-<extrastuff>] +# <model>-<controller>-<nfvfeature>-<mode>[-<extrastuff>] # With parameters: +# model=(os|k8) # controller=(nosdn|odl_l3|odl_l2|onos|ocl) # No odl_l3 today # nfvfeature=(kvm|ovs|dpdk|nofeature) @@ -77,6 +85,7 @@ fi IFS='-' read -r -a DEPLOY_OPTIONS <<< "${DEPLOY_SCENARIO}--" #last -- need to avoid nounset error +JOID_MODEL=${DEPLOY_OPTIONS[0]} SDN_CONTROLLER=${DEPLOY_OPTIONS[1]} NFV_FEATURES=${DEPLOY_OPTIONS[2]} HA_MODE=${DEPLOY_OPTIONS[3]} @@ -103,49 +112,47 @@ fi ## Configure Joid deployment ## -echo "------ Deploy with juju ------" -echo "Execute: ./deploy.sh -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES" +if [ "$JOID_MODEL" == 'k8' ]; then + echo "------ Deploy with juju ------" + echo "Execute: ./deploy.sh -m $JOID_MODEL -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES" -./deploy.sh -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES -exit_on_error $? "Main deploy FAILED" + ./deploy.sh -m kubernetes -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES + exit_on_error $? "Main deploy FAILED" +fi ## ## Set Admin RC ## -JOID_ADMIN_OPENRC=$LAB_CONFIG/admin-openrc -echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------" - -# get controller IP -case "$SDN_CONTROLLER" in - "odl") - SDN_CONTROLLER_IP=$(juju status odl-controller/0 |grep public-address|sed -- 's/.*\: //') - ;; - "onos") - SDN_CONTROLLER_IP=$(juju status onos-controller/0 |grep public-address|sed -- 's/.*\: //') - ;; - *) - SDN_CONTROLLER_IP='none' - ;; -esac -SDN_PASSWORD='admin' - -# export the openrc file by getting the one generated by joid and add SDN -# controller for Functest -cp ./cloud/admin-openrc $JOID_ADMIN_OPENRC -cat << EOF >> $JOID_ADMIN_OPENRC -export SDN_CONTROLLER=$SDN_CONTROLLER_IP -export SDN_PASSWORD=$SDN_PASSWORD -EOF - -## -## Backup local juju env -## +if [ "$JOID_MODEL" == 'os' ]; then + echo "------ Deploy with juju ------" + echo "Execute: ./deploy.sh -m $JOID_MODEL -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES" + + ./deploy.sh -m openstack -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES + exit_on_error $? "Main deploy FAILED" + + JOID_ADMIN_OPENRC=$LAB_CONFIG/admin-openrc + echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------" + + # get controller IP + case "$SDN_CONTROLLER" in + "odl") + SDN_CONTROLLER_IP=$(juju status odl-controller/0 |grep public-address|sed -- 's/.*\: //') + ;; + "onos") + SDN_CONTROLLER_IP=$(juju status onos-controller/0 |grep public-address|sed -- 's/.*\: //') + ;; + *) + SDN_CONTROLLER_IP='none' + ;; + esac + SDN_PASSWORD='admin' + + # export the openrc file by getting the one generated by joid and add SDN + # controller for Functest + # cp ./cloud/admin-openrc $JOID_ADMIN_OPENRC + echo export SDN_CONTROLLER=$SDN_CONTROLLER_IP >> $JOID_ADMIN_OPENRC + echo export SDN_PASSWORD=$SDN_PASSWORD >> $JOID_ADMIN_OPENRC -echo "------ Backup Juju environment ------" -cp environments.yaml $LAB_CONFIG/ -cp deployment.yaml $LAB_CONFIG/ -if [ -e deployconfig.yaml ]; then - cp deployconfig.yaml $LAB_CONFIG fi ## diff --git a/jjb/joid/joid-verify-jobs.yml b/jjb/joid/joid-verify-jobs.yml index 6e821a502..23e21e95b 100644 --- a/jjb/joid/joid-verify-jobs.yml +++ b/jjb/joid/joid-verify-jobs.yml @@ -45,6 +45,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -150,6 +151,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml index 60f8de8c4..fdce301a4 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yml @@ -48,6 +48,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 3 diff --git a/jjb/multisite/fuel-deploy-for-multisite.sh b/jjb/multisite/fuel-deploy-for-multisite.sh new file mode 100755 index 000000000..fab9ace84 --- /dev/null +++ b/jjb/multisite/fuel-deploy-for-multisite.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o nounset +set -o pipefail + +# do not continue with the deployment if FRESH_INSTALL is not requested +if [[ "$FRESH_INSTALL" == "true" ]]; then + echo "Fresh install requested. Proceeding with the installation." +else + echo "Fresh install is not requested. Skipping the installation." + exit 0 +fi + +export TERM="vt220" + +# get the latest successful job console log and extract the properties filename +FUEL_DEPLOY_BUILD_URL="https://build.opnfv.org/ci/job/fuel-deploy-virtual-daily-master/lastSuccessfulBuild/consoleText" +FUEL_PROPERTIES_FILE=$(curl -s -L ${FUEL_DEPLOY_URL} | grep 'ISO:' | awk '{print $2}' | sed 's/iso/properties/g') +if [[ -z "FUEL_PROPERTIES_FILE" ]]; then + echo "Unable to extract the url to Fuel ISO properties from ${FUEL_DEPLOY_URL}" + exit 1 +fi +curl -L -s -o $WORKSPACE/latest.properties http://artifacts.opnfv.org/fuel/$FUEL_PROPERTIES_FILE + +# source the file so we get OPNFV vars +source latest.properties + +# echo the info about artifact that is used during the deployment +echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment" + +# download the iso +echo "Downloading the ISO using the link http://$OPNFV_ARTIFACT_URL" +curl -L -s -o $WORKSPACE/opnfv.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1 + +echo "Checking out $OPNFV_GIT_SHA1" +git checkout $OPNFV_GIT_SHA1 --quiet + +# set deployment parameters +DEPLOY_SCENARIO="os-nosdn-nofeature-noha" +export TMPDIR=$HOME/tmpdir +BRIDGE=${BRIDGE:-pxebr} +LAB_NAME=${NODE_NAME/-*} +POD_NAME=${NODE_NAME/*-} + +if [[ "$NODE_NAME" =~ "virtual" ]]; then + POD_NAME="virtual_kvm" +fi + +# we currently support ericsson, intel, lf and zte labs +if [[ ! "$LAB_NAME" =~ (ericsson|intel|lf|zte) ]]; then + echo "Unsupported/unidentified lab $LAB_NAME. Cannot continue!" + exit 1 +else + echo "Using configuration for $LAB_NAME" +fi + +# create TMPDIR if it doesn't exist +export TMPDIR=$HOME/tmpdir +mkdir -p $TMPDIR + +# change permissions down to TMPDIR +chmod a+x $HOME +chmod a+x $TMPDIR + +# clone the securedlab repo +cd $WORKSPACE +echo "Cloning securedlab repo ${GIT_BRANCH##origin/}" +git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab --quiet \ + --branch ${GIT_BRANCH##origin/} + +# log file name +FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz" + +# construct the command +DEPLOY_COMMAND="sudo $WORKSPACE/ci/deploy.sh -b file://$WORKSPACE/securedlab \ + -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso \ + -H -B $BRIDGE -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME" + +# log info to console +echo "Deployment parameters" +echo "--------------------------------------------------------" +echo "Scenario: $DEPLOY_SCENARIO" +echo "Lab: $LAB_NAME" +echo "POD: $POD_NAME" +echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}" +echo +echo "Starting the deployment using $INSTALLER_TYPE. This could take some time..." +echo "--------------------------------------------------------" +echo + +# start the deployment +echo "Issuing command" +echo "$DEPLOY_COMMAND" +echo + +$DEPLOY_COMMAND +exit_code=$? + +echo +echo "--------------------------------------------------------" +echo "Deployment is done!" + +if [[ $exit_code -ne 0 ]]; then + echo "Deployment failed!" + exit $exit_code +else + echo "Deployment is successful!" + exit 0 +fi diff --git a/jjb/multisite/multisite-daily-jobs.yml b/jjb/multisite/multisite-daily-jobs.yml index cfb40a1fa..f2b287169 100644 --- a/jjb/multisite/multisite-daily-jobs.yml +++ b/jjb/multisite/multisite-daily-jobs.yml @@ -8,12 +8,16 @@ - 'multisite-{phase}-{stream}' phase: - - 'fuel-deploy-regionone-virtual' - - 'fuel-deploy-regiontwo-virtual' - - 'register-endpoints' - - 'update-auth' - - 'kingbird-deploy-virtual' - - 'kingbird-functest' + - 'fuel-deploy-regionone-virtual': + slave-label: ericsson-virtual12 + - 'fuel-deploy-regiontwo-virtual': + slave-label: ericsson-virtual13 + - 'register-endpoints': + slave-label: ericsson-virtual12 + - 'update-auth': + slave-label: ericsson-virtual13 + - 'kingbird-deploy-virtual': + slave-label: ericsson-virtual12 stream: - master: @@ -34,13 +38,15 @@ parameters: - project-parameter: project: '{project}' + - choice: + name: FRESH_INSTALL + choices: + - 'true' + - 'false' - string: name: KINGBIRD_LOG_FILE default: $WORKSPACE/kingbird.log - - 'multisite-virtual-defaults' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-multisite-noha' + - 'opnfv-build-defaults' triggers: - timed: '{timed}' @@ -56,26 +62,28 @@ current-parameters: false predefined-parameters: | FUEL_VERSION=latest - DEPLOY_SCENARIO=$DEPLOY_SCENARIO + DEPLOY_SCENARIO=os-nosdn-nofeature-noha OS_REGION=RegionOne - REGIONONE_IP=10.2.117.79 - REGIONTWO_IP=10.2.117.181 + REGIONONE_IP=100.64.209.10 + REGIONTWO_IP=100.64.209.11 + FRESH_INSTALL=$FRESH_INSTALL node-parameters: false node-label-name: SLAVE_LABEL - node-label: intel-virtual2 + node-label: ericsson-virtual12 kill-phase-on: FAILURE abort-all-job: true - name: 'multisite-fuel-deploy-regiontwo-virtual-{stream}' current-parameters: false predefined-parameters: | FUEL_VERSION=latest - DEPLOY_SCENARIO=$DEPLOY_SCENARIO + DEPLOY_SCENARIO=os-nosdn-nofeature-noha OS_REGION=RegionTwo - REGIONONE_IP=10.2.117.79 - REGIONTWO_IP=10.2.117.181 + REGIONONE_IP=100.64.209.10 + REGIONTWO_IP=100.64.209.11 + FRESH_INSTALL=$FRESH_INSTALL node-parameters: false node-label-name: SLAVE_LABEL - node-label: intel-virtual6 + node-label: ericsson-virtual13 kill-phase-on: FAILURE abort-all-job: true - multijob: @@ -86,22 +94,24 @@ current-parameters: false predefined-parameters: | OS_REGION=RegionOne - REGIONONE_IP=10.2.117.79 - REGIONTWO_IP=10.2.117.181 + REGIONONE_IP=100.64.209.10 + REGIONTWO_IP=100.64.209.11 + FRESH_INSTALL=$FRESH_INSTALL node-parameters: false node-label-name: SLAVE_LABEL - node-label: intel-virtual2 + node-label: ericsson-virtual12 kill-phase-on: FAILURE abort-all-job: true - name: 'multisite-update-auth-{stream}' current-parameters: false predefined-parameters: | OS_REGION=RegionTwo - REGIONONE_IP=10.2.117.79 - REGIONTWO_IP=10.2.117.181 + REGIONONE_IP=100.64.209.10 + REGIONTWO_IP=100.64.209.11 + FRESH_INSTALL=$FRESH_INSTALL node-parameters: false node-label-name: SLAVE_LABEL - node-label: intel-virtual6 + node-label: ericsson-virtual13 kill-phase-on: FAILURE abort-all-job: true - multijob: @@ -112,26 +122,30 @@ current-parameters: false predefined-parameters: | OS_REGION=RegionOne - REGIONONE_IP=10.2.117.79 - REGIONTWO_IP=10.2.117.181 + REGIONONE_IP=100.64.209.10 + REGIONTWO_IP=100.64.209.11 + FRESH_INSTALL=$FRESH_INSTALL node-parameters: false node-label-name: SLAVE_LABEL - node-label: intel-virtual2 + node-label: ericsson-virtual12 kill-phase-on: FAILURE abort-all-job: true - multijob: name: kingbird-functest condition: SUCCESSFUL projects: - - name: 'multisite-kingbird-functest-{stream}' + - name: 'functest-fuel-virtual-suite-{stream}' current-parameters: false predefined-parameters: | + DEPLOY_SCENARIO='os-nosdn-multisite-noha' + FUNCTEST_SUITE_NAME='multisite' OS_REGION=RegionOne - REGIONONE_IP=10.2.117.79 - REGIONTWO_IP=10.2.117.181 + REGIONONE_IP=100.64.209.10 + REGIONTWO_IP=100.64.209.11 + FRESH_INSTALL=$FRESH_INSTALL node-parameters: false node-label-name: SLAVE_LABEL - node-label: intel-virtual2 + node-label: ericsson-virtual12 kill-phase-on: NEVER abort-all-job: false @@ -140,6 +154,29 @@ concurrent: false + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - project-parameter: + project: '{project}' + - string: + name: KINGBIRD_LOG_FILE + default: $WORKSPACE/kingbird.log + - gerrit-parameter: + branch: '{branch}' + - 'fuel-defaults' + - '{slave-label}-defaults' + - choice: + name: FRESH_INSTALL + choices: + - 'true' + - 'false' + + scm: + - git-scm + builders: - description-setter: description: "Built on $NODE_NAME" @@ -155,39 +192,57 @@ - builder: name: 'multisite-fuel-deploy-regionone-virtual-builder' builders: + - shell: + !include-raw-escape: ./fuel-deploy-for-multisite.sh - shell: | #!/bin/bash echo "This is where we deploy fuel, extract passwords and save into file" + + cd $WORKSPACE/tools/keystone/ + ./run.sh -t controller -r fetchpass.sh -o servicepass.ini + - builder: name: 'multisite-fuel-deploy-regiontwo-virtual-builder' builders: + - shell: + !include-raw-escape: ./fuel-deploy-for-multisite.sh - shell: | #!/bin/bash echo "This is where we deploy fuel, extract publicUrl, privateUrl, and adminUrl and save into file" + + cd $WORKSPACE/tools/keystone/ + ./run.sh -t controller -r endpoint.sh -o endpoints.ini - builder: name: 'multisite-register-endpoints-builder' builders: - copyartifact: project: 'multisite-fuel-deploy-regiontwo-virtual-{stream}' which-build: multijob-build - filter: "RegionTwo-Endpoints.txt" + filter: "endpoints.ini" - shell: | #!/bin/bash - echo "This is where we register RegionTwo in RegionOne keystone" + echo "This is where we register RegionTwo in RegionOne keystone using endpoints.ini" + + cd $WORKSPACE/tools/keystone/ + ./run.sh -t controller -r region.sh -d $WORKSPACE/endpoints.ini - builder: name: 'multisite-update-auth-builder' builders: - copyartifact: project: 'multisite-fuel-deploy-regionone-virtual-{stream}' which-build: multijob-build - filter: "RegionOne-Passwords.txt" + filter: "servicepass.ini" - shell: | #!/bin/bash - echo "This is where we read passwords from RegionOne-passwords.txt and replace passwords in RegionTwo" + echo "This is where we read passwords from servicepass.ini and replace passwords in RegionTwo" + + cd $WORKSPACE/tools/keystone/ + ./run.sh -t controller -r writepass.sh -d $WORKSPACE/servicepass.ini + ./run.sh -t compute -r writepass.sh -d $WORKSPACE/servicepass.ini - builder: name: 'multisite-kingbird-deploy-virtual-builder' builders: @@ -195,13 +250,7 @@ #!/bin/bash echo "This is where we install kingbird" -- builder: - name: 'multisite-kingbird-functest-builder' - builders: - - shell: | - #!/bin/bash - - echo "This is where we run kingbird-functest" + $WORKSPACE/tools/kingbird/deploy.sh ######################## # publisher macros ######################## @@ -209,7 +258,7 @@ name: 'multisite-fuel-deploy-regionone-virtual-publisher' publishers: - archive: - artifacts: '/root/servicepass.ini' + artifacts: 'servicepass.ini' allow-empty: false only-if-success: true fingerprint: true @@ -217,7 +266,7 @@ name: 'multisite-fuel-deploy-regiontwo-virtual-publisher' publishers: - archive: - artifacts: '/root/endpoints.ini' + artifacts: 'endpoints.ini' allow-empty: false only-if-success: true fingerprint: true diff --git a/jjb/multisite/multisite-verify-jobs.yml b/jjb/multisite/multisite-verify-jobs.yml new file mode 100644 index 000000000..fdcc8d539 --- /dev/null +++ b/jjb/multisite/multisite-verify-jobs.yml @@ -0,0 +1,69 @@ +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: multisite + + project: '{name}' + + jobs: + - 'multisite-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + timed: '@midnight' + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: true + timed: '' + +- job-template: + name: 'multisite-verify-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + 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: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + + builders: + - shell: | + #!/bin/bash + + echo "Hello World" diff --git a/jjb/multisite/multisite.yml b/jjb/multisite/multisite.yml deleted file mode 100644 index 6b6406983..000000000 --- a/jjb/multisite/multisite.yml +++ /dev/null @@ -1,149 +0,0 @@ -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: multisite - - project: '{name}' - - jobs: - - 'multisite-verify-{stream}' - - 'multisite-kingbird-daily-{stream}' - - 'multisite-kingbird-deploy-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - timed: '@midnight' - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - timed: '' - -- job-template: - name: 'multisite-verify-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - 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: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - - builders: - - shell: | - #!/bin/bash - - echo "Hello World" - -- job-template: - name: 'multisite-kingbird-daily-{stream}' - - project-type: freestyle - - disabled: '{obj:disabled}' - - concurrent: false - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - string: - name: KINGBIRD_LOG_FILE - default: $WORKSPACE/kingbird.log - - 'intel-virtual6-defaults' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-multisite-ha' - - scm: - - git-scm - - triggers: - - timed: '{timed}' - - builders: - - trigger-builds: - - project: 'multisite-kingbird-deploy-{stream}' - current-parameters: true - same-node: true - block: true - - trigger-builds: - - project: 'functest-fuel-virtual-suite-{stream}' - current-parameters: true - predefined-parameters: - FUNCTEST_SUITE_NAME=multisite - same-node: true - block: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - -- job-template: - name: 'multisite-kingbird-deploy-{stream}' - - concurrent: false - - scm: - - git-scm-gerrit - - builders: - - 'multisite-kingbird-deploy' - - 'multisite-kingbird-log-upload' - -######################## -# builder macros -######################## -- builder: - name: 'multisite-kingbird-deploy' - builders: - - shell: | - #!/bin/bash - - $WORKSPACE/tools/kingbird/deploy.sh -- builder: - name: 'multisite-kingbird-log-upload' - builders: - - shell: | - #!/bin/bash - - echo "Here is where we upload kingbird logs to artifact repo" - echo "We just check the existence of log file" - ls -al $KINGBIRD_LOG_FILE diff --git a/jjb/opera/opera-daily-jobs.yml b/jjb/opera/opera-daily-jobs.yml index 556d59fcb..b0755446e 100644 --- a/jjb/opera/opera-daily-jobs.yml +++ b/jjb/opera/opera-daily-jobs.yml @@ -38,6 +38,7 @@ concurrent: false properties: + - logrotate-default - throttle: enabled: true max-total: 1 @@ -62,7 +63,9 @@ project: '{project}' - gerrit-parameter: branch: '{branch}' - - 'huawei-pod7-defaults' + - 'huawei-virtual7-defaults' + - 'compass-defaults' + - 'opera-compass-parameter' builders: - description-setter: @@ -80,7 +83,7 @@ name: deploy condition: SUCCESSFUL projects: - - name: 'opera-daily-deploy-{stream}' + - name: 'compass-deploy-virtual-daily-{stream}' current-parameters: true node-parameters: true kill-phase-on: FAILURE @@ -105,6 +108,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 @@ -141,3 +145,27 @@ #!/bin/bash echo "Hello world!" +######################## +# parameter macros +######################## +- parameter: + name: opera-compass-parameter + parameters: + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "URL to Google Storage." + - choice: + name: COMPASS_OPENSTACK_VERSION + choices: + - 'newton' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-openo-noha' + - string: + name: COMPASS_OS_VERSION + default: 'xenial' diff --git a/jjb/opera/opera-project-jobs.yml b/jjb/opera/opera-project-jobs.yml index 19f066b5f..19c9a881e 100644 --- a/jjb/opera/opera-project-jobs.yml +++ b/jjb/opera/opera-project-jobs.yml @@ -21,6 +21,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 1 diff --git a/jjb/opera/opera-verify-jobs.yml b/jjb/opera/opera-verify-jobs.yml index 0e9dba01d..d936cde9b 100644 --- a/jjb/opera/opera-verify-jobs.yml +++ b/jjb/opera/opera-verify-jobs.yml @@ -38,6 +38,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 1 @@ -117,6 +118,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml index 0d4c46199..cf7bae5b3 100644 --- a/jjb/opnfvdocs/opnfvdocs.yml +++ b/jjb/opnfvdocs/opnfvdocs.yml @@ -87,7 +87,7 @@ description: "Directory where the build artifact will be located upon the completion of the build." scm: - - git-scm-gerrit + - git-scm triggers: - gerrit: diff --git a/jjb/qtip/qtip-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml index 69cb32b41..b83014edb 100644 --- a/jjb/qtip/qtip-ci-jobs.yml +++ b/jjb/qtip/qtip-ci-jobs.yml @@ -39,7 +39,7 @@ - job-template: name: 'qtip-{installer}-{pod}-daily-{stream}' - disabled: true + disabled: false parameters: - project-parameter: diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml index 02dfb7560..87b03626e 100644 --- a/jjb/releng/opnfv-docker.yml +++ b/jjb/releng/opnfv-docker.yml @@ -14,32 +14,51 @@ stream: danube branch: 'stable/{stream}' disabled: true + functest-receivers: &functest-receivers + receivers: > + jose.lausuch@ericsson.com morgan.richomme@orange.com + cedric.ollivier@orange.com feng.xiaowei@zte.com.cn + yaohelan@huawei.com helanyao@gmail.com + juha.kosonen@nokia.com + other-receivers: &other-receivers + receivers: '' project: # projects with jobs for master - 'bottlenecks': <<: *master + <<: *other-receivers - 'cperf': <<: *master + <<: *other-receivers - 'dovetail': <<: *master + <<: *other-receivers - 'functest': <<: *master + <<: *functest-receivers - 'qtip': <<: *master + <<: *other-receivers - 'storperf': <<: *master + <<: *other-receivers - 'yardstick': <<: *master + <<: *other-receivers # projects with jobs for stable - 'bottlenecks': <<: *danube + <<: *other-receivers - 'functest': <<: *danube + <<: *functest-receivers - 'storperf': <<: *danube + <<: *other-receivers - 'yardstick': <<: *danube + <<: *other-receivers jobs: - '{project}-docker-build-push-{stream}' @@ -95,6 +114,10 @@ - pollscm: cron: "*/30 * * * *" + publishers: + - email: + recipients: '{receivers}' + - job-template: name: '{project}-docker-build-push-monitor-{stream}' disabled: '{obj:disabled}' diff --git a/jjb/releng/opnfv-docs.yml b/jjb/releng/opnfv-docs.yml index f6092eee0..6224ca989 100644 --- a/jjb/releng/opnfv-docs.yml +++ b/jjb/releng/opnfv-docs.yml @@ -89,7 +89,7 @@ description: "JJB configured GERRIT_REFSPEC parameter" scm: - - git-scm-gerrit + - git-scm triggers: - gerrit: diff --git a/jjb/releng/testapi-automate.yml b/jjb/releng/testapi-automate.yml index c03835279..8332f5bb4 100644 --- a/jjb/releng/testapi-automate.yml +++ b/jjb/releng/testapi-automate.yml @@ -10,6 +10,20 @@ project: 'releng' +- job: + name: 'testapi-mongodb-backup' + + slave-label: 'testresults' + + scm: + - git-scm + + triggers: + - timed: '@weekly' + + builders: + - mongodb-backup + - job-template: name: 'testapi-verify-{stream}' @@ -21,7 +35,7 @@ - 'opnfv-build-ubuntu-defaults' scm: - - git-scm + - git-scm-gerrit triggers: - gerrit: @@ -44,11 +58,30 @@ branch-pattern: '**/{branch}' file-paths: - compare-type: 'ANT' - pattern: 'utils/**' + pattern: 'utils/test/testapi/**' builders: - run-unit-tests + publishers: + - junit: + results: nosetests.xml + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + health-auto-update: "false" + stability-auto-update: "false" + zoom-coverage-chart: "true" + targets: + - files: + healthy: 10 + unhealthy: 20 + failing: 30 + - method: + healthy: 50 + unhealthy: 40 + failing: 30 + - job-template: name: 'testapi-automate-{stream}' @@ -85,32 +118,29 @@ builders: - docker-update - - start-testapi-server - testapi-doc-build - upload-doc-artifact - - clean-testapi-server ################################ # job builders ################################ - - builder: - name: run-unit-tests + name: mongodb-backup builders: - shell: | - bash ./jjb/releng/testapi-run-tests.sh + bash ./jjb/releng/testapi-backup-mongodb.sh - builder: - name: docker-update + name: run-unit-tests builders: - shell: | - bash ./jjb/releng/testapi-docker-update.sh + bash ./utils/test/testapi/run_test.sh - builder: - name: start-testapi-server + name: docker-update builders: - shell: | - bash ./utils/test/testapi/htmlize/prepare.sh + bash ./jjb/releng/testapi-docker-update.sh - builder: name: testapi-doc-build @@ -123,9 +153,3 @@ builders: - shell: | bash ./utils/test/testapi/htmlize/push-doc-artifact.sh - -- builder: - name: clean-testapi-server - builders: - - shell: | - bash ./utils/test/testapi/htmlize/finish.sh diff --git a/jjb/releng/testapi-backup-mongodb.sh b/jjb/releng/testapi-backup-mongodb.sh new file mode 100644 index 000000000..52957ab12 --- /dev/null +++ b/jjb/releng/testapi-backup-mongodb.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -e + +# Run MongoDB backup +python $WORKSPACE/utils/test/testapi/update/templates/backup_mongodb.py -o $WORKSPACE/ + +# Compressing the dump +now=$(date +"%m_%d_%Y_%H_%M_%S") +echo $now + +file_name="testapi_mongodb_"$now".tar.gz" +echo $file_name + +tar cvfz "$file_name" test_results_collection* + +rm -rf test_results_collection* + +artifact_dir="testapibackup" +workspace="$WORKSPACE" + +set +e +/usr/local/bin/gsutil &>/dev/null +if [ $? != 0 ]; then + echo "Not possible to push results to artifact: gsutil not installed" + exit 1 +else + echo "Uploading mongodump to artifact $artifact_dir" + /usr/local/bin/gsutil cp -r "$workspace"/"$file_name" gs://testingrohit/"$artifact_dir"/ + echo "MongoDump can be found at http://artifacts.opnfv.org/$artifact_dir" +fi diff --git a/jjb/releng/testapi-run-tests.sh b/jjb/releng/testapi-run-tests.sh deleted file mode 100644 index 47691ed04..000000000 --- a/jjb/releng/testapi-run-tests.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -set -o errexit - -echo "Running unit tests..." - -# Creating virtual environment -virtualenv $WORKSPACE/testapi_test_venv -source $WORKSPACE/testapi_test_venv/bin/activate - -cd $WORKSPACE/utils/test/testapi/ - -# Install requirements -pip install -r requirements.txt -pip install -r test-requirements.txt - -# Run unit tests -bash run_test.sh diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml index 4cfe5d98f..50937bbe0 100644 --- a/jjb/vswitchperf/vswitchperf.yml +++ b/jjb/vswitchperf/vswitchperf.yml @@ -62,6 +62,7 @@ concurrent: true properties: + - logrotate-default - build-blocker: use-build-blocker: true blocking-jobs: @@ -123,6 +124,7 @@ concurrent: true properties: + - logrotate-default - build-blocker: use-build-blocker: true blocking-jobs: diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index ed2dccab8..709592a89 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -220,6 +220,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml index a54750ef7..f32816495 100644 --- a/jjb/yardstick/yardstick-project-jobs.yml +++ b/jjb/yardstick/yardstick-project-jobs.yml @@ -116,7 +116,8 @@ source $WORKSPACE/yardstick_venv/bin/activate # install python packages - easy_install -U setuptools + sudo apt-get install -y build-essential python-dev python-pip python-pkg-resources + easy_install -U setuptools==33.1.1 easy_install -U pip pip install -r requirements.txt || pip install -r tests/ci/requirements.txt pip install -e . diff --git a/utils/fetch_os_creds.sh b/utils/fetch_os_creds.sh index 856f69a27..c1e21f316 100755 --- a/utils/fetch_os_creds.sh +++ b/utils/fetch_os_creds.sh @@ -121,6 +121,14 @@ if [ "$installer_type" == "fuel" ]; then # but sometimes the output of endpoint-list is like this: http://172.30.9.70:8004/v1/%(tenant_id)s # Fuel virtual need a fix + #convert to v3 URL + auth_url=$(cat $dest_path|grep AUTH_URL) + if [[ -z `echo $auth_url |grep v3` ]]; then + auth_url=$(echo $auth_url |sed "s|'$|v3&|") + fi + sed -i '/AUTH_URL/d' $dest_path + echo $auth_url >> $dest_path + elif [ "$installer_type" == "apex" ]; then verify_connectivity $installer_ip diff --git a/utils/jenkins-jnlp-connect.sh b/utils/jenkins-jnlp-connect.sh index be9fe184d..8fce2e021 100755 --- a/utils/jenkins-jnlp-connect.sh +++ b/utils/jenkins-jnlp-connect.sh @@ -92,13 +92,16 @@ main () { exit 1 fi + chown=$(type -p chown) + mkdir=$(type -p mkdir) + makemonit () { echo "Writing the following as monit config:" cat << EOF | tee $monitconfdir/jenkins check directory jenkins_piddir path /var/run/$jenkinsuser -if does not exist then exec "/usr/bin/mkdir -p /var/run/$jenkinsuser" -if failed uid $jenkinsuser then exec "/usr/bin/chown $jenkinsuser /var/run/$jenkinsuser" -if failed gid $jenkinsuser then exec "/usr/bin/chown :$jenkinsuser /var/run/$jenkinsuser" +if does not exist then exec "$mkdir -p /var/run/$jenkinsuser" +if failed uid $jenkinsuser then exec "$chown $jenkinsuser /var/run/$jenkinsuser" +if failed gid $jenkinsuser then exec "$chown :$jenkinsuser /var/run/$jenkinsuser" check process jenkins with pidfile /var/run/$jenkinsuser/jenkins_jnlp_pid start program = "/usr/bin/sudo -u $jenkinsuser /bin/bash -c 'cd $jenkinshome; export started_monit=true; $0 $@' with timeout 60 seconds" @@ -111,9 +114,9 @@ EOF #test for diff if [[ "$(diff $monitconfdir/jenkins <(echo "\ check directory jenkins_piddir path /var/run/$jenkinsuser -if does not exist then exec \"/usr/bin/mkdir -p /var/run/$jenkinsuser\" -if failed uid $jenkinsuser then exec \"/usr/bin/chown $jenkinsuser /var/run/$jenkinsuser\" -if failed gid $jenkinsuser then exec \"/usr/bin/chown :$jenkinsuser /var/run/$jenkinsuser\" +if does not exist then exec \"$mkdir -p /var/run/$jenkinsuser\" +if failed uid $jenkinsuser then exec \"$chown $jenkinsuser /var/run/$jenkinsuser\" +if failed gid $jenkinsuser then exec \"$chown :$jenkinsuser /var/run/$jenkinsuser\" check process jenkins with pidfile /var/run/$jenkinsuser/jenkins_jnlp_pid start program = \"/usr/bin/sudo -u $jenkinsuser /bin/bash -c 'cd $jenkinshome; export started_monit=true; $0 $@' with timeout 60 seconds\" diff --git a/utils/test/testapi/htmlize/doc-build.sh b/utils/test/testapi/htmlize/doc-build.sh index 427b4378b..33560ceea 100644 --- a/utils/test/testapi/htmlize/doc-build.sh +++ b/utils/test/testapi/htmlize/doc-build.sh @@ -3,8 +3,18 @@ set -o errexit # Create virtual environment +virtualenv $WORKSPACE/testapi_venv source $WORKSPACE/testapi_venv/bin/activate +# Swgger Codegen Tool +url="http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar" + +# Check for jar file locally and in the repo +if [ ! -f swagger-codegen-cli.jar ]; +then + wget http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar -O swagger-codegen-cli.jar +fi + # Install Pre-requistics pip install requests diff --git a/utils/test/testapi/htmlize/finish.sh b/utils/test/testapi/htmlize/finish.sh deleted file mode 100644 index dc3aa868b..000000000 --- a/utils/test/testapi/htmlize/finish.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -# Stop opnfv-testapi server -proc_number=`ps -ef | grep opnfv-testapi | grep -v grep | wc -l` - -if [ $proc_number -gt 0 ]; then - procs=`ps -ef | grep opnfv-testapi | grep -v grep` - echo "Kill opnfv-testapi server $procs" - ps -ef | grep opnfv-testapi | grep -v grep | awk '{print $2}' | xargs kill -kill &>/dev/null -fi diff --git a/utils/test/testapi/htmlize/htmlize.py b/utils/test/testapi/htmlize/htmlize.py index c07f98ecf..075e31f79 100644 --- a/utils/test/testapi/htmlize/htmlize.py +++ b/utils/test/testapi/htmlize/htmlize.py @@ -39,12 +39,12 @@ if __name__ == '__main__': parser.add_argument('-ru', '--resource-listing-url', type=str, required=False, - default='http://localhost:8000/swagger/spec.json', + default='http://testresults.opnfv.org/test/swagger/spec.json', help='Resource Listing Spec File') parser.add_argument('-au', '--api-declaration-url', type=str, required=False, - default='http://localhost:8000/swagger/spec', + default='http://testresults.opnfv.org/test/swagger/spec', help='API Declaration Spec File') parser.add_argument('-o', '--output-directory', required=True, diff --git a/utils/test/testapi/htmlize/prepare.sh b/utils/test/testapi/htmlize/prepare.sh deleted file mode 100644 index e79ac5693..000000000 --- a/utils/test/testapi/htmlize/prepare.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -#Creating virtual environment -virtualenv testapi_venv -source testapi_venv/bin/activate - -# Swgger Codegen Tool -url="http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar" - -#Check for jar file locally and in the repo -if [ ! -f swagger-codegen-cli.jar ]; -then - wget http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar -O swagger-codegen-cli.jar -fi - -# Start OPNFV Test API Server -cd utils/test/testapi/ -pip install -r requirements.txt -./install.sh -opnfv-testapi -c ../../../testapi_venv/etc/opnfv_testapi/config.ini & diff --git a/utils/test/testapi/run_test.sh b/utils/test/testapi/run_test.sh index 9b25f8ffc..51db09f65 100755 --- a/utils/test/testapi/run_test.sh +++ b/utils/test/testapi/run_test.sh @@ -1,10 +1,36 @@ -#! /bin/bash +#!/bin/bash -# Before run this script, make sure that testtools and discover -# had been installed in your env -# or else using pip to install them as follows: -# pip install testtools, discover +set -o errexit + +# Get script directory +SCRIPTDIR=`dirname $0` + +echo "Running unit tests..." + +# Creating virtual environment +virtualenv $SCRIPTDIR/testapi_venv +source $SCRIPTDIR/testapi_venv/bin/activate + +# Install requirements +pip install -r $SCRIPTDIR/requirements.txt +pip install coverage +pip install nose>=1.3.1 find . -type f -name "*.pyc" -delete -testrargs="discover ./opnfv_testapi/tests/unit" -python -m testtools.run $testrargs + +nosetests --with-xunit \ + --with-coverage \ + --cover-erase \ + --cover-package=$SCRIPTDIR/opnfv_testapi/cmd \ + --cover-package=$SCRIPTDIR/opnfv_testapi/common \ + --cover-package=$SCRIPTDIR/opnfv_testapi/resources \ + --cover-package=$SCRIPTDIR/opnfv_testapi/router \ + --cover-xml \ + --cover-html \ + $SCRIPTDIR/opnfv_testapi/tests + +exit_code=$? + +deactivate + +exit $exit_code diff --git a/utils/test/testapi/test-requirements.txt b/utils/test/testapi/test-requirements.txt deleted file mode 100644 index ddbdefcfd..000000000 --- a/utils/test/testapi/test-requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. - -testtools>=1.4.0 -discover -futures
\ No newline at end of file |