Python Version update
[osm/devops.git] / docker / MON / Dockerfile
index 390c8df..eefb5fb 100644 (file)
 # contact: bdiaz@whitestack.com or glavado@whitestack.com
 ##
 
-FROM ubuntu:16.04
+FROM ubuntu:20.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 \
+                          python3 \
+                          python3-pip \
+                          libssl-dev \
+                          libffi-dev \
+    && apt-get clean \
+    && rm -rf /var/lib/apt/lists/* \
+    && python3 -m pip install --upgrade pip
+RUN python3 --version && pip --version
+
+RUN python3 -m pip install 'pyyaml>=5.1.2' 'paramiko' 'chardet==3.0.4' \
+          'lxml==4.6.2' 'humanfriendly==9.0.*' 'aiokafka>=0.7.0' \
+          'prometheus_client==0.4.*' 'python-keystoneclient==3.15.*' \
+          'six==1.15.0' 'requests==2.25.*' 'gnocchiclient==7.0.*' \
+          'pyvcloud==23.0.*' 'python-novaclient==12.0.*' \
+          'python-ceilometerclient==2.9.*' 'python-neutronclient==5.1.*'
 
 ARG REPOSITORY_BASE=http://osm-download.etsi.org/repository/osm/debian
-ARG RELEASE=ReleaseFOUR-daily
+ARG RELEASE=ReleaseNINE-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.4"
 
-# These ENV must be provided
-# ENV BROKER_URI=kafka:9092
-# ENV OS_NOTIFIER_URI=<IP_ACCESIBLE_FROM_OPENSTACK>:8662
-
-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=5s --timeout=2s --retries=12\
+  CMD osm-mon-healthcheck || exit 1
+
+CMD /bin/bash scripts/start.sh