Removed outdated zerorpc API.
[osm/vim-emu.git] / utils / docker / Dockerfile
old mode 100644 (file)
new mode 100755 (executable)
index 18e8bfe..1614793
@@ -1,20 +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__ \
-    && 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