blob: e1ba00d4084f521d146b1f495a67abe3969e814f [file] [log] [blame]
# 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
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 zerorpc tabulate argparse networkx six ryu oslo.config pytest Flask flask_restful requests urllib 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'
ENTRYPOINT ["/son-emu/utils/docker/entrypoint.sh"]
# dummy GK, cAdvisor, Prometheus Push Gateway, son-emu REST API, OpenStack-fake APIs
EXPOSE 5000 8081 9091 5001 4000 10243 9005 6001 9775 10697