feature 8029 change RO to python3. Using vim plugins
[osm/RO.git] / Dockerfile-local
diff --git a/Dockerfile-local b/Dockerfile-local
new file mode 100644 (file)
index 0000000..48447ac
--- /dev/null
@@ -0,0 +1,99 @@
+##
+# 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.
+##
+
+FROM ubuntu:18.04
+
+LABEL authors="Alfonso Tierno"
+
+RUN apt-get update && apt-get install -y git python3 python3-pip \
+    && python3 -m pip install --upgrade pip \
+    && DEBIAN_FRONTEND=noninteractive apt-get -y install libmysqlclient-dev mysql-client \
+    && DEBIAN_FRONTEND=noninteractive python3 -m pip install -U networking-l2gw  \
+    && DEBIAN_FRONTEND=noninteractive python3 -m pip install -U progressbar pyvmomi pyvcloud==19.1.1  \
+    && DEBIAN_FRONTEND=noninteractive apt-get -y install genisoimage
+
+# This is not needed, because package dependency will install anyway.
+# But done here in order to harry up image generation using cache
+
+RUN DEBIAN_FRONTEND=noninteractive  apt-get -y install python3-neutronclient python3-openstackclient \
+    python3-requests python3-netaddr python3-argcomplete
+
+#    DEBIAN_FRONTEND=noninteractive apt-get -y install python-openstacksdk python-openstackclient && \
+# TODO py3   DEBIAN_FRONTEND=noninteractive add-apt-repository -y cloud-archive:rocky && apt-get update && apt-get install -y python3-networking-l2gw \
+
+#    DEBIAN_FRONTEND=noninteractive apt-get -y install python-cffi  libssl-dev libffi-dev python-mysqldb && \
+#    DEBIAN_FRONTEND=noninteractive pip2 install -U azure && \
+#    DEBIAN_FRONTEND=noninteractive pip2 install -U fog05rest && \
+#    && DEBIAN_FRONTEND=noninteractive apt-get -y install software-properties-common && \
+#    DEBIAN_FRONTEND=noninteractive apt-get -y install wget tox && \
+#    DEBIAN_FRONTEND=noninteractive pip2 install untangle && \
+#    DEBIAN_FRONTEND=noninteractive pip2 install pyone && \
+#    DEBIAN_FRONTEND=noninteractive pip2 install -e git+https://github.com/python-oca/python-oca#egg=oca && \
+
+COPY . /root/RO
+
+RUN /root/RO/RO/osm_ro/scripts/install-osm-im.sh --develop && \
+    /root/RO/RO/osm_ro/scripts/install-lib-osm-openvim.sh --develop && \
+    mkdir -p /var/log/osm && \
+    python3 -m pip install -e /root/RO/RO && \
+    python3 -m pip install -e /root/RO/RO-client && \
+    python3 -m pip install -e /root/RO/RO-VIM-vmware && \
+    python3 -m pip install -e /root/RO/RO-VIM-openstack && \
+    python3 -m pip install -e /root/RO/RO-VIM-openvim && \
+    python3 -m pip install -e /root/RO/RO-VIM-aws && \
+    python3 -m pip install -e /root/RO/RO-VIM-fos && \
+    rm -rf /root/.cache && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists/*
+
+VOLUME /var/log/osm
+
+EXPOSE 9090
+
+# Two mysql databases are needed (DB and DB_OVIM). Can be hosted on same or separated containers
+# These ENV must be provided
+# RO_DB_HOST: host of the main
+# RO_DB_OVIM_HOST: ...        if empty RO_DB_HOST is assumed
+# RO_DB_ROOT_PASSWORD: this has to be provided first time for creating database. It will create and init only if empty!
+# RO_DB_OVIM_ROOT_PASSWORD: ...  if empty RO_DB_ROOT_PASSWORD is assumed
+# RO_DB_USER:    default value 'mano'
+# RO_DB_OVIM_USER:       default value 'mano'
+# RO_DB_PASSWORD:        default value 'manopw'
+# RO_DB_OVIM_PASSWORD:        default value 'manopw'
+# RO_DB_PORT:             default value '3306'
+# RO_DB_OVIM_PORT:        default value '3306'
+# RO_DB_NAME:             default value 'mano_db'
+# RO_DB_OVIM_NAME:        default value 'mano_vim_db'
+# RO_LOG_FILE:            default log to stderr if not defined
+
+ENV RO_DB_HOST="" \
+    RO_DB_OVIM_HOST="" \
+    RO_DB_ROOT_PASSWORD="" \
+    RO_DB_OVIM_ROOT_PASSWORD="" \
+    RO_DB_USER=mano \
+    RO_DB_OVIM_USER=mano \
+    RO_DB_PASSWORD=manopw \
+    RO_DB_OVIM_PASSWORD=manopw \
+    RO_DB_PORT=3306 \
+    RO_DB_OVIM_PORT=3306 \
+    RO_DB_NAME=mano_db \
+    RO_DB_OVIM_NAME=mano_vim_db \
+    OPENMANO_TENANT=osm \
+    RO_LOG_LEVEL=DEBUG
+
+CMD RO-start.sh
+
+# HEALTHCHECK --start-period=30s --interval=10s --timeout=5s --retries=12 \
+#  CMD curl --silent --fail localhost:9090/openmano/tenants || exit 1