1 FROM opnfv/functest-core
4 ARG NEUTRON_TEMPEST_TAG=master
5 ARG CINDER_TEMPEST_TAG=master
6 ARG KEYSTONE_TEMPEST_TAG=master
10 ARG KEYSTONE_TAG=master
12 ARG BARBICAN_TAG=master
13 ARG OCTAVIA_TAG=master
14 ARG HEAT_TEMPEST_TAG=master
15 ARG TELEMETRY_TEMPEST_TAG=master
16 ARG CYBORG_TEMPEST_TAG=master
18 RUN apk --no-cache add --update libxml2 libxslt && \
19 apk --no-cache add --virtual .build-deps --update \
20 python3-dev build-base linux-headers libffi-dev \
21 openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \
22 case $(uname -m) in aarch*|arm*) CFLAGS="-O0" \
23 pip3 install --no-cache-dir -c/src/requirements/upper-constraints.txt \
24 -c/src/functest/upper-constraints.txt lxml && \
25 sed -i -E /^numpy=/d /src/requirements/upper-constraints.txt && apk add py3-numpy ;; esac && \
26 git init /src/patrole && \
28 git fetch --tags https://opendev.org/openstack/patrole.git $PATROLE_TAG && \
29 git checkout FETCH_HEAD) && \
30 update-requirements -s --source /src/requirements /src/patrole/ && \
31 git init /src/neutron-tempest-plugin && \
32 (cd /src/neutron-tempest-plugin && \
33 git fetch --tags https://git.openstack.org/openstack/neutron-tempest-plugin.git $NEUTRON_TEMPEST_TAG && \
34 git checkout FETCH_HEAD) && \
35 update-requirements -s --source /src/requirements /src/neutron-tempest-plugin && \
36 git init /src/cinder-tempest-plugin && \
37 (cd /src/cinder-tempest-plugin && \
38 git fetch --tags https://git.openstack.org/openstack/cinder-tempest-plugin.git $CINDER_TEMPEST_TAG && \
39 git checkout FETCH_HEAD) && \
40 update-requirements -s --source /src/requirements /src/cinder-tempest-plugin && \
41 git init /src/keystone-tempest-plugin && \
42 (cd /src/keystone-tempest-plugin && \
43 git fetch --tags https://git.openstack.org/openstack/keystone-tempest-plugin.git $KEYSTONE_TEMPEST_TAG && \
44 git checkout FETCH_HEAD) && \
45 update-requirements -s --source /src/requirements /src/keystone-tempest-plugin && \
46 git init /src/barbican-tempest-plugin && \
47 (cd /src/barbican-tempest-plugin && \
48 git fetch --tags https://opendev.org/openstack/barbican-tempest-plugin.git $BARBICAN_TAG && \
49 git checkout FETCH_HEAD) && \
50 update-requirements -s --source /src/requirements /src/barbican-tempest-plugin/ && \
51 git init /src/octavia-tempest-plugin && \
52 (cd /src/octavia-tempest-plugin && \
53 git fetch --tags https://git.openstack.org/openstack/octavia-tempest-plugin.git $OCTAVIA_TAG && \
54 git checkout FETCH_HEAD) && \
55 update-requirements -s --source /src/requirements /src/octavia-tempest-plugin && \
56 git init /src/heat-tempest-plugin && \
57 (cd /src/heat-tempest-plugin && \
58 git fetch --tags https://git.openstack.org/openstack/heat-tempest-plugin.git $HEAT_TEMPEST_TAG && \
59 git checkout FETCH_HEAD) && \
60 update-requirements -s --source /src/requirements /src/heat-tempest-plugin && \
61 git init /src/telemetry-tempest-plugin && \
62 (cd /src/telemetry-tempest-plugin && \
63 git fetch --tags https://git.openstack.org/openstack/telemetry-tempest-plugin.git $TELEMETRY_TEMPEST_TAG && \
64 git checkout FETCH_HEAD) && \
65 update-requirements -s --source /src/requirements /src/telemetry-tempest-plugin && \
66 git init /src/cyborg-tempest-plugin && \
67 (cd /src/cyborg-tempest-plugin && \
68 git fetch --tags https://git.openstack.org/openstack/cyborg-tempest-plugin.git $CYBORG_TEMPEST_TAG && \
69 git checkout FETCH_HEAD) && \
70 update-requirements -s --source /src/requirements /src/cyborg-tempest-plugin && \
71 pip3 install --no-cache-dir --src /src -c/src/requirements/upper-constraints.txt \
72 -c/src/functest/upper-constraints.txt \
73 /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
74 /src/cinder-tempest-plugin /src/keystone-tempest-plugin \
75 /src/octavia-tempest-plugin /src/heat-tempest-plugin /src/telemetry-tempest-plugin \
76 /src/cyborg-tempest-plugin && \
77 mkdir -p /home/opnfv/functest/data/refstack && \
78 pip3 install --no-cache-dir --src /src -c/src/requirements/upper-constraints.txt \
79 -c/src/functest/upper-constraints.txt \
80 git+https://opendev.org/openstack/neutron.git@$NEUTRON_TAG#egg=neutron \
81 git+https://opendev.org/openstack/glance.git@$GLANCE_TAG#egg=glance \
82 git+https://opendev.org/openstack/nova.git@$NOVA_TAG#egg=nova \
83 git+https://opendev.org/openstack/keystone.git@$KEYSTONE_TAG#egg=keystone \
84 git+https://opendev.org/openstack/cinder.git@$CINDER_TAG#egg=cinder && \
85 rm -r /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
86 /src/cinder-tempest-plugin /src/keystone-tempest-plugin \
87 /src/octavia-tempest-plugin /src/heat-tempest-plugin \
88 /src/telemetry-tempest-plugin /src/cyborg-tempest-plugin && \
90 COPY compute.txt /home/opnfv/functest/data/refstack/compute.txt
91 COPY object.txt /home/opnfv/functest/data/refstack/object.txt
92 COPY platform.txt /home/opnfv/functest/data/refstack/platform.txt
93 COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml
94 CMD ["run_tests", "-t", "all"]