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
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 @@
 # 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}