diff options
-rw-r--r-- | Dockerfile | 60 | ||||
-rwxr-xr-x | mvn-phase-script.sh | 102 | ||||
-rw-r--r-- | policyhandler/utils.py | 3 | ||||
-rw-r--r-- | pom.xml | 3 | ||||
-rw-r--r-- | setup.py | 3 | ||||
-rw-r--r-- | tox-local.ini | 2 | ||||
-rw-r--r-- | tox.ini | 2 | ||||
-rw-r--r-- | version.properties | 2 |
8 files changed, 39 insertions, 138 deletions
@@ -1,5 +1,6 @@ # ================================================================================ # 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. @@ -16,42 +17,41 @@ # # ECOMP is a trademark and service mark of AT&T Intellectual Property. -# Use the official Python as the base image -FROM python:3.6 +# Use the recommended by SECCOM Python as the base image +FROM nexus3.onap.org:10001/onap/integration-python:7.0.1 -ENV INSROOT /opt/app -ENV APPUSER policy_handler -ENV APPDIR ${INSROOT}/${APPUSER} +ARG user=onap +ARG group=onap -RUN useradd -d ${APPDIR} ${APPUSER} - -WORKDIR ${APPDIR} +USER root # Make port 25577 available to the world outside this container EXPOSE 25577 -# 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 +# 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 # Run run_policy.sh when the container launches CMD ["./run_policy.sh"] diff --git a/mvn-phase-script.sh b/mvn-phase-script.sh deleted file mode 100755 index 297eaf8..0000000 --- a/mvn-phase-script.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/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 685d7d8..99e9ed7 100644 --- a/policyhandler/utils.py +++ b/policyhandler/utils.py @@ -1,5 +1,6 @@ # ================================================================================ # 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. @@ -242,7 +243,7 @@ class RegexCoarser(object): @staticmethod def _compress(trie): """compress trie into shortest leaves""" - for key, subtrie in trie.items(): + for key, subtrie in trie.copy().items(): RegexCoarser._compress(subtrie) subkeys = list(subtrie.keys()) if len(subkeys) == 1: @@ -2,6 +2,7 @@ <!-- ================================================================================ Copyright (c) 2017-2019 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. @@ -29,7 +30,7 @@ limitations under the License. <groupId>org.onap.dcaegen2.platform</groupId> <artifactId>policy-handler</artifactId> <name>dcaegen2-platform-policy-handler</name> - <version>5.1.0-SNAPSHOT</version> + <version>5.1.1-SNAPSHOT</version> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> @@ -1,5 +1,6 @@ # ================================================================================
# Copyright (c) 2017-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.
@@ -22,7 +23,7 @@ from setuptools import setup setup(
name='policyhandler',
description='DCAE-Controller policy-handler to communicate with policy-engine',
- version="5.1.0",
+ version="5.1.1",
author='Alex Shatov',
packages=['policyhandler'],
zip_safe=False,
diff --git a/tox-local.ini b/tox-local.ini index 57267c2..007b6de 100644 --- a/tox-local.ini +++ b/tox-local.ini @@ -1,6 +1,6 @@ # tox -c tox-local.ini [tox] -envlist = py36 +envlist = py36,py38 [testenv] deps= @@ -1,6 +1,6 @@ # content of: tox.ini , put in same dir as setup.py [tox] -envlist = py36 +envlist = py36,py38 [testenv] deps= diff --git a/version.properties b/version.properties index cf34660..0831763 100644 --- a/version.properties +++ b/version.properties @@ -1,6 +1,6 @@ major=5
minor=1
-patch=0
+patch=1
base_version=${major}.${minor}.${patch}
release_version=${base_version}
snapshot_version=${base_version}-SNAPSHOT
|