summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INFO1
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yml2
-rw-r--r--jjb/apex/apex.yml11
-rw-r--r--jjb/armband/armband-ci-jobs.yml2
-rw-r--r--jjb/armband/armband-project-jobs.yml1
-rw-r--r--jjb/armband/armband-verify-jobs.yml2
-rw-r--r--jjb/barometer/barometer.yml2
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yml1
-rw-r--r--jjb/compass4nfv/compass-ci-jobs.yml2
-rw-r--r--jjb/compass4nfv/compass-project-jobs.yml2
-rw-r--r--jjb/compass4nfv/compass-verify-jobs.yml7
-rw-r--r--jjb/cperf/cperf-ci-jobs.yml1
-rw-r--r--jjb/daisy4nfv/daisy4nfv-merge-jobs.yml2
-rw-r--r--jjb/daisy4nfv/daisy4nfv-verify-jobs.yml2
-rw-r--r--jjb/dovetail/dovetail-artifacts-upload.yml1
-rw-r--r--jjb/dovetail/dovetail-ci-jobs.yml1
-rw-r--r--jjb/escalator/escalator.yml2
-rw-r--r--jjb/fuel/fuel-daily-jobs.yml2
-rw-r--r--jjb/fuel/fuel-project-jobs.yml3
-rw-r--r--jjb/fuel/fuel-verify-jobs-experimental.yml2
-rw-r--r--jjb/fuel/fuel-verify-jobs.yml2
-rw-r--r--jjb/functest/functest-ci-jobs.yml1
-rw-r--r--jjb/global/installer-params.yml4
-rw-r--r--jjb/global/releng-defaults.yml9
-rw-r--r--jjb/global/releng-macros.yml9
-rw-r--r--jjb/infra/bifrost-verify-jobs.yml1
-rw-r--r--jjb/joid/joid-daily-jobs.yml58
-rw-r--r--jjb/joid/joid-deploy.sh89
-rw-r--r--jjb/joid/joid-verify-jobs.yml2
-rw-r--r--jjb/kvmfornfv/kvmfornfv.yml1
-rw-r--r--jjb/opera/opera-daily-jobs.yml2
-rw-r--r--jjb/opera/opera-project-jobs.yml1
-rw-r--r--jjb/opera/opera-verify-jobs.yml2
-rw-r--r--jjb/releng/opnfv-docker.yml23
-rw-r--r--jjb/releng/testapi-automate.yml21
-rw-r--r--jjb/releng/testapi-run-tests.sh17
-rw-r--r--jjb/vswitchperf/vswitchperf.yml2
-rw-r--r--jjb/yardstick/yardstick-ci-jobs.yml1
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/handlers.py2
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/pod_handlers.py6
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/project_handlers.py10
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/result_handlers.py8
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py8
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/testcase_handlers.py10
-rwxr-xr-xutils/test/testapi/run_test.sh44
-rw-r--r--utils/test/testapi/test-requirements.txt7
46 files changed, 291 insertions, 98 deletions
diff --git a/INFO b/INFO
index 626637fcc..069d3d0b5 100644
--- a/INFO
+++ b/INFO
@@ -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