Add Docker automated build hooks for Parser
[functest.git] / docker / parser / Dockerfile
1 FROM alpine:3.6
2
3 ARG BRANCH=master
4 ARG OPENSTACK_TAG=stable/pike
5 ARG RALLY_TAG=stable/0.9
6
7 RUN apk --no-cache add --update \
8         python libffi libssl1.0 libjpeg-turbo py-pip bash \
9         grep sed wget ca-certificates git openssh-client && \
10     apk --no-cache add --virtual .build-deps --update \
11         python-dev build-base linux-headers libffi-dev \
12         openssl-dev libjpeg-turbo-dev && \
13     wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \
14         sed /^heat-translator=/d | sed /^tosca-parser=/d \
15         > upper-constraints.txt && \
16     pip install --src /src -cupper-constraints.txt \
17         -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \
18         -e git+https://github.com/openstack/requirements@stable/ocata#egg=openstack_requirements && \
19     git clone --depth 1 https://github.com/openstack/rally.git -b $RALLY_TAG /src/rally && \
20     update-requirements -s --source /src/openstack-requirements /src/rally && \
21     pip install --src /src -cupper-constraints.txt \
22         -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \
23         /src/rally && \
24     pip install --no-cache-dir --src /src \
25         -cupper-constraints.txt \
26         -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \
27         git+https://gerrit.opnfv.org/gerrit/functest@$BRANCH#egg=functest \
28         git+https://gerrit.opnfv.org/gerrit/parser#egg=heat-translator\&subdirectory=tosca2heat/heat-translator \
29         git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-toscaparser\&subdirectory=tosca2heat/tosca-parser \
30         -e git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-parser && \
31     rm -r upper-constraints.txt /src/rally/.git && \
32     mkdir -p /etc/rally && \
33     printf "[database]\nconnection = 'sqlite:////var/lib/rally/database/rally.sqlite'" > /etc/rally/rally.conf && \
34     mkdir -p /var/lib/rally/database && rally-manage db create && \
35     bash -c "mkdir -p /home/opnfv/functest{/conf,/data,/images,/results} /home/opnfv/repos/vnfs" && \
36     apk del .build-deps
37 COPY testcases.yaml /usr/lib/python2.7/site-packages/functest/ci/testcases.yaml
38 CMD ["bash","-c","prepare_env start && run_tests -t all"]