From d38b89bd965a703ff4070f47956a5aba249c3415 Mon Sep 17 00:00:00 2001 From: Jorge Hernandez Date: Thu, 3 May 2018 14:08:42 -0500 Subject: install controlloop drools applications it will get the proper control loop application on the fly to minimize space used in configmaps. upgrades mariadb to latest stable version (previous one used by policy was outdated). fixes pessimistic lock DB problems on PE side fixes outdated policy-keystore overriding the image one Change-Id: Ia78d23b57b4e314c44c97912d544b85d0d6c9c5e Issue-ID: POLICY-766 Signed-off-by: Jorge Hernandez --- .../opt/policy/config/drools/drools-preinstall.sh | 52 ++++++++++++++++++++++ .../charts/drools/resources/scripts/do-start.sh | 50 --------------------- .../policy/charts/drools/templates/configmap.yaml | 8 ---- .../charts/drools/templates/statefulset.yaml | 22 ++++----- .../charts/mariadb/templates/deployment.yaml | 1 + kubernetes/policy/charts/mariadb/values.yaml | 2 +- .../policy-common/resources/config/pe/base.conf | 4 +- 7 files changed, 65 insertions(+), 74 deletions(-) create mode 100644 kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-preinstall.sh delete mode 100644 kubernetes/policy/charts/drools/resources/scripts/do-start.sh diff --git a/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-preinstall.sh b/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-preinstall.sh new file mode 100644 index 0000000000..8b290128b3 --- /dev/null +++ b/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-preinstall.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# +# ============LICENSE_START======================================================= +# ONAP +# ================================================================================ +# Copyright (C) 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========================================================= +# + +# ################################# +# Usage +# ################################# + +function usage { + echo + echo "Usage: $(basename $0)" + echo +} + +if [[ ${DEBUG} == y ]]; then + set -x +fi + +if [[ -z ${BUILD_VERSION} ]]; then + echo "no BUILD_VERSION available as environment variable"" + usage + exit 1 +fi + +if [[ -z ${POLICY_INSTALL} ]]; then + echo "no POLICY_INSTALL available as environment variable"" + usage + exit 2 +fi + +CONFIG_DIR=$(dirname "$0") +echo "invoking ${CONFIG_DIR}/apps-install.sh for controlloop ${BUILD_VERSION} at ${POLICY_INSTALL}" +export DEBUG=y +bash ${CONFIG_DIR}/apps-install.sh controlloop ${BUILD_VERSION} ${POLICY_INSTALL} +unzip -o ${POLICY_INSTALL}/app*.zip -d ${POLICY_INSTALL} diff --git a/kubernetes/policy/charts/drools/resources/scripts/do-start.sh b/kubernetes/policy/charts/drools/resources/scripts/do-start.sh deleted file mode 100644 index 1c40e11b16..0000000000 --- a/kubernetes/policy/charts/drools/resources/scripts/do-start.sh +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada, AT&T -# -# 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. - -#!/bin/bash - -# skip installation if build.info file is present (restarting an existing container) -if [[ -f /opt/app/policy/etc/build.info ]]; then - echo "Found existing installation, will not reinstall" - . /opt/app/policy/etc/profile.d/env.sh -else - # replace conf files from installer with environment-specific files - # mounted from the hosting VM - if [[ -d config ]]; then - cp config/*.conf . - fi - - ./docker-install.sh - - . /opt/app/policy/etc/profile.d/env.sh - - # install policy keystore - mkdir -p $POLICY_HOME/etc/ssl - cp config/policy-keystore $POLICY_HOME/etc/ssl - - if [[ -x config/drools-tweaks.sh ]] ; then - echo "Executing tweaks" - # file may not be executable; running it as an - # argument to bash avoids needing execute perms. - bash config/drools-tweaks.sh - fi - - # sql provisioning scripts should be invoked here. -fi - -echo "Starting processes" - -policy start - -sleep 1000d diff --git a/kubernetes/policy/charts/drools/templates/configmap.yaml b/kubernetes/policy/charts/drools/templates/configmap.yaml index 36f458f5a4..29b1c56b89 100644 --- a/kubernetes/policy/charts/drools/templates/configmap.yaml +++ b/kubernetes/policy/charts/drools/templates/configmap.yaml @@ -30,14 +30,6 @@ data: --- apiVersion: v1 kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-script-configmap - namespace: {{ include "common.namespace" . }} -data: -{{ tpl (.Files.Glob "resources/scripts/do-start.sh*").AsConfig . | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-log-configmap namespace: {{ include "common.namespace" . }} diff --git a/kubernetes/policy/charts/drools/templates/statefulset.yaml b/kubernetes/policy/charts/drools/templates/statefulset.yaml index 5dd49edfec..e492760ac7 100644 --- a/kubernetes/policy/charts/drools/templates/statefulset.yaml +++ b/kubernetes/policy/charts/drools/templates/statefulset.yaml @@ -85,9 +85,6 @@ spec: - mountPath: /etc/localtime name: localtime readOnly: true - - mountPath: /tmp/policy-install/config/policy-keystore - name: drools-secret - subPath: policy-keystore - mountPath: /tmp/policy-install/config/feature-healthcheck.conf name: drools-secret subPath: feature-healthcheck.conf @@ -103,6 +100,9 @@ spec: - mountPath: /tmp/policy-install/config/apps-install.sh name: drools-config subPath: apps-install.sh + - mountPath: /tmp/policy-install/config/drools-preinstall.sh + name: drools-config + subPath: drools-preinstall.sh - mountPath: /usr/share/maven/conf/settings.xml name: drools-settingsxml subPath: settings.xml @@ -111,9 +111,6 @@ spec: - mountPath: /tmp/logback.xml name: policy-logback subPath: logback.xml - - mountPath: /tmp/policy-install/do-start.sh - name: pe-scripts - subPath: do-start.sh lifecycle: postStart: exec: @@ -169,19 +166,18 @@ spec: - key: drools-tweaks.sh path: drools-tweaks.sh mode: 0755 + - key: apps-install.sh + path: apps-install.sh + mode: 0755 + - key: drools-preinstall.sh + path: drools-preinstall.sh + mode: 0755 - name: drools-secret secret: secretName: {{ include "common.fullname" . }}-secret items: - - key: policy-keystore - path: policy-keystore - mode: 0644 - key: feature-healthcheck.conf path: feature-healthcheck.conf mode: 0644 - - name: pe-scripts - configMap: - name: {{ include "common.fullname" . }}-script-configmap - defaultMode: 0777 imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/policy/charts/mariadb/templates/deployment.yaml b/kubernetes/policy/charts/mariadb/templates/deployment.yaml index 1709af7df2..248d35b582 100644 --- a/kubernetes/policy/charts/mariadb/templates/deployment.yaml +++ b/kubernetes/policy/charts/mariadb/templates/deployment.yaml @@ -41,6 +41,7 @@ spec: {{- if eq .Values.liveness.enabled true }} args: - --lower-case-table-names=1 + - --wait_timeout=28800 livenessProbe: tcpSocket: port: {{ .Values.service.internalPort }} diff --git a/kubernetes/policy/charts/mariadb/values.yaml b/kubernetes/policy/charts/mariadb/values.yaml index eb62715e70..ea79ba6d59 100644 --- a/kubernetes/policy/charts/mariadb/values.yaml +++ b/kubernetes/policy/charts/mariadb/values.yaml @@ -25,7 +25,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: mariadb:10.0.34 +image: mariadb:10.2.14 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/policy/charts/policy-common/resources/config/pe/base.conf b/kubernetes/policy/charts/policy-common/resources/config/pe/base.conf index ce8a0306a4..c5dd8ca2a7 100644 --- a/kubernetes/policy/charts/policy-common/resources/config/pe/base.conf +++ b/kubernetes/policy/charts/policy-common/resources/config/pe/base.conf @@ -18,8 +18,8 @@ POLICY_LOGS=/var/log/onap KEYSTORE_PASSWD=Pol1cy_0nap JDBC_DRIVER=org.mariadb.jdbc.Driver -JDBC_URL=jdbc:mariadb://{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/onap_sdk?failOverReadOnly=false&autoReconnect=true -JDBC_LOG_URL=jdbc:mariadb://{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/log?failOverReadOnly=false&autoReconnect=true +JDBC_URL=jdbc:mariadb://{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/onap_sdk?connectTimeout=30000&socketTimeout=60000&log=true&sessionVariables=max_statement_time=30 +JDBC_LOG_URL=jdbc:mariadb://{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/log?connectTimeout=30000&socketTimeout=60000&log=true&sessionVariables=max_statement_time=30 JDBC_USER=policy_user JDBC_PASSWORD=policy_user -- cgit 1.2.3-korg