X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=docker%2FMON%2FDockerfile;h=2b8314846f5273ac3b3566457a96f63dae2eb4c3;hb=60f30ff08ed5db1c44c34c6887d7b7b2783c6bfa;hp=ca3d64b8e7ac9f88e1d22495cf9884fa4d263d9b;hpb=034df70cf3e924bbca3ce5f5d64d3c673f7b9153;p=osm%2Fdevops.git diff --git a/docker/MON/Dockerfile b/docker/MON/Dockerfile index ca3d64b8..2b831484 100644 --- a/docker/MON/Dockerfile +++ b/docker/MON/Dockerfile @@ -20,40 +20,77 @@ # contact: bdiaz@whitestack.com or glavado@whitestack.com ## -FROM ubuntu:16.04 +FROM ubuntu:18.04 LABEL authors="Guillermo Calvino" -RUN apt-get update && apt-get -y install curl software-properties-common - -RUN apt-get --yes update \ - && apt-get --yes install git python python-pip python3 python3-pip libmysqlclient-dev libssl-dev libffi-dev \ - && apt-get --yes install python3-pymongo && pip3 install pip==9.0.3 +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y curl \ + software-properties-common \ + git \ + python \ + python-pip \ + python3 \ + python3-pip \ + libmysqlclient-dev \ + libssl-dev \ + libffi-dev \ + mysql-client \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && python3 -m pip install -U pip + +RUN pip3 install 'macaroonbakery>=1.1,<2.0' 'pyRFC3339>=1.0,<2.0' \ + 'pyyaml>=5.1.2' 'theblues>=0.3.8,<1.0' 'websockets>=4.0,<5.0' \ + 'paramiko' 'dogpile.cache==0.9.2' ARG REPOSITORY_BASE=http://osm-download.etsi.org/repository/osm/debian ARG RELEASE=ReleaseFOUR-daily ARG REPOSITORY_KEY=OSM%20ETSI%20Release%20Key.gpg ARG REPOSITORY=testing -RUN curl ${REPOSITORY_BASE}/${RELEASE}/${REPOSITORY_KEY} | apt-key add - -RUN add-apt-repository -y "deb ${REPOSITORY_BASE}/${RELEASE} ${REPOSITORY} MON common" && apt update - ARG MON_VERSION ARG COMMON_VERSION +ARG N2VC_VERSION -RUN apt-get --yes update && apt-get -y install python3-osm-common${COMMON_VERSION} python3-osm-mon${MON_VERSION} +RUN curl ${REPOSITORY_BASE}/${RELEASE}/${REPOSITORY_KEY} | apt-key add - \ + && add-apt-repository -y "deb ${REPOSITORY_BASE}/${RELEASE} ${REPOSITORY} MON N2VC common" \ + && apt update \ + && DEBIAN_FRONTEND=noninteractive apt-get -y install python3-osm-common${COMMON_VERSION} \ + python3-osm-mon${MON_VERSION} \ + python3-n2vc${N2VC_VERSION} -COPY scripts/ scripts/ -RUN pip3 install -r scripts/requirements.txt +RUN python3 -m pip install -U "juju==2.8.1" -ENV BROKER_URI kafka:9092 -ENV MONGO_URI mongo:27017 -ENV DATABASE sqlite:///mon_sqlite.db -ENV OS_NOTIFIER_URI localhost:8662 -ENV OS_DEFAULT_GRANULARITY 300 -ENV REQUEST_TIMEOUT 10 - -EXPOSE 8662 +COPY scripts/ scripts/ -CMD /bin/bash scripts/runInstall.sh +ENV OSMMON_MESSAGE_DRIVER kafka +ENV OSMMON_MESSAGE_HOST kafka +ENV OSMMON_MESSAGE_PORT 9092 + +ENV OSMMON_DATABASE_DRIVER mongo +ENV OSMMON_DATABASE_URI mongodb://mongo:27017 + +ENV OSMMON_SQL_DATABASE_URI sqlite:///mon_sqlite.db +ENV OSMMON_OPENSTACK_DEFAULT_GRANULARITY 300 +ENV OSMMON_GLOBAL_REQUEST_TIMEOUT 10 +ENV OSMMON_GLOBAL_LOGLEVEL INFO +ENV OSMMON_VCA_HOST localhost +ENV OSMMON_VCA_SECRET secret +ENV OSMMON_VCA_USER admin +ENV OSMMON_VCA_CACERT cacert +ENV OSMMON_DATABASE_COMMONKEY changeme +ENV OSMMON_COLLECTOR_INTERVAL 30 +ENV OSMMON_EVALUATOR_INTERVAL 30 +ENV OSMMON_PROMETHEUS_URL http://prometheus:9090 +ENV OSMMON_GRAFANA_URL http://grafana:3000 +ENV OSMMON_GRAFANA_USER admin +ENV OSMMON_GRAFANA_PASSWORD admin + +EXPOSE 8000 + +HEALTHCHECK --start-period=120s --interval=10s --timeout=5s --retries=5 \ + CMD osm-mon-healthcheck || exit 1 + +CMD /bin/bash scripts/start.sh