Avoid downloading git history
[functest.git] / docker / smoke / Dockerfile
1 FROM opnfv/functest-tempest
2
3 ARG BRANCH=master
4 ARG OPENSTACK_TAG=stable/queens
5 ARG REFSTACK_TARGET=2018.02
6 ARG PATROLE_TAG=0.3.0
7 ARG VMTP_TAG=99b261ccccc2f8a08ee2d8fca9f54ef9d69899d7
8 ARG NEUTRON_TAG=d307f5635d4015e7842a4a177f66c76ba4bd818a
9 ARG BARBICAN_TAG=b8bf147bdcdd33f3ad276ca8815fd253ec9b24af
10
11 RUN apk --no-cache add --update libxml2 libxslt && \
12     apk --no-cache add --virtual .build-deps --update \
13         python-dev build-base linux-headers libffi-dev \
14         openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \
15     wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \
16         sed -E s/^tempest==+\(.*\)$/-e\ git+https:\\/\\/git.openstack.org\\/openstack\\/tempest@\\1#egg=tempest/ \
17         > upper-constraints.txt && \
18     wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH | \
19         sed -E /#egg=functest/d > upper-constraints.opnfv.txt && \
20     git clone --depth 1 https://git.openstack.org/openstack/patrole.git /src/patrole && \
21     (cd /src/patrole && git fetch --tags origin $PATROLE_TAG && git checkout FETCH_HEAD) && \
22     update-requirements -s --source /src/openstack-requirements /src/patrole/ && \
23     git clone https://git.openstack.org/openstack/vmtp.git /src/vmtp && \
24     (cd /src/vmtp && git fetch origin --tags $VMTP_TAG && git checkout FETCH_HEAD) && \
25     update-requirements -s --source /src/openstack-requirements /src/vmtp/ && \
26     git clone https://git.openstack.org/openstack/neutron-tempest-plugin.git /src/neutron-tempest-plugin && \
27     (cd /src/neutron-tempest-plugin && git fetch --tags origin $NEUTRON_TAG && git checkout FETCH_HEAD) && \
28     update-requirements -s --source /src/openstack-requirements /src/neutron-tempest-plugin && \
29     git clone https://git.openstack.org/openstack/barbican-tempest-plugin.git /src/barbican-tempest-plugin && \
30     (cd /src/barbican-tempest-plugin && git fetch --tags origin $BARBICAN_TAG && git checkout FETCH_HEAD) && \
31     update-requirements -s --source /src/openstack-requirements /src/barbican-tempest-plugin/ && \
32     pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
33         /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
34         networking-bgpvpn networking-sfc /src/vmtp && \
35     rm -r upper-constraints.txt upper-constraints.opnfv.txt \
36         /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin /src/vmtp && \
37     mkdir -p /home/opnfv/functest/data/refstack && \
38     wget "https://refstack.openstack.org/api/v1/guidelines/${REFSTACK_TARGET}/tests?target=compute&type=required&alias=true&flag=false" \
39         -O /home/opnfv/functest/data/refstack/defcore.txt && \
40     mkdir -p /etc/neutron /etc/glance && \
41     wget -q -O /etc/neutron/policy.json https://git.openstack.org/cgit/openstack/neutron/plain/etc/policy.json?h=$OPENSTACK_TAG && \
42     wget -q -O /etc/glance/policy.json https://git.openstack.org/cgit/openstack/glance/plain/etc/policy.json?h=$OPENSTACK_TAG && \
43     apk del .build-deps
44 COPY testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml
45 CMD ["run_tests", "-t", "all"]