From c6f2da8cb993382057c6e141b68af9334b6391d1 Mon Sep 17 00:00:00 2001 From: Jorge Hernandez Date: Wed, 13 Feb 2019 13:12:37 -0600 Subject: Decouple nexus reconfiguration from installation This allows for nexus to be reconfigured dynamically. Change-Id: I103707ab7525ddb29663d7785739a34dff538605 Issue-ID: POLICY-1518 Signed-off-by: Jorge Hernandez --- .../config/feature-state-management.properties | 12 +- packages/base/src/files/bin/configure-maven | 32 ++++ packages/base/src/files/etc/m2/settings.xml | 171 +++++++++++++++++++++ .../base/src/files/etc/m2/standalone-settings.xml | 118 ++++++++++++++ packages/base/src/files/m2/settings.xml | 171 --------------------- packages/base/src/files/m2/standalone-settings.xml | 118 -------------- packages/docker/src/main/docker/docker-install.sh | 51 ++---- .../server-gen/bin/policy-management-controller | 7 +- 8 files changed, 348 insertions(+), 332 deletions(-) create mode 100644 packages/base/src/files/bin/configure-maven create mode 100644 packages/base/src/files/etc/m2/settings.xml create mode 100644 packages/base/src/files/etc/m2/standalone-settings.xml delete mode 100755 packages/base/src/files/m2/settings.xml delete mode 100755 packages/base/src/files/m2/standalone-settings.xml diff --git a/feature-state-management/src/main/feature/config/feature-state-management.properties b/feature-state-management/src/main/feature/config/feature-state-management.properties index 9005519c..d43675e8 100644 --- a/feature-state-management/src/main/feature/config/feature-state-management.properties +++ b/feature-state-management/src/main/feature/config/feature-state-management.properties @@ -2,7 +2,7 @@ # ============LICENSE_START======================================================= # feature-state-management # ================================================================================ -# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2017-2019 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. @@ -74,10 +74,10 @@ refresh_state_audit_interval_ms=600000 # Assume it's the releaseRepository that needs to be audited, # because that's the one BRMGW will publish to. -repository.audit.id=${{RELEASE_REPOSITORY_ID}} -repository.audit.url=${{RELEASE_REPOSITORY_URL}} -repository.audit.username=${{REPOSITORY_USERNAME}} -repository.audit.password=${{REPOSITORY_PASSWORD}} +repository.audit.id=${env:RELEASE_REPOSITORY_ID} +repository.audit.url=${env:RELEASE_REPOSITORY_URL} +repository.audit.username=${env:REPOSITORY_USERNAME} +repository.audit.password=${env:REPOSITORY_PASSWORD} # Flag to control the execution of the subsystemTest for the Nexus Maven repository repository.audit.is.active=false repository.audit.ignore.errors=true @@ -85,4 +85,4 @@ repository.audit.ignore.errors=true # DB Audit Properties # Flag to control the execution of the subsystemTest for the Database -db.audit.is.active=false \ No newline at end of file +db.audit.is.active=false diff --git a/packages/base/src/files/bin/configure-maven b/packages/base/src/files/bin/configure-maven new file mode 100644 index 00000000..fc6a7f9c --- /dev/null +++ b/packages/base/src/files/bin/configure-maven @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +# ============LICENSE_START======================================================= +# ONAP +# ================================================================================ +# Copyright (C) 2019 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========================================================= + +if [[ ${DEBUG} == y ]]; then + set -x +fi + +HOME_M2="${HOME}"/.m2 +mkdir -p "${HOME_M2}" 2> /dev/null + +if [[ -z "${SNAPSHOT_REPOSITORY_URL}" && -z "${RELEASE_REPOSITORY_URL}" ]]; then + ln -s -f "${POLICY_HOME}"/etc/m2/standalone-settings.xml "${HOME_M2}"/settings.xml +else + ln -s -f "${POLICY_HOME}"/etc/m2/settings.xml "${HOME_M2}"/settings.xml +fi diff --git a/packages/base/src/files/etc/m2/settings.xml b/packages/base/src/files/etc/m2/settings.xml new file mode 100644 index 00000000..2a56fcad --- /dev/null +++ b/packages/base/src/files/etc/m2/settings.xml @@ -0,0 +1,171 @@ + + + + + + + + + + policy-local + + + + file-repository + file:${user.home}/.m2/file-repository + + true + always + + + true + always + + + + + + + + policy-releases + + + + ${env.RELEASE_REPOSITORY_ID} + ${env.RELEASE_REPOSITORY_URL} + + true + + + false + + + + + + + + policy-snapshots + + + + ${env.SNAPSHOT_REPOSITORY_ID} + ${env.SNAPSHOT_REPOSITORY_URL} + + false + + + true + always + + + + + + + + onap-releases + + + + onap-releases + onap-releases + https://nexus.onap.org/content/repositories/releases/ + + true + + + false + + + + + + + + onap-staging + + + + onap-staging + onap-staging + https://nexus.onap.org/content/repositories/staging/ + + true + always + + + false + + + + + + + + + onap-snapshots + + + + onap-snapshots + onap-snapshots + https://nexus.onap.org/content/repositories/snapshots/ + + false + + + true + always + + + + + + + + + + policy-local + policy-releases + policy-snapshots + onap-releases + onap-staging + onap-snapshots + + + + + ${env.SNAPSHOT_REPOSITORY_ID} + ${env.REPOSITORY_USERNAME} + ${env.REPOSITORY_PASSWORD} + + + ${env.RELEASE_REPOSITORY_ID} + ${env.REPOSITORY_USERNAME} + ${env.REPOSITORY_PASSWORD} + + + + + diff --git a/packages/base/src/files/etc/m2/standalone-settings.xml b/packages/base/src/files/etc/m2/standalone-settings.xml new file mode 100644 index 00000000..39e7751a --- /dev/null +++ b/packages/base/src/files/etc/m2/standalone-settings.xml @@ -0,0 +1,118 @@ + + + + + + + + + + policy-local + + + + file-repository + file:${user.home}/.m2/file-repository + + true + always + + + true + always + + + + + + + + onap-releases + + + + onap-releases + onap-releases + https://nexus.onap.org/content/repositories/releases/ + + true + + + false + + + + + + + + onap-staging + + + + onap-staging + onap-staging + https://nexus.onap.org/content/repositories/staging/ + + true + always + + + false + + + + + + + + onap-snapshots + + + + onap-snapshots + onap-snapshots + https://nexus.onap.org/content/repositories/snapshots/ + + false + + + true + always + + + + + + + + + + policy-local + onap-releases + onap-staging + onap-snapshots + + + + diff --git a/packages/base/src/files/m2/settings.xml b/packages/base/src/files/m2/settings.xml deleted file mode 100755 index 63ab214d..00000000 --- a/packages/base/src/files/m2/settings.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - - policy-local - - - - file-repository - file:${user.home}/.m2/file-repository - - true - always - - - true - always - - - - - - - - policy-releases - - - - ${env.RELEASE_REPOSITORY_ID} - ${env.RELEASE_REPOSITORY_URL} - - true - - - false - - - - - - - - policy-snapshots - - - - ${env.SNAPSHOT_REPOSITORY_ID} - ${env.SNAPSHOT_REPOSITORY_URL} - - false - - - true - always - - - - - - - - onap-releases - - - - onap-releases - onap-releases - https://nexus.onap.org/content/repositories/releases/ - - true - - - false - - - - - - - - onap-staging - - - - onap-staging - onap-staging - https://nexus.onap.org/content/repositories/staging/ - - true - always - - - false - - - - - - - - - onap-snapshots - - - - onap-snapshots - onap-snapshots - https://nexus.onap.org/content/repositories/snapshots/ - - false - - - true - always - - - - - - - - - - policy-local - policy-releases - policy-snapshots - onap-releases - onap-staging - onap-snapshots - - - - - ${env.SNAPSHOT_REPOSITORY_ID} - ${env.REPOSITORY_USERNAME} - ${env.REPOSITORY_PASSWORD} - - - ${env.RELEASE_REPOSITORY_ID} - ${env.REPOSITORY_USERNAME} - ${env.REPOSITORY_PASSWORD} - - - - - diff --git a/packages/base/src/files/m2/standalone-settings.xml b/packages/base/src/files/m2/standalone-settings.xml deleted file mode 100755 index 63f2f92d..00000000 --- a/packages/base/src/files/m2/standalone-settings.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - policy-local - - - - file-repository - file:${user.home}/.m2/file-repository - - true - always - - - true - always - - - - - - - - onap-releases - - - - onap-releases - onap-releases - https://nexus.onap.org/content/repositories/releases/ - - true - - - false - - - - - - - - onap-staging - - - - onap-staging - onap-staging - https://nexus.onap.org/content/repositories/staging/ - - true - always - - - false - - - - - - - - onap-snapshots - - - - onap-snapshots - onap-snapshots - https://nexus.onap.org/content/repositories/snapshots/ - - false - - - true - always - - - - - - - - - - policy-local - onap-releases - onap-staging - onap-snapshots - - - - diff --git a/packages/docker/src/main/docker/docker-install.sh b/packages/docker/src/main/docker/docker-install.sh index 76f8fb27..13a366af 100644 --- a/packages/docker/src/main/docker/docker-install.sh +++ b/packages/docker/src/main/docker/docker-install.sh @@ -4,7 +4,7 @@ # ============LICENSE_START======================================================= # Installation Package # ================================================================================ -# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2017-2019 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. @@ -209,35 +209,18 @@ function configure_settings() { # if both SNAPSHOT_REPOSITORY_URL and RELEASE_REPOSITORY_URL are null, # use standalone-settings.xml that just defines the file-based repo. # if only one of them is specified, use file-based repo for the other. - if [[ -z "${SNAPSHOT_REPOSITORY_URL}" && -z "${RELEASE_REPOSITORY_URL}" ]]; then - echo "SNAPSHOT_REPOSITORY_URL and RELEASE_REPOSITORY_URL properties not set, configuring settings.xml for standalone operation" - mv ${HOME_M2}/standalone-settings.xml ${HOME_M2}/settings.xml - else - rm $HOME_M2/standalone-settings.xml - if [[ -n "${SNAPSHOT_REPOSITORY_URL}" ]] ; then - snapshotRepoID=${SNAPSHOT_REPOSITORY_ID} - snapshotRepoUrl=${SNAPSHOT_REPOSITORY_URL} - fi - if [[ -n "${RELEASE_REPOSITORY_URL}" ]] ; then - releaseRepoID=${RELEASE_REPOSITORY_ID} - releaseRepoUrl=${RELEASE_REPOSITORY_URL} - fi + ${POLICY_HOME}/bin/configure-maven + + if [[ -n "${SNAPSHOT_REPOSITORY_URL}" ]] ; then + snapshotRepoID=${SNAPSHOT_REPOSITORY_ID} + snapshotRepoUrl=${SNAPSHOT_REPOSITORY_URL} fi - SED_LINE="sed -i" - SED_LINE+=" -e 's!\${{SNAPSHOT_REPOSITORY_ID}}!${snapshotRepoID}!g' " - SED_LINE+=" -e 's!\${{SNAPSHOT_REPOSITORY_URL}}!${snapshotRepoUrl}!g' " - SED_LINE+=" -e 's!\${{RELEASE_REPOSITORY_ID}}!${releaseRepoID}!g' " - SED_LINE+=" -e 's!\${{RELEASE_REPOSITORY_URL}}!${releaseRepoUrl}!g' " - SED_LINE+=" -e 's!\${{REPOSITORY_USERNAME}}!${REPOSITORY_USERNAME}!g' " - SED_LINE+=" -e 's!\${{REPOSITORY_PASSWORD}}!${REPOSITORY_PASSWORD}!g' " - SED_LINE+=" -e 's!\${{fileRepoID}}!${fileRepoID}!g' " - SED_LINE+=" -e 's!\${{fileRepoUrl}}!${fileRepoUrl}!g' " - - SED_LINE+="$HOME_M2/settings.xml" - eval "${SED_LINE}" - + if [[ -n "${RELEASE_REPOSITORY_URL}" ]] ; then + releaseRepoID=${RELEASE_REPOSITORY_ID} + releaseRepoUrl=${RELEASE_REPOSITORY_URL} + fi } function configure_keystore() { @@ -251,12 +234,10 @@ function configure_keystore() { if [[ -n ${TRUSTSTORE_PASSWD} ]]; then keytool -storepasswd -storepass "${DEFAULT_TRUSTSTORE_PASSWORD}" -keystore "${POLICY_HOME}/etc/ssl/policy-truststore" -new "${TRUSTSTORE_PASSWD}" - keytool -list -keystore "${POLICY_HOME}/etc/ssl/policy-truststore" -storepass "${TRUSTSTORE_PASSWD}" fi if [[ -n ${KEYSTORE_PASSWD} ]]; then keytool -storepasswd -storepass "${DEFAULT_KEYSTORE_PASSWORD}" -keystore "${POLICY_HOME}/etc/ssl/policy-keystore" -new "${KEYSTORE_PASSWD}" - keytool -list -keystore "${POLICY_HOME}/etc/ssl/policy-keystore" -storepass "${KEYSTORE_PASSWD}" fi } @@ -473,13 +454,11 @@ function install_base() { echo "WARNING: Failed to rename $HOME_M2 directory; will use old directory" fi fi - if [[ ! -d $HOME_M2 ]]; then - echo "Moving m2 directory to $HOME_M2" - mv $POLICY_HOME/m2 $HOME_M2 - if [[ $? != 0 ]]; then - echo "ERROR: Error in moving m2 directory" - exit 1 - fi + + mkdir -p ${HOME_M2} + if [[ $? != 0 ]]; then + echo "ERROR: Cannot create ${HOME_M2} directory" + exit 1 fi # base.conf properties may have characters with special meaning to bash, diff --git a/policy-management/src/main/server-gen/bin/policy-management-controller b/policy-management/src/main/server-gen/bin/policy-management-controller index 51d83d6a..589c4c32 100644 --- a/policy-management/src/main/server-gen/bin/policy-management-controller +++ b/policy-management/src/main/server-gen/bin/policy-management-controller @@ -4,7 +4,7 @@ # ============LICENSE_START======================================================= # ONAP POLICY # ================================================================================ -# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2017-2019 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. @@ -49,6 +49,11 @@ function um_start() { if [ -e $_LOGS/$PNAME.err ]; then mv $_LOGS/$PNAME.err $_LOGS/$PNAME.err.1; fi CP=$(ls $_DIR/lib/*.jar | xargs -I X printf ":%s" X) + # pick up any new changes in the environment every time we start + source ${POLICY_HOME}/etc/profile.d/env.sh + + ${POLICY_HOME}/bin/configure-maven + # If 'system.properties' exists, convert it into JVM arguments. # Note that the following also handles property values with spaces. IFS=$'\n' -- cgit 1.2.3-korg