From b9b955c0c2875effc1ce02d5576f0d2a59284c5d Mon Sep 17 00:00:00 2001 From: Alex Shatov Date: Thu, 8 Mar 2018 13:12:23 -0500 Subject: 2.2.0 policy-handler - customization per company - added etc_customize/ folder and customize.sh script = customize.sh script is expected to be overridden by company to customize Docker image build = the whole etc_customize/ folder is copied into docker image = it is up to the company what to put into that folder - any files - added customize/ folder with CustomizeBase and Customize classes = CustomizeBase defines the interface and the default=ONAP behavior = CustomizeBase is owned by ONAP and should not be changed by the company = Customize inherits CustomizeBase = policy-handler instantiates Customize to get the customized behavior = Customize is owned by the company and should be changed by the company = ONAP is not going to change Customize = the methods of Customize are expected to be overridden by the company to change the behavior of the policy-handler = sample Customize class can be found in README.md = Company is allowed to add more files to customize/ folder if that is required for better structuring of their code as soon as it is invoked by the methods of Customize Change-Id: I46f8170afaaa48e1005e4398a768a781db0a0e6c Signed-off-by: Alex Shatov Issue-ID: DCAEGEN2-379 --- Dockerfile | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile index 9d77db6..348676a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,22 @@ -# Use an official Python runtime as a base image +# ================================================================================ +# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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. +# ============LICENSE_END========================================================= +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. + +# Use the official Python as the base image FROM python:2.7 ENV INSROOT /opt/app @@ -12,23 +30,24 @@ WORKDIR ${APPDIR} # Make port 25577 available to the world outside this container EXPOSE 25577 -# Copy the current directory contents into the container at ${APPDIR} +# Copy the current directory content into the container at ${APPDIR} COPY ./*.py ./ COPY ./*.in ./ COPY ./*.txt ./ -COPY ./*.sh ./ +COPY ./run_policy.sh ./ COPY ./policyhandler/ ./policyhandler/ COPY ./etc/ ./etc/ +COPY ./etc_customize/ ./etc_customize/ RUN mkdir -p ${APPDIR}/logs \ && chown -R ${APPUSER}:${APPUSER} ${APPDIR} \ && chmod a+w ${APPDIR}/logs \ && chmod 500 ${APPDIR}/etc \ && chmod 500 ${APPDIR}/run_policy.sh \ - && ls -la && ls -la ./policyhandler - -# Install any needed packages specified in requirements.txt -RUN pip install -r requirements.txt + && pip install -r requirements.txt \ + && (CUST_SH=./etc_customize/customize.sh && test -e ${CUST_SH} && chmod 500 ${CUST_SH} \ + && (${CUST_SH} | tee -a logs/"customize_${APPUSER}_$(date +%Y_%m%d-%H%M%S).log" 2>&1)) \ + && ls -laR ${APPDIR}/ USER ${APPUSER} -- cgit 1.2.3-korg