From 17c7c53d7530ff8c4f1997d5119857626eb580b5 Mon Sep 17 00:00:00 2001 From: Benjamin Diaz Date: Wed, 18 Apr 2018 15:27:31 -0300 Subject: [PATCH] Removes git clone operation from Dockerfile Adds use of COPY statement Modifies Dockerfile to optimize use of cache Signed-off-by: Benjamin Diaz --- docker/Dockerfile | 60 +++++++++++++++++++++--------------- docker/scripts/runInstall.sh | 27 ++++++++++++++-- requirements.txt | 39 +++++++++++------------ 3 files changed, 77 insertions(+), 49 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index e93bce5..ad00631 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,35 +1,45 @@ -# Dockerfile to launch MON module in a docker -# Kafka bus must be launched in a different container +# Copyright 2018 Whitestack, LLC +# ************************************************************* + +# This file is part of OSM Monitoring module +# All Rights Reserved to Whitestack, LLC + +# 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. + +# For those usages not covered by the Apache License, Version 2.0 please +# contact: bdiaz@whitestack.com or glavado@whitestack.com +## FROM ubuntu:16.04 LABEL authors="Guillermo Calvino" +RUN apt-get --yes update \ + && apt-get --yes install git python python-pip sudo libmysqlclient-dev \ + && pip install pip==9.0.3 + +COPY requirements.txt /mon/requirements.txt + +RUN pip install -r /mon/requirements.txt + +COPY . /mon + +RUN pip install /mon + # These ENV must be provided # ENV BROKER_URI=kafka:9092 -# ENV OS_AUTH_URL=http://IP-ADDR:PORT/ -# ENV OS_PASSWORD=**** -# ENV OS_TENANT_NAME=**** -# ENV OS_USERNAME=**** -# ENV OS_IDENTITY_API_VERSION=v2 or 3 - -ENV BROKER_URI="" -ENV OS_AUTH_URL="" -ENV OS_PASSWORD="" -ENV OS_TENANT_NAME="" -ENV OS_USERNAME="" -ENV OS_IDENTITY_API_VERSION="" +# ENV OS_NOTIFIER_URI=:8662 EXPOSE 8662 -RUN apt-get --yes update \ - && apt-get --yes install software-properties-common python-software-properties \ - && apt-get --yes update \ - && apt-get --yes install git python python-pip sudo libmysqlclient-dev libxext-dev libxrender-dev libxtst-dev \ - && cd /root/ \ - && git clone https://osm.etsi.org/gerrit/osm/MON MON \ - && pip install pip==9.0.3 \ - && pip install -r /root/MON/requirements.txt \ - && pip install /root/MON - -CMD /bin/bash /root/MON/docker/scripts/runInstall.sh +CMD /bin/bash mon/docker/scripts/runInstall.sh diff --git a/docker/scripts/runInstall.sh b/docker/scripts/runInstall.sh index a17865b..87954ed 100755 --- a/docker/scripts/runInstall.sh +++ b/docker/scripts/runInstall.sh @@ -1,5 +1,26 @@ #!/usr/bin/env bash -/bin/bash /root/MON/osm_mon/plugins/vRealiseOps/vROPs_Webservice/install.sh -nohup python /root/MON/osm_mon/plugins/OpenStack/Aodh/notifier.py & -python /root/MON/osm_mon/core/message_bus/common_consumer.py +# Copyright 2018 Whitestack, LLC +# ************************************************************* + +# This file is part of OSM Monitoring module +# All Rights Reserved to Whitestack, LLC + +# 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. + +# For those usages not covered by the Apache License, Version 2.0 please +# contact: bdiaz@whitestack.com or glavado@whitestack.com +## +/bin/bash /mon/osm_mon/plugins/vRealiseOps/vROPs_Webservice/install.sh +nohup python /mon/osm_mon/plugins/OpenStack/Aodh/notifier.py & +python /mon/osm_mon/core/message_bus/common_consumer.py diff --git a/requirements.txt b/requirements.txt index 39f18d3..be103aa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,27 +18,24 @@ # For those usages not covered by the Apache License, Version 2.0 please # contact: prithiv.mohan@intel.com or adrian.hoban@intel.com -stdeb -MySQL-python -kafka -lxml -requests -logutils -cherrypy -jsmin -jsonschema -python-openstackclient -python-novaclient -python-keystoneclient -python-neutronclient -aodhclient -gnocchiclient +stdeb==0.8.* +MySQL-python==1.2.* +kafka==1.3.* +lxml==4.2.* +requests==2.18.* +logutils==0.3.* +cherrypy==14.0.* +jsmin==2.2.* +jsonschema==2.6.* +python-openstackclient==3.15.* +python-novaclient==10.1.* +python-keystoneclient==3.15.* boto==2.48 -python-cloudwatchlogs-logging -py-cloudwatch +python-cloudwatchlogs-logging==0.0.3 +py-cloudwatch==0.0.1 pyvcloud==19.1.1 -pyopenssl -six -bottle +pyopenssl==17.5.* +six==1.11.* +bottle==0.12.* peewee==3.1.* -pyyaml \ No newline at end of file +pyyaml==3.* \ No newline at end of file -- 2.25.1