X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=docker%2FDockerfile-local;h=1dff02d13e847c842d15f625ad89b3e918c273b8;hb=b569e4bf18d0c72093b82e5a84014e19094d0025;hp=08e3f231427e7ff8c910d08970b2e08fa7b477b3;hpb=d4d5e25b6f93cd4ff0a81e2e9fffd50042f27246;p=osm%2FRO.git diff --git a/docker/Dockerfile-local b/docker/Dockerfile-local index 08e3f231..1dff02d1 100644 --- a/docker/Dockerfile-local +++ b/docker/Dockerfile-local @@ -1,58 +1,92 @@ -from ubuntu:xenial +## +# Copyright {yyyy} {name of copyright owner} +# +# 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. +## -MAINTAINER Gennadiy Dubina ; Alfonso Tierno +######################################################################## -#avoid extra information from packages -RUN echo 'path-exclude /usr/share/doc/*\n\ -path-include /usr/share/doc/*/copyright\n\ -path-exclude /usr/share/man/*\n\ -path-exclude /usr/share/groff/*\n\ -path-exclude /usr/share/info/*\n\ -path-exclude /usr/share/lintian/*\n\ -path-exclude /usr/share/linda/*\n'\ -> /etc/dpkg/dpkg.cfg.d/01_nodoc && \ - echo 'APT::Install-Recommends "false";\n\ -APT::AutoRemove::RecommendsImportant "false";\n\ -APT::AutoRemove::SuggestsImportant "false";\n'\ -> /etc/apt/apt.conf.d/99_norecommends +from ubuntu:18.04 +LABEL authors="Gennadiy Dubina, Alfonso Tierno, Gerardo Garcia" -RUN apt update && apt install -y curl mysql-client software-properties-common \ - && add-apt-repository -y "deb http://osm-download.etsi.org/repository/osm/debian/ReleaseTHREE stable SO UI RO IM osmclient openvim" \ - && curl "http://osm-download.etsi.org/repository/osm/debian/ReleaseTHREE/OSM%20ETSI%20Release%20Key.gpg" | apt-key add - \ - && apt update \ - && apt install -y python-osm-ro \ - && rm -rf /var/lib/apt/lists/* \ - && mkdir -p /bin/RO +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install software-properties-common && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install git python python-pip && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install wget tox && \ + DEBIAN_FRONTEND=noninteractive pip2 install pip==9.0.3 && \ + DEBIAN_FRONTEND=noninteractive pip2 install -U progressbar pyvmomi pyvcloud==19.1.1 && \ + DEBIAN_FRONTEND=noninteractive pip2 install -U fog05rest && \ + DEBIAN_FRONTEND=noninteractive pip2 install -U azure && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install python-requests && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install python-novaclient python-keystoneclient python-glanceclient python-cinderclient python-neutronclient python-networking-l2gw && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install python-cffi libmysqlclient-dev libssl-dev libffi-dev python-mysqldb && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install python-openstacksdk python-openstackclient && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install python-networkx && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install genisoimage && \ + 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 && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-client +COPY . /root/RO -COPY docker/scripts/ /bin/RO +RUN /root/RO/scripts/install-osm-im.sh --develop && \ + /root/RO/scripts/install-lib-osm-openvim.sh --develop && \ + make -C /root/RO prepare && \ + mkdir -p /var/log/osm && \ + pip2 install -e /root/RO/build && \ + rm -rf /root/.cache && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* -VOLUME /opt/openmano/logs +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 -ENV RO_DB_HOST="" -ENV RO_DB_OVIM_HOST="" - # if empty RO_DB_HOST is assumed +# 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 -# These ENV should be provided first time for creating database. It will create and init only if empty! -ENV RO_DB_ROOT_PASSWORD="" -ENV RO_DB_OVIM_ROOT_PASSWORD="" - # if empty RO_DB_ROOT_PASSWORD is assumed +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 -# These ENV can be provided, but default values are ok -ENV RO_DB_USER=mano -ENV RO_DB_OVIM_USER=mano -ENV RO_DB_PASSWORD=manopw -ENV RO_DB_OVIM_PASSWORD=manopw -ENV RO_DB_PORT=3306 -ENV RO_DB_OVIM_PORT=3306 -ENV RO_DB_NAME=mano_db -ENV RO_DB_OVIM_NAME=mano_vim_db - - -CMD /bin/RO/start.sh +CMD RO-start.sh +# HEALTHCHECK --start-period=30s --interval=10s --timeout=5s --retries=12 \ +# CMD curl --silent --fail localhost:9090/openmano/tenants || exit 1