diff options
46 files changed, 291 insertions, 98 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..0e479cc08 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 diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 5c1bded4c..710a5f42c 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -93,6 +93,7 @@ - compare-type: ANT pattern: 'tests/**' properties: + - logrotate-default - throttle: max-per-node: 1 max-total: 10 @@ -154,6 +155,7 @@ pattern: 'config/**' properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -228,6 +230,7 @@ - git-scm properties: + - logrotate-default - build-blocker: use-build-blocker: true blocking-jobs: @@ -285,6 +288,7 @@ - git-scm properties: + - logrotate-default - build-blocker: use-build-blocker: false block-level: 'NODE' @@ -340,6 +344,7 @@ - git-scm properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -396,6 +401,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 +444,7 @@ description: "Scenario to deploy with." properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -476,6 +483,7 @@ gs-pathname: '{gs-pathname}' properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -588,6 +596,7 @@ - git-scm properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -632,6 +641,7 @@ description: "Scenario to deploy with." properties: + - logrotate-default - build-blocker: use-build-blocker: true block-level: 'NODE' @@ -670,6 +680,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/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 6ef5fbb67..f5a54c8d9 100644 --- a/jjb/compass4nfv/compass-verify-jobs.yml +++ b/jjb/compass4nfv/compass-verify-jobs.yml @@ -22,6 +22,10 @@ disabled: false os-version: 'xenial' openstack-os-version: '' + - 'centos7': + disabled: false + os-version: 'centos7' + openstack-os-version: '' ##################################### # patch verification phases ##################################### @@ -47,6 +51,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -159,6 +164,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 @@ -240,3 +246,4 @@ name: COMPASS_OS_VERSION choices: - 'xenial' + - 'centos7' 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..d84e46f3e 100644 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml @@ -43,6 +43,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -166,6 +167,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 6 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/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/escalator/escalator.yml b/jjb/escalator/escalator.yml index 4149ee93c..31e0c0004 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 diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml index cd22c1ac2..02fa9fbf4 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yml @@ -116,6 +116,7 @@ concurrent: false properties: + - logrotate-default - throttle: enabled: true max-total: 4 @@ -191,6 +192,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 4 diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml index 731b9bd0d..deab3ab21 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 @@ -146,6 +147,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-total: 2 @@ -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..8e957ebd9 100644 --- a/jjb/global/installer-params.yml +++ b/jjb/global/installer-params.yml @@ -66,6 +66,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)' 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..d43bed77a 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: diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml index 8184b6343..28e36aac6 100644 --- a/jjb/infra/bifrost-verify-jobs.yml +++ b/jjb/infra/bifrost-verify-jobs.yml @@ -74,6 +74,7 @@ concurrent: false properties: + - logrotate-default - build-blocker: use-build-blocker: true blocking-jobs: 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..88dbe2214 100644 --- a/jjb/joid/joid-deploy.sh +++ b/jjb/joid/joid-deploy.sh @@ -64,8 +64,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 +78,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 +105,60 @@ 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 + cat << EOF >> $JOID_ADMIN_OPENRC + export SDN_CONTROLLER=$SDN_CONTROLLER_IP + export SDN_PASSWORD=$SDN_PASSWORD + EOF + + ## + ## Backup local juju env + ## + + 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 -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/opera/opera-daily-jobs.yml b/jjb/opera/opera-daily-jobs.yml index 556d59fcb..76aeb741e 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 @@ -105,6 +106,7 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 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/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/testapi-automate.yml b/jjb/releng/testapi-automate.yml index be5062e92..24e9b8649 100644 --- a/jjb/releng/testapi-automate.yml +++ b/jjb/releng/testapi-automate.yml @@ -49,6 +49,25 @@ builders: - run-unit-tests + publishers: + - junit: + results: nosetests.xml + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + health-auto-update: "true" + stability-auto-update: "true" + 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}' @@ -96,7 +115,7 @@ name: run-unit-tests builders: - shell: | - bash ./jjb/releng/testapi-run-tests.sh + bash ./utils/test/testapi/run_test.sh - builder: name: docker-update 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/utils/test/testapi/opnfv_testapi/resources/handlers.py b/utils/test/testapi/opnfv_testapi/resources/handlers.py index 9fc5d6be1..5f6c3df57 100644 --- a/utils/test/testapi/opnfv_testapi/resources/handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/handlers.py @@ -228,7 +228,7 @@ class GenericApiHandler(RequestHandler): class VersionHandler(GenericApiHandler): - @swagger.operation(nickname='List all versions') + @swagger.operation(nickname='listAllVersions') def get(self): """ @description: list all supported versions diff --git a/utils/test/testapi/opnfv_testapi/resources/pod_handlers.py b/utils/test/testapi/opnfv_testapi/resources/pod_handlers.py index 631d4a91d..e1bd9d359 100644 --- a/utils/test/testapi/opnfv_testapi/resources/pod_handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/pod_handlers.py @@ -20,7 +20,7 @@ class GenericPodHandler(GenericApiHandler): class PodCLHandler(GenericPodHandler): - @swagger.operation(nickname='List all Pods') + @swagger.operation(nickname='listAllPods') def get(self): """ @description: list all pods @@ -29,7 +29,7 @@ class PodCLHandler(GenericPodHandler): """ self._list() - @swagger.operation(nickname='Create a Pod') + @swagger.operation(nickname='createPod') def post(self): """ @description: create a pod @@ -54,7 +54,7 @@ class PodCLHandler(GenericPodHandler): class PodGURHandler(GenericPodHandler): - @swagger.operation(nickname='Get a Pod by pod_name') + @swagger.operation(nickname='getPodByName') def get(self, pod_name): """ @description: get a single pod by pod_name diff --git a/utils/test/testapi/opnfv_testapi/resources/project_handlers.py b/utils/test/testapi/opnfv_testapi/resources/project_handlers.py index 9cf698623..94c65b722 100644 --- a/utils/test/testapi/opnfv_testapi/resources/project_handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/project_handlers.py @@ -22,7 +22,7 @@ class GenericProjectHandler(GenericApiHandler): class ProjectCLHandler(GenericProjectHandler): - @swagger.operation(nickname="List all Projects") + @swagger.operation(nickname="listAllProjects") def get(self): """ @description: list all projects @@ -31,7 +31,7 @@ class ProjectCLHandler(GenericProjectHandler): """ self._list() - @swagger.operation(nickname="Create a Project") + @swagger.operation(nickname="createProject") def post(self): """ @description: create a project @@ -56,7 +56,7 @@ class ProjectCLHandler(GenericProjectHandler): class ProjectGURHandler(GenericProjectHandler): - @swagger.operation(nickname='Get a Project by project_name') + @swagger.operation(nickname='getProjectByName') def get(self, project_name): """ @description: get a single project by project_name @@ -66,7 +66,7 @@ class ProjectGURHandler(GenericProjectHandler): """ self._get_one({'name': project_name}) - @swagger.operation(nickname="Update a Project by project_name") + @swagger.operation(nickname="updateProjectByName") def put(self, project_name): """ @description: update a single project by project_name @@ -82,7 +82,7 @@ class ProjectGURHandler(GenericProjectHandler): db_keys = ['name'] self._update(query, db_keys) - @swagger.operation(nickname='Delete a Project by project_name') + @swagger.operation(nickname='deleteProjectByName') def delete(self, project_name): """ @description: delete a project by project_name diff --git a/utils/test/testapi/opnfv_testapi/resources/result_handlers.py b/utils/test/testapi/opnfv_testapi/resources/result_handlers.py index fe13c09b7..2a1ed56ee 100644 --- a/utils/test/testapi/opnfv_testapi/resources/result_handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/result_handlers.py @@ -52,7 +52,7 @@ class GenericResultHandler(GenericApiHandler): class ResultsCLHandler(GenericResultHandler): - @swagger.operation(nickname="List all Test Results") + @swagger.operation(nickname="queryTestResults") def get(self): """ @description: Retrieve result(s) for a test project @@ -127,7 +127,7 @@ class ResultsCLHandler(GenericResultHandler): self._list(self.set_query(), sort=[('start_date', -1)], last=last) - @swagger.operation(nickname="Create a Test Result") + @swagger.operation(nickname="createTestResult") def post(self): """ @description: create a test result @@ -169,7 +169,7 @@ class ResultsCLHandler(GenericResultHandler): class ResultsGURHandler(GenericResultHandler): - @swagger.operation(nickname='Get a Test Result by result_id') + @swagger.operation(nickname='getTestResultById') def get(self, result_id): """ @description: get a single result by result_id @@ -181,7 +181,7 @@ class ResultsGURHandler(GenericResultHandler): query["_id"] = ObjectId(result_id) self._get_one(query) - @swagger.operation(nickname="Update a Test Result by result_id") + @swagger.operation(nickname="updateTestResultById") def put(self, result_id): """ @description: update a single result by _id diff --git a/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py b/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py index 28fe28e68..a9b89eb89 100644 --- a/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py @@ -14,7 +14,7 @@ class GenericScenarioHandler(GenericApiHandler): class ScenariosCLHandler(GenericScenarioHandler): - @swagger.operation(nickname="List scenarios by queries") + @swagger.operation(nickname="queryScenarios") def get(self): """ @description: Retrieve scenario(s). @@ -63,7 +63,7 @@ class ScenariosCLHandler(GenericScenarioHandler): self._list(_set_query()) - @swagger.operation(nickname="Create a new scenario") + @swagger.operation(nickname="createScenario") def post(self): """ @description: create a new scenario by name @@ -88,7 +88,7 @@ class ScenariosCLHandler(GenericScenarioHandler): class ScenarioGURHandler(GenericScenarioHandler): - @swagger.operation(nickname='Get the scenario by name') + @swagger.operation(nickname='getScenarioByName') def get(self, name): """ @description: get a single scenario by name @@ -99,7 +99,7 @@ class ScenarioGURHandler(GenericScenarioHandler): self._get_one({'name': name}) pass - @swagger.operation(nickname="Update the scenario by name") + @swagger.operation(nickname="updateScenarioByName") def put(self, name): """ @description: update a single scenario by name diff --git a/utils/test/testapi/opnfv_testapi/resources/testcase_handlers.py b/utils/test/testapi/opnfv_testapi/resources/testcase_handlers.py index 3692b164f..100a4fd91 100644 --- a/utils/test/testapi/opnfv_testapi/resources/testcase_handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/testcase_handlers.py @@ -22,7 +22,7 @@ class GenericTestcaseHandler(GenericApiHandler): class TestcaseCLHandler(GenericTestcaseHandler): - @swagger.operation(nickname="List all TestCases by project_name") + @swagger.operation(nickname="listAllTestCases") def get(self, project_name): """ @description: list all testcases of a project by project_name @@ -34,7 +34,7 @@ class TestcaseCLHandler(GenericTestcaseHandler): query['project_name'] = project_name self._list(query) - @swagger.operation(nickname="Create a TestCase by project_name") + @swagger.operation(nickname="createTestCase") def post(self, project_name): """ @description: create a testcase of a project by project_name @@ -72,7 +72,7 @@ class TestcaseCLHandler(GenericTestcaseHandler): class TestcaseGURHandler(GenericTestcaseHandler): - @swagger.operation(nickname='Get a TestCase by project and case name') + @swagger.operation(nickname='getTestCaseByName') def get(self, project_name, case_name): """ @description: get a single testcase @@ -86,7 +86,7 @@ class TestcaseGURHandler(GenericTestcaseHandler): query["name"] = case_name self._get_one(query) - @swagger.operation(nickname="Update a TestCase by project and case name") + @swagger.operation(nickname="updateTestCaseByName") def put(self, project_name, case_name): """ @description: update a single testcase @@ -104,7 +104,7 @@ class TestcaseGURHandler(GenericTestcaseHandler): db_keys = ['name', 'project_name'] self._update(query, db_keys) - @swagger.operation(nickname='Delete a TestCase by project and case name') + @swagger.operation(nickname='deleteTestCaseByName') def delete(self, project_name, case_name): """ @description: delete a testcase by project_name and case_name diff --git a/utils/test/testapi/run_test.sh b/utils/test/testapi/run_test.sh index 9b25f8ffc..d1f05f201 100755 --- a/utils/test/testapi/run_test.sh +++ b/utils/test/testapi/run_test.sh @@ -1,10 +1,40 @@ -#! /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` + +# Either Workspace is set (CI) +if [ -z $WORKSPACE ] +then + WORKSPACE="." +fi + +echo "Running unit tests..." + +# Creating virtual environment +virtualenv $WORKSPACE/testapi_venv +source $WORKSPACE/testapi_venv/bin/activate + +# Install requirements +pip install -r $SCRIPTDIR/requirements.txt 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/commonn \ + --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 |