diff options
Diffstat (limited to 'docker')
-rw-r--r-- | docker/Dockerfile | 2 | ||||
-rw-r--r-- | docker/Dockerfile.aarch64 | 128 | ||||
-rw-r--r-- | docker/Dockerfile.aarch64.patch | 61 | ||||
-rw-r--r-- | docker/add_images.sh | 20 | ||||
-rw-r--r-- | docker/core/Dockerfile | 2 | ||||
-rw-r--r-- | docker/healthcheck/Dockerfile | 2 | ||||
-rw-r--r-- | docker/healthcheck/hooks/build | 7 | ||||
-rw-r--r-- | docker/smoke/Dockerfile | 6 | ||||
-rw-r--r-- | docker/smoke/hooks/build | 7 |
9 files changed, 80 insertions, 155 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index accbf5e30..924da6847 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -97,8 +97,6 @@ RUN git clone --depth 1 -b $VIMS_TAG https://github.com/boucherv-orange/clearwat RUN git clone --depth 1 -b $VROUTER_TAG https://github.com/oolorg/opnfv-functest-vrouter.git ${REPOS_VNFS_DIR}/vrouter RUN git clone --depth 1 https://github.com/wuwenbin2/OnosSystemTest.git ${REPOS_DIR}/onos -RUN add_images.sh - RUN gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 RUN curl -L https://get.rvm.io | bash -s stable diff --git a/docker/Dockerfile.aarch64 b/docker/Dockerfile.aarch64 deleted file mode 100644 index abd4d1afb..000000000 --- a/docker/Dockerfile.aarch64 +++ /dev/null @@ -1,128 +0,0 @@ -######################################## -# Aarch64 Docker container for FUNCTEST -######################################## -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -# - -FROM aarch64/ubuntu:14.04 -MAINTAINER Armband team <armband@enea.com> -LABEL version="0.1" description="OPNFV Functest Aarch64 Docker container" - -# Environment variables -ARG BRANCH=master -ARG RALLY_TAG=0.8.1 -ARG ODL_TAG=release/beryllium-sr4 -ARG OPENSTACK_TAG=stable/ocata -ARG KINGBIRD_TAG=0.2.2 -ARG VIMS_TAG=stable -ARG REPOS_DIR=/home/opnfv/repos -ARG FUNCTEST_BASE_DIR=/home/opnfv/functest -ARG FUNCTEST_CONF_DIR=${FUNCTEST_BASE_DIR}/conf -ARG FUNCTEST_DATA_DIR=${FUNCTEST_BASE_DIR}/data -ARG FUNCTEST_IMAGES_DIR=${FUNCTEST_BASE_DIR}/images -ARG FUNCTEST_RESULTS_DIR=${FUNCTEST_BASE_DIR}/results -ARG FUNCTEST_DIR=/usr/local/lib/python2.7/dist-packages/functest/ -ARG REPOS_VNFS_DIR=${REPOS_DIR}/vnfs - -# Environment variables -ENV CONFIG_FUNCTEST_YAML ${FUNCTEST_DIR}/functest/ci/config_functest.yaml -ENV REPOS_DIR ${REPOS_DIR} -ENV creds ${FUNCTEST_CONF_DIR}/openstack.creds - -# Packaged dependencies -RUN apt-get update && apt-get install -y \ -build-essential \ -bundler \ -crudini \ -curl \ -gcc \ -git \ -libffi-dev \ -libgmp3-dev \ -libjpeg-dev \ -libpq-dev \ -libssl-dev \ -libxml2-dev \ -libxslt-dev \ -python-dev \ -python-mock \ -python-pip \ -postgresql \ -ruby1.9.1-dev \ -ssh \ -sshpass \ -wget \ ---no-install-recommends - -RUN pip install --upgrade pip && easy_install -U setuptools==30.0.0 - -RUN mkdir -p ${REPOS_VNFS_DIR} \ - && mkdir -p ${FUNCTEST_BASE_DIR}/results \ - && mkdir -p ${FUNCTEST_BASE_DIR}/conf \ - && mkdir -p ${FUNCTEST_DATA_DIR} \ - && mkdir -p ${FUNCTEST_IMAGES_DIR} \ - && mkdir -p /root/.ssh \ - && chmod 700 /root/.ssh - -RUN git config --global http.sslVerify false - -COPY thirdparty-requirements.txt thirdparty-requirements.txt -RUN 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 --src /src -cupper-constraints.txt \ - -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \ - git+https://gerrit.opnfv.org/gerrit/functest@$BRANCH#egg=functest \ - -rthirdparty-requirements.txt && \ - 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-manage db create && \ - rm thirdparty-requirements.txt upper-constraints.txt - -# OPNFV repositories -RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/copper ${REPOS_DIR}/copper -RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/domino ${REPOS_DIR}/domino -RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/doctor ${REPOS_DIR}/doctor -RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/promise ${REPOS_DIR}/promise - -# other repositories -RUN git clone --depth 1 -b $ODL_TAG https://git.opendaylight.org/gerrit/p/integration/test.git ${REPOS_DIR}/odl_test -RUN git clone --depth 1 -b $VIMS_TAG https://github.com/boucherv-orange/clearwater-live-test ${REPOS_VNFS_DIR}/vims-test -RUN git clone --depth 1 https://github.com/wuwenbin2/OnosSystemTest.git ${REPOS_DIR}/onos - -RUN add_images.sh - -RUN gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 -RUN curl -L https://get.rvm.io | bash -s stable - -# SFC integration -RUN /bin/bash -c ". /usr/local/lib/python2.7/dist-packages/sfc/tests/functest/setup_scripts/tacker_client_install.sh" - -# Install tempest venv and create symlink for running refstack-client -RUN ln -s /src/tempest /src/refstack-client/.tempest \ - && virtualenv --system-site-packages /src/tempest/.venv - -RUN /bin/bash -c ". /etc/profile.d/rvm.sh \ - && cd ${REPOS_VNFS_DIR}/vims-test \ - && rvm autolibs enable" -RUN /bin/bash -c ". /etc/profile.d/rvm.sh \ - && cd ${REPOS_VNFS_DIR}/vims-test \ - && rvm install 1.9.3" -RUN /bin/bash -c ". /etc/profile.d/rvm.sh \ - && cd ${REPOS_VNFS_DIR}/vims-test \ - && rvm use 1.9.3" -RUN /bin/bash -c ". /etc/profile.d/rvm.sh \ - && gem install bundler \ - && cd ${REPOS_VNFS_DIR}/vims-test \ - && bundle config build.nokogiri --use-system-libraries \ - && bundle install" - -RUN sh -c 'wget -qO- https://nodejs.org/dist/v4.7.2/node-v4.7.2-linux-arm64.tar.gz | \ - tar -xz -C /usr/local --exclude=CHANGELOG.md --exclude=LICENSE --exclude=README.md --strip-components 1 '\ - && cd ${REPOS_DIR}/promise && sudo npm -g install npm@latest \ - && cd ${REPOS_DIR}/promise/source && npm install - -RUN echo ". ${FUNCTEST_DIR}/cli/functest-complete.sh" >> /root/.bashrc diff --git a/docker/Dockerfile.aarch64.patch b/docker/Dockerfile.aarch64.patch new file mode 100644 index 000000000..1b553b1c5 --- /dev/null +++ b/docker/Dockerfile.aarch64.patch @@ -0,0 +1,61 @@ +From: Delia Popescu <delia.popescu@enea.com> +Date: Thu, 20 Jul 2017 17:36:13 +0300 +Subject: [PATCH] Modified Dockerfile.aarch to a patch + +Docker image for functest on ARM was build using a different Dockerfile. +Now the ARM Dockerfile is created with a patch, +in order to avoid modifying both files. +This Dockerfile.aarch64.patch is applied by opnfv-docker.sh from releng project. + +Signed-off-by: Delia Popescu <delia.popescu@enea.com> +--- + docker/Dockerfile | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/docker/Dockerfile b/docker/Dockerfile +index 924da68..dd87e6c 100644 +--- a/docker/Dockerfile ++++ b/docker/Dockerfile +@@ -1,5 +1,5 @@ + ######################################## +-# Docker container for FUNCTEST ++# Aarch64 Docker container for FUNCTEST + ######################################## + # All rights reserved. This program and the accompanying materials + # are made available under the terms of the Apache License, Version 2.0 +@@ -7,9 +7,9 @@ + # http://www.apache.org/licenses/LICENSE-2.0 + # + +-FROM ubuntu:14.04 +-MAINTAINER Jose Lausuch <jose.lausuch@ericsson.com> +-LABEL version="0.1" description="OPNFV Functest Docker container" ++FROM aarch64/ubuntu:14.04 ++MAINTAINER Armband team <armband@enea.com> ++LABEL version="0.1" description="OPNFV Functest Aarch64 Docker container" + + # Environment variables + ARG BRANCH=master +@@ -43,6 +43,7 @@ gcc \ + git \ + libffi-dev \ + libgmp3-dev \ ++libjpeg-dev \ + libpq-dev \ + libssl-dev \ + libxml2-dev \ +@@ -117,11 +118,13 @@ RUN /bin/bash -c ". /etc/profile.d/rvm.sh \ + && cd ${REPOS_VNFS_DIR}/vims-test \ + && rvm use 1.9.3" + RUN /bin/bash -c ". /etc/profile.d/rvm.sh \ ++ && gem install bundler \ + && cd ${REPOS_VNFS_DIR}/vims-test \ ++ && bundle config build.nokogiri --use-system-libraries \ + && bundle install" + +-RUN sh -c 'curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -' \ +- && sudo apt-get install -y nodejs \ ++RUN sh -c 'wget -qO- https://nodejs.org/dist/v4.7.2/node-v4.7.2-linux-arm64.tar.gz | \ ++ tar -xz -C /usr/local --exclude=CHANGELOG.md --exclude=LICENSE --exclude=README.md --strip-components 1 '\ + && cd ${REPOS_DIR}/promise && sudo npm -g install npm@latest \ + && cd ${REPOS_DIR}/promise/source && npm install diff --git a/docker/add_images.sh b/docker/add_images.sh deleted file mode 100644 index 93afbd252..000000000 --- a/docker/add_images.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -# -# This script downloads the images that are used for testing -# and places them in the functest docker image -set -e - -FUNCTEST_IMAGES_DIR=${FUNCTEST_IMAGES_DIR:-/home/opnfv/functest/images} - -CIRROS_REPO_URL=https://download.cirros-cloud.net -CIRROS_AARCH64_TAG=161201 -CIRROS_X86_64_TAG=0.3.5 - -wget ${CIRROS_REPO_URL}/${CIRROS_X86_64_TAG}/cirros-${CIRROS_X86_64_TAG}-x86_64-disk.img -P ${FUNCTEST_IMAGES_DIR} -wget ${CIRROS_REPO_URL}/${CIRROS_X86_64_TAG}/cirros-${CIRROS_X86_64_TAG}-x86_64-lxc.tar.gz -P ${FUNCTEST_IMAGES_DIR} -wget http://artifacts.opnfv.org/onosfw/images/firewall_block_image.img -P ${FUNCTEST_IMAGES_DIR} - -# Add the 3-part image for aarch64, since functest can be run from an x86 machine to test an aarch64 POD -wget ${CIRROS_REPO_URL}/daily/20${CIRROS_AARCH64_TAG}/cirros-d${CIRROS_AARCH64_TAG}-aarch64-disk.img -P ${FUNCTEST_IMAGES_DIR} -wget ${CIRROS_REPO_URL}/daily/20${CIRROS_AARCH64_TAG}/cirros-d${CIRROS_AARCH64_TAG}-aarch64-initramfs -P ${FUNCTEST_IMAGES_DIR} -wget ${CIRROS_REPO_URL}/daily/20${CIRROS_AARCH64_TAG}/cirros-d${CIRROS_AARCH64_TAG}-aarch64-kernel -P ${FUNCTEST_IMAGES_DIR} diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile index 574de9bae..ebd76a262 100644 --- a/docker/core/Dockerfile +++ b/docker/core/Dockerfile @@ -12,7 +12,7 @@ RUN apk --no-cache add --update \ 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 --src /src -cupper-constraints.txt \ + pip install --no-cache-dir --src /src -cupper-constraints.txt \ -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \ git+https://gerrit.opnfv.org/gerrit/functest@$BRANCH#egg=functest && \ rm upper-constraints.txt && \ diff --git a/docker/healthcheck/Dockerfile b/docker/healthcheck/Dockerfile index 6dfea7f8a..8923e4cd7 100644 --- a/docker/healthcheck/Dockerfile +++ b/docker/healthcheck/Dockerfile @@ -1,4 +1,4 @@ -FROM ollivier/functest-core +FROM opnfv/functest-core COPY testcases.yaml /usr/lib/python2.7/site-packages/functest/ci/testcases.yaml CMD ["bash","-c","prepare_env start && run_tests -t all"] diff --git a/docker/healthcheck/hooks/build b/docker/healthcheck/hooks/build new file mode 100644 index 000000000..e5d15b526 --- /dev/null +++ b/docker/healthcheck/hooks/build @@ -0,0 +1,7 @@ +#!/bin/bash + +from="${DOCKER_REPO%/*}/functest-core" +sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile && + docker build -t "${IMAGE_NAME}" . + +exit $? diff --git a/docker/smoke/Dockerfile b/docker/smoke/Dockerfile index b6f84b64a..22ff2eb3a 100644 --- a/docker/smoke/Dockerfile +++ b/docker/smoke/Dockerfile @@ -1,4 +1,4 @@ -FROM ollivier/functest-core +FROM opnfv/functest-core ARG BRANCH=master ARG OPENSTACK_TAG=stable/ocata @@ -7,13 +7,13 @@ COPY thirdparty-requirements.txt thirdparty-requirements.txt RUN apk --no-cache add --virtual .build-deps --update \ python-dev build-base linux-headers libffi-dev \ openssl-dev libjpeg-turbo-dev git && \ - pip install --src /src \ + pip install --no-cache-dir --src /src \ -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \ -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \ -rthirdparty-requirements.txt && \ ln -s /src/tempest /src/refstack-client/.tempest && \ virtualenv --system-site-packages /src/tempest/.venv && \ - rm thirdparty-requirements.txt && \ + rm -r thirdparty-requirements.txt /src/refstack-client/.git && \ apk del .build-deps COPY testcases.yaml /usr/lib/python2.7/site-packages/functest/ci/testcases.yaml CMD ["bash","-c","prepare_env start && run_tests -t all"] diff --git a/docker/smoke/hooks/build b/docker/smoke/hooks/build new file mode 100644 index 000000000..e5d15b526 --- /dev/null +++ b/docker/smoke/hooks/build @@ -0,0 +1,7 @@ +#!/bin/bash + +from="${DOCKER_REPO%/*}/functest-core" +sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile && + docker build -t "${IMAGE_NAME}" . + +exit $? |