X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Fvim-emu.git;a=blobdiff_plain;f=utils%2Fdocker%2FDockerfile;h=16147934db104f9075002a2505c21be8259f6627;hp=27157d8412a3df6b17a5e5e3dc2a31e23ba02130;hb=f37fcff88ff15073cba8f04e5e815a4d664c5766;hpb=418815231ec9713829606e56e3cf6ea022b3dccf diff --git a/utils/docker/Dockerfile b/utils/docker/Dockerfile index 27157d8..1614793 100755 --- a/utils/docker/Dockerfile +++ b/utils/docker/Dockerfile @@ -1,22 +1,69 @@ -FROM mpeuster/containernet -MAINTAINER manuel@peuster.de +# Copyright (c) 2015 SONATA-NFV and Paderborn University +# ALL RIGHTS RESERVED. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Neither the name of the SONATA-NFV [, ANY ADDITIONAL AFFILIATION] +# nor the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# This work has been performed in the framework of the SONATA project, +# funded by the European Commission under Grant number 671517 through +# the Horizon 2020 and 5G-PPP programmes. The authors would like to +# acknowledge the contributions of their colleagues of the SONATA +# partner consortium (www.sonata-nfv.eu). + +FROM ubuntu:trusty ENV SON_EMU_IN_DOCKER 1 -WORKDIR /son-emu -COPY . /son-emu/ +RUN apt-get clean +RUN apt-get update \ + && apt-get install -y git aptitude build-essential python-setuptools python-dev software-properties-common + + +# install containernet +RUN apt-get install -y curl iptables && \ + curl https://bootstrap.pypa.io/get-pip.py | python2 + +# install docker +RUN curl -fsSL https://get.docker.com/gpg | apt-key add - +RUN curl -fsSL https://get.docker.com/ | sh + +RUN pip install -U urllib3==1.21.1 +RUN pip install -U setuptools pyparsing docker python-iptables +WORKDIR / +RUN git clone https://github.com/containernet/containernet.git +RUN containernet/util/install.sh +WORKDIR containernet/ +RUN make develop + +# install son-emu +RUN echo 'install son-emu' +RUN apt-get install -y python-dev python-zmq libzmq-dev libffi-dev libssl-dev +RUN pip install -U tabulate argparse networkx six ryu oslo.config pytest Flask flask_restful requests prometheus_client pyaml +WORKDIR / +#avoid pulling not the latest git, copy the current dir, to run this from Jenkins +#RUN git clone https://github.com/sonata-nfv/son-emu.git +COPY . /son-emu +WORKDIR son-emu/ +RUN python setup.py develop +WORKDIR / +RUN echo 'Done' -RUN cd /son-emu/ansible \ - && ansible-playbook install.yml \ - && cd /son-emu \ - # we need to reset the __pycache__ for correct test discovery - && rm -rf src/emuvim/test/__pycache__ \ - && rm -rf src/emuvim/test/unittests/__pycache__ \ - && rm -rf src/emuvim/test/integrationtests/__pycache__ \ - && python setup.py install \ - && echo 'Done' ENTRYPOINT ["/son-emu/utils/docker/entrypoint.sh"] -# dummy GK, zerorpc -EXPOSE 5000 4242 +# dummy GK, cAdvisor, Prometheus Push Gateway, son-emu REST API, OpenStack-fake APIs +EXPOSE 5000 8081 9091 5001 4000 10243 9005 6001 9775 10697