From dbf66434638f052bf79409d0b17750e01f96cc9f Mon Sep 17 00:00:00 2001 From: Tony Hansen Date: Fri, 21 Aug 2020 15:27:43 +0000 Subject: Revert "Run in Python 3.8" This reverts commit 49d734038679e128ecd523aea45391327685ce41. Reason for revert: version bump missing Change-Id: Ifc8e76857d52832246d7f414481293d1e17b0c3f Signed-off-by: Tony Hansen Issue-ID: DCAEGEN2-2292 --- Dockerfile | 60 ++++++++++++++--------------- mvn-phase-script.sh | 102 +++++++++++++++++++++++++++++++++++++++++++++++++ policyhandler/utils.py | 3 +- tox-local.ini | 2 +- tox.ini | 2 +- 5 files changed, 135 insertions(+), 34 deletions(-) create mode 100755 mvn-phase-script.sh 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= -- cgit 1.2.3-korg