X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=docker%2FDockerfile;h=96a5d774dd1dd17a841363fe5c318591249364ed;hb=fe8aac36f1f66c29bd68c4bc0e22c9de077a1fad;hp=fb8625e504ecd7e19f8a251468453efc8f5b1daf;hpb=322405412df26c8a0ee7f3a5aaa3b115950e97c8;p=yardstick.git diff --git a/docker/Dockerfile b/docker/Dockerfile index fb8625e50..5813f0245 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -7,69 +7,54 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -FROM ubuntu:14.04 +FROM ubuntu:16.04 LABEL image=opnfv/yardstick ARG BRANCH=master # GIT repo directory -ENV REPOS_DIR /home/opnfv/repos +ENV REPOS_DIR="/home/opnfv/repos" \ + IMAGE_DIR="/home/opnfv/images/" + +# Set work directory # Yardstick repo -ENV YARDSTICK_REPO_DIR ${REPOS_DIR}/yardstick -ENV RELENG_REPO_DIR ${REPOS_DIR}/releng -RUN sed -i -e 's/^deb /deb [arch=amd64] /g' /etc/apt/sources.list -RUN sed -i -e 's/^deb-src /# deb-src /g' /etc/apt/sources.list -RUN echo "\n\ -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty main universe multiverse restricted \n\ -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main universe multiverse restricted \n\ -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-security main universe multiverse restricted \n\ -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-proposed main universe multiverse restricted" >> /etc/apt/sources.list -RUN echo "vm.mmap_min_addr = 0" > /etc/sysctl.d/mmap_min_addr.conf -RUN dpkg --add-architecture arm64 - -RUN apt-get update && apt-get install -y \ - qemu-user-static \ - libc6:arm64 \ - wget \ - expect \ - curl \ - git \ - sshpass \ - qemu-utils \ - kpartx \ - libffi-dev \ - libssl-dev \ - python \ - python-dev \ - libxml2-dev \ - libxslt1-dev \ - nginx \ - uwsgi \ - uwsgi-plugin-python \ - python-setuptools && \ - easy_install -U setuptools - -RUN apt-get -y autoremove && \ - apt-get clean +ENV YARDSTICK_REPO_DIR="${REPOS_DIR}/yardstick/" \ + RELENG_REPO_DIR="${REPOS_DIR}/releng" \ + STORPERF_REPO_DIR="${REPOS_DIR}/storperf" + +RUN apt-get update && apt-get install -y git python python-setuptools python-pip && apt-get -y autoremove && apt-get clean +RUN easy_install -U setuptools==30.0.0 +RUN pip install appdirs==1.4.0 pyopenssl==17.5.0 python-openstackclient==3.11.0 python-heatclient==1.11.0 ansible==2.4.2 RUN mkdir -p ${REPOS_DIR} RUN git config --global http.sslVerify false -RUN git clone https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO_DIR} -RUN git clone https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO_DIR} +#For developers: To test your changes you must comment out the git clone for ${YARDSTICK_REPO_DIR}. +#You must also uncomment the RUN and COPY commands below. +#You must run docker build from your yardstick directory on the host. +RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO_DIR} +#RUN mkdir ${YARDSTICK_REPO_DIR} +#COPY ./ ${YARDSTICK_REPO_DIR} +RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO_DIR} +RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/storperf ${STORPERF_REPO_DIR} + +RUN ansible-playbook -c local -vvv -e INSTALLATION_MODE="container" ${YARDSTICK_REPO_DIR}/ansible/install.yaml + +RUN ${YARDSTICK_REPO_DIR}/docker/supervisor.sh -# install yardstick + dependencies -RUN cd ${YARDSTICK_REPO_DIR} && easy_install -U pip -RUN cd ${YARDSTICK_REPO_DIR} && pip install -r requirements.txt -RUN cd ${YARDSTICK_REPO_DIR} && pip install . +RUN echo "daemon off;" >> /etc/nginx/nginx.conf +# nginx=5000, rabbitmq=5672 +EXPOSE 5000 5672 -RUN ${YARDSTICK_REPO_DIR}/api/api-prepare.sh +ADD http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img ${IMAGE_DIR} +ADD http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img ${IMAGE_DIR} -EXPOSE 5000 +COPY ./docker/exec_tests.sh /usr/local/bin/ -ADD http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img /home/opnfv/images/ -ADD http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img /home/opnfv/images/ +ENV NSB_DIR="/opt/nsb_bin" +ENV PYTHONPATH="${PYTHONPATH}:${NSB_DIR}/trex_client:${NSB_DIR}/trex_client/stl" -COPY ./exec_tests.sh /usr/local/bin/ +WORKDIR ${REPOS_DIR} +CMD ["/usr/bin/supervisord"]