diff options
author | Alex Shatov <alexs@att.com> | 2018-03-08 13:12:23 -0500 |
---|---|---|
committer | Alex Shatov <alexs@att.com> | 2018-03-08 13:12:23 -0500 |
commit | b9b955c0c2875effc1ce02d5576f0d2a59284c5d (patch) | |
tree | c073f6678be20cc4371bd1e91ca2796a6abf330d /Dockerfile | |
parent | dfd79f0cb9f8d418871b5fb7f3616554c3261800 (diff) |
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 <alexs@att.com>
Issue-ID: DCAEGEN2-379
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 33 |
1 files changed, 26 insertions, 7 deletions
@@ -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} |