summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Hansen <tony@att.com>2020-08-21 15:27:43 +0000
committerTony Hansen <tony@att.com>2020-08-21 15:27:43 +0000
commitdbf66434638f052bf79409d0b17750e01f96cc9f (patch)
treee49e0b354b52237fd2b0dabe42ea7910f464ca74
parent49d734038679e128ecd523aea45391327685ce41 (diff)
Revert "Run in Python 3.8"
This reverts commit 49d734038679e128ecd523aea45391327685ce41. Reason for revert: version bump missing Change-Id: Ifc8e76857d52832246d7f414481293d1e17b0c3f Signed-off-by: Tony Hansen <th1395@att.com> Issue-ID: DCAEGEN2-2292
-rw-r--r--Dockerfile60
-rwxr-xr-xmvn-phase-script.sh102
-rw-r--r--policyhandler/utils.py3
-rw-r--r--tox-local.ini2
-rw-r--r--tox.ini2
5 files changed, 135 insertions, 34 deletions
diff --git a/Dockerfile b/Dockerfile
index 34dbb2c..56940a2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,5 @@
# ================================================================================
# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
-# Copyright 2020 Deutsche Telekom. 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.
@@ -17,41 +16,42 @@
#
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
-# Use the recommended by SECCOM Python as the base image
-FROM nexus3.onap.org:10001/onap/integration-python:7.0.1
+# Use the official Python as the base image
+FROM python:3.6
-ARG user=onap
-ARG group=onap
+ENV INSROOT /opt/app
+ENV APPUSER policy_handler
+ENV APPDIR ${INSROOT}/${APPUSER}
-USER root
+RUN useradd -d ${APPDIR} ${APPUSER}
+
+WORKDIR ${APPDIR}
# Make port 25577 available to the world outside this container
EXPOSE 25577
-# Copy the current directory content into the container at WORKDIR
-COPY --chown=onap:onap ./*.py ./
-COPY --chown=onap:onap ./*.in ./
-COPY --chown=onap:onap ./*.txt ./
-COPY --chown=onap:onap ./run_policy.sh ./
-COPY --chown=onap:onap ./policyhandler/ ./policyhandler/
-COPY --chown=onap:onap ./etc/ ./etc/
-COPY --chown=onap:onap ./etc_customize/ ./etc_customize/
-
-RUN apk add build-base linux-headers openssl iproute2 bash && \
- pip install -r requirements.txt
-
-RUN mkdir -p logs \
- && chown -R $user:$group . \
- && chmod a+w logs \
- && chmod 500 etc \
- && chmod 500 run_policy.sh \
- && (CUST_SH=./etc_customize/customize.sh && test -e $CUST_SH && chmod 500 $CUST_SH \
- && ($CUST_SH | tee -a logs/"customize_$user_$(date +%Y_%m%d-%H%M%S).log" 2>&1)) \
- && ls -laR .
-
-USER $user
-
-VOLUME logs
+# Copy the current directory content into the container at ${APPDIR}
+COPY ./*.py ./
+COPY ./*.in ./
+COPY ./*.txt ./
+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 \
+ && 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}
+
+VOLUME ${APPDIR}/logs
# Run run_policy.sh when the container launches
CMD ["./run_policy.sh"]
diff --git a/mvn-phase-script.sh b/mvn-phase-script.sh
new file mode 100755
index 0000000..297eaf8
--- /dev/null
+++ b/mvn-phase-script.sh
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+# ================================================================================
+# Copyright (c) 2017 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.
+
+set -ex
+
+echo "running script: [$0] for module [$1] at stage [$2]"
+
+MVN_PROJECT_MODULEID="$1"
+MVN_PHASE="$2"
+PROJECT_ROOT=$(dirname $0)
+
+# expected environment variables
+if [ -z "${MVN_NEXUSPROXY}" ]; then
+ echo "MVN_NEXUSPROXY environment variable not set. Cannot proceed"
+ exit 1
+fi
+if [ -z "$SETTINGS_FILE" ]; then
+ echo "SETTINGS_FILE environment variable not set. Cannot proceed"
+ exit 2
+fi
+
+set +e
+RELEASE_TAG=${MVN_RELEASE_TAG:-R7}
+if [ "$RELEASE_TAG" != "R1" ]; then
+ RELEASE_TAGGED_DIR="${RELEASE_TAG}/"
+else
+ RELEASE_TAGGED_DIR="releases"
+fi
+if ! wget -O ${PROJECT_ROOT}/mvn-phase-lib.sh \
+ "$MVN_RAWREPO_BASEURL_DOWNLOAD"/org.onap.dcaegen2.utils/${RELEASE_TAGGED_DIR}scripts/mvn-phase-lib.sh; then
+ echo "Fail to download mvn-phase-lib.sh"
+ exit 1
+fi
+
+source "${PROJECT_ROOT}"/mvn-phase-lib.sh
+
+
+# This is the base for where "deploy" will upload
+# MVN_NEXUSPROXY is set in the pom.xml
+REPO=$MVN_NEXUSPROXY/content/sites/raw/$MVN_PROJECT_GROUPID
+
+TIMESTAMP=$(date +%C%y%m%dT%H%M%S)
+export BUILD_NUMBER="${TIMESTAMP}"
+
+shift 2
+
+# Customize the section below for each project
+case $MVN_PHASE in
+clean)
+ echo "==> clean phase script"
+ clean_templated_files
+ clean_tox_files
+ rm -rf ./venv-* ./*.wgn ./site logs
+ ;;
+generate-sources)
+ echo "==> generate-sources phase script"
+ expand_templates
+ ;;
+compile)
+ echo "==> compile phase script"
+ ;;
+test)
+ echo "==> test phase script"
+ mkdir logs
+ run_tox_test
+ ;;
+package)
+ echo "==> package phase script"
+ ;;
+install)
+ echo "==> install phase script"
+ ;;
+deploy)
+ echo "==> deploy phase script"
+ # below segments are example of how to deploy various artifacts
+ # copy the ones suitable for your repo, and remove the "if false" statement
+
+ # build docker image from Docker file (under root of repo) and push to registry
+ build_and_push_docker
+ ;;
+*)
+ echo "==> unprocessed phase"
+ ;;
+esac
+
diff --git a/policyhandler/utils.py b/policyhandler/utils.py
index 99e9ed7..685d7d8 100644
--- a/policyhandler/utils.py
+++ b/policyhandler/utils.py
@@ -1,6 +1,5 @@
# ================================================================================
# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
-# Copyright 2020 Deutsche Telekom. 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.
@@ -243,7 +242,7 @@ class RegexCoarser(object):
@staticmethod
def _compress(trie):
"""compress trie into shortest leaves"""
- for key, subtrie in trie.copy().items():
+ for key, subtrie in trie.items():
RegexCoarser._compress(subtrie)
subkeys = list(subtrie.keys())
if len(subkeys) == 1:
diff --git a/tox-local.ini b/tox-local.ini
index 007b6de..57267c2 100644
--- a/tox-local.ini
+++ b/tox-local.ini
@@ -1,6 +1,6 @@
# tox -c tox-local.ini
[tox]
-envlist = py36,py38
+envlist = py36
[testenv]
deps=
diff --git a/tox.ini b/tox.ini
index 68817c6..7feb471 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
# content of: tox.ini , put in same dir as setup.py
[tox]
-envlist = py36,py38
+envlist = py36
[testenv]
deps=