Oleksii Zhurba | 4ccdbf2 | 2018-09-04 21:00:19 -0500 | [diff] [blame] | 1 | FROM ubuntu:16.04 |
| 2 | |
azvyagintsev | ec38a1c | 2018-12-18 16:10:14 +0200 | [diff] [blame] | 3 | LABEL maintainer="dev@mirantis.com" |
| 4 | |
| 5 | ENV DEBIAN_FRONTEND=noninteractive \ |
| 6 | DEBCONF_NONINTERACTIVE_SEEN=true \ |
| 7 | LANG=C.UTF-8 \ |
| 8 | LANGUAGE=$LANG |
azvyagintsev | e67f735 | 2018-12-20 16:11:40 +0200 | [diff] [blame] | 9 | SHELL ["/bin/bash", "-o", "pipefail", "-c"] |
azvyagintsev | ec38a1c | 2018-12-18 16:10:14 +0200 | [diff] [blame] | 10 | |
Oleksii Zhurba | 4ccdbf2 | 2018-09-04 21:00:19 -0500 | [diff] [blame] | 11 | USER root |
azvyagintsev | e67f735 | 2018-12-20 16:11:40 +0200 | [diff] [blame] | 12 | ARG UBUNTU_MIRROR_URL="http://archive.ubuntu.com/ubuntu" |
Hanna Arhipova | f9a95ca | 2019-01-30 15:47:00 +0200 | [diff] [blame] | 13 | ARG SL_TEST_REPO='http://gerrit.mcp.mirantis.com/mcp/stacklight-pytest' |
| 14 | ARG SL_TEST_BRANCH='master' |
Oleksii Zhurba | 4ccdbf2 | 2018-09-04 21:00:19 -0500 | [diff] [blame] | 15 | |
| 16 | WORKDIR /var/lib/ |
Hanna Arhipova | 55cc129 | 2019-01-08 14:22:18 +0200 | [diff] [blame] | 17 | COPY bin/ /usr/local/bin/ |
| 18 | COPY test_set/ ./ |
| 19 | # |
azvyagintsev | e67f735 | 2018-12-20 16:11:40 +0200 | [diff] [blame] | 20 | RUN set -ex; pushd /etc/apt/ && echo > sources.list && \ |
| 21 | echo 'Acquire::Languages "none";' > apt.conf.d/docker-no-languages && \ |
| 22 | echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > apt.conf.d/docker-gzip-indexes && \ |
| 23 | echo 'APT::Get::Install-Recommends "false"; APT::Get::Install-Suggests "false";' > apt.conf.d/docker-recommends && \ |
| 24 | echo "deb [arch=amd64] $UBUNTU_MIRROR_URL xenial main restricted universe multiverse" >> sources.list && \ |
| 25 | echo "deb [arch=amd64] $UBUNTU_MIRROR_URL xenial-updates main restricted universe multiverse" >> sources.list && \ |
| 26 | echo "deb [arch=amd64] $UBUNTU_MIRROR_URL xenial-backports main restricted universe multiverse" >> sources.list && \ |
| 27 | popd ; apt-get update && apt-get upgrade -y && \ |
Hanna Arhipova | f9a95ca | 2019-01-30 15:47:00 +0200 | [diff] [blame] | 28 | apt-get install -y build-essential curl git-core iputils-ping libffi-dev libldap2-dev libsasl2-dev libssl-dev patch python-dev python-pip vim-tiny wget \ |
| 29 | python-virtualenv \ |
| 30 | # Enable these packages while porting to Python3 => python3-virtualenv python3-dev \ |
Hanna Arhipova | 55cc129 | 2019-01-08 14:22:18 +0200 | [diff] [blame] | 31 | # Due to upstream bug we should use fixed version of pip |
Hanna Arhipova | f9a95ca | 2019-01-30 15:47:00 +0200 | [diff] [blame] | 32 | && python -m pip install --upgrade 'pip==9.0.3' \ |
Hanna Arhipova | 55cc129 | 2019-01-08 14:22:18 +0200 | [diff] [blame] | 33 | # initialize cvp sanity test suite |
Hanna Arhipova | 16e93fb | 2019-01-23 19:03:01 +0200 | [diff] [blame] | 34 | && pushd cvp-sanity \ |
Hanna Arhipova | f9a95ca | 2019-01-30 15:47:00 +0200 | [diff] [blame] | 35 | && virtualenv --python=python2 venv \ |
Hanna Arhipova | 55cc129 | 2019-01-08 14:22:18 +0200 | [diff] [blame] | 36 | && . venv/bin/activate \ |
| 37 | && pip install -r requirements.txt \ |
| 38 | && deactivate \ |
| 39 | && popd \ |
| 40 | # initialize cvp spt test suite |
Hanna Arhipova | 16e93fb | 2019-01-23 19:03:01 +0200 | [diff] [blame] | 41 | && pushd cvp-spt \ |
Hanna Arhipova | f9a95ca | 2019-01-30 15:47:00 +0200 | [diff] [blame] | 42 | && virtualenv --python=python2 venv \ |
Hanna Arhipova | 55cc129 | 2019-01-08 14:22:18 +0200 | [diff] [blame] | 43 | && . venv/bin/activate \ |
| 44 | && pip install -r requirements.txt \ |
| 45 | && deactivate \ |
Hanna Arhipova | f9a95ca | 2019-01-30 15:47:00 +0200 | [diff] [blame] | 46 | && popd \ |
| 47 | # initialize cvp stacklight test suite |
| 48 | && mkdir cvp-stacklight \ |
| 49 | && pushd cvp-stacklight \ |
| 50 | && virtualenv --system-site-packages venv \ |
| 51 | && . venv/bin/activate \ |
| 52 | && git clone -b $SL_TEST_BRANCH $SL_TEST_REPO \ |
| 53 | && pip install ./stacklight-pytest \ |
| 54 | && pip install -r stacklight-pytest/requirements.txt \ |
| 55 | && deactivate \ |
| 56 | && popd \ |
azvyagintsev | ec38a1c | 2018-12-18 16:10:14 +0200 | [diff] [blame] | 57 | # Cleanup |
Hanna Arhipova | f9a95ca | 2019-01-30 15:47:00 +0200 | [diff] [blame] | 58 | && apt-get -y purge libx11-data xauth libxmuu1 libxcb1 libx11-6 libxext6 ppp pppconfig pppoeconf popularity-contest cpp gcc g++ libssl-doc && \ |
azvyagintsev | e67f735 | 2018-12-20 16:11:40 +0200 | [diff] [blame] | 59 | apt-get -y autoremove; apt-get -y clean ; rm -rf /root/.cache; rm -rf /var/lib/apt/lists/* && \ |
| 60 | rm -rf /tmp/* ; rm -rf /var/tmp/* ; rm -rfv /etc/apt/sources.list.d/* ; echo > /etc/apt/sources.list |
Hanna Arhipova | 55cc129 | 2019-01-08 14:22:18 +0200 | [diff] [blame] | 61 | |
| 62 | ENTRYPOINT ["entrypoint.sh"] |
| 63 | # docker build --no-cache -t cvp-sanity-checks:test_latest . |