aboutsummaryrefslogtreecommitdiffstats
path: root/docker/patrole
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2018-02-21 07:56:26 +0100
committerCédric Ollivier <cedric.ollivier@orange.com>2018-02-28 11:32:06 +0100
commit4a47d63986e6d5192fb8367a0afa0952d2ca5a29 (patch)
tree2bd7790a4a208417d393a62911bb7593ffd7e97a /docker/patrole
parentff4817eb5e7e11780353c73a9c7d0f40948863be (diff)
Integrate Patrole as a new testcase
It's published in a new container because the current results don't allow gating. 0.2 is selected to meet OpenStack Pike's requirements. Co-Authored-By: Rémi Le Trocquer <remi.letrocquer@orange.com> Change-Id: Iafcf8f66ee3531fc43136886095774885bfc3150 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'docker/patrole')
-rw-r--r--docker/patrole/Dockerfile37
-rw-r--r--docker/patrole/hooks/post_checkout6
-rw-r--r--docker/patrole/testcases.yaml22
3 files changed, 65 insertions, 0 deletions
diff --git a/docker/patrole/Dockerfile b/docker/patrole/Dockerfile
new file mode 100644
index 000000000..c423c403d
--- /dev/null
+++ b/docker/patrole/Dockerfile
@@ -0,0 +1,37 @@
+FROM opnfv/functest-core
+
+ARG BRANCH=master
+ARG PATROLE_TAG=0.2.0
+ARG OPENSTACK_TAG=stable/pike
+ARG RALLY_TAG=stable/0.10
+ARG OS_FAULTS_TAG=0.1.16
+
+RUN apk --no-cache add --virtual .build-deps --update \
+ python-dev build-base linux-headers libffi-dev \
+ openssl-dev libjpeg-turbo-dev && \
+ wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \
+ sed -E s/^tempest==+\(.*\)$/-e\ git+https:\\/\\/github.com\\/openstack\\/tempest@\\1#egg=tempest/ \
+ > upper-constraints.txt && \
+ pip install --no-cache-dir --src /src -cupper-constraints.txt \
+ -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \
+ -e git+https://github.com/openstack/requirements@$OPENSTACK_TAG#egg=openstack_requirements && \
+ git clone --depth 1 https://github.com/openstack/os-faults.git -b $OS_FAULTS_TAG /src/os-faults && \
+ update-requirements -s --source /src/openstack-requirements /src/os-faults/ && \
+ git clone --depth 1 https://github.com/openstack/rally.git -b $RALLY_TAG /src/rally && \
+ update-requirements -s --source /src/openstack-requirements /src/rally/ && \
+ git clone https://github.com/openstack/patrole.git /src/patrole && \
+ (cd /src/patrole && git checkout $PATROLE_TAG) && \
+ update-requirements -s --source /src/openstack-requirements /src/patrole/ && \
+ pip install --no-cache-dir --src /src -cupper-constraints.txt \
+ -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \
+ tempest /src/os-faults && \
+ pip install --no-cache-dir --src /src -cupper-constraints.txt \
+ -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \
+ oslotest /src/patrole /src/rally && \
+ mkdir -p /etc/rally && \
+ printf "[database]\nconnection = 'sqlite:////var/lib/rally/database/rally.sqlite'" > /etc/rally/rally.conf && \
+ mkdir -p /var/lib/rally/database && rally db create && \
+ rm -r upper-constraints.txt /src/os-faults /src/rally && \
+ apk del .build-deps
+COPY testcases.yaml /usr/lib/python2.7/site-packages/functest/ci/testcases.yaml
+CMD ["run_tests", "-t", "all"]
diff --git a/docker/patrole/hooks/post_checkout b/docker/patrole/hooks/post_checkout
new file mode 100644
index 000000000..8d0e98124
--- /dev/null
+++ b/docker/patrole/hooks/post_checkout
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
+sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
+
+exit $?
diff --git a/docker/patrole/testcases.yaml b/docker/patrole/testcases.yaml
new file mode 100644
index 000000000..10edc4e5d
--- /dev/null
+++ b/docker/patrole/testcases.yaml
@@ -0,0 +1,22 @@
+---
+tiers:
+ -
+ name: smoke
+ order: 1
+ ci_loop: '(daily)|(weekly)'
+ description: >-
+ Set of basic Functional tests to validate the OPNFV scenarios.
+ testcases:
+ -
+ case_name: patrole
+ project_name: functest
+ criteria: 100
+ blocking: true
+ description: >-
+ Test suite from Patrole project.
+ dependencies:
+ installer: '^((?!netvirt).)*$'
+ scenario: ''
+ run:
+ module: 'functest.opnfv_tests.openstack.patrole.patrole'
+ class: 'Patrole'