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 <jh1730@att.com>
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 0000000..8b29012
--- /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 1c40e11..0000000
--- 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 36f458f..29b1c56 100644
--- a/kubernetes/policy/charts/drools/templates/configmap.yaml
+++ b/kubernetes/policy/charts/drools/templates/configmap.yaml
@@ -31,14 +31,6 @@
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" . }}
data:
diff --git a/kubernetes/policy/charts/drools/templates/statefulset.yaml b/kubernetes/policy/charts/drools/templates/statefulset.yaml
index 5dd49ed..e492760 100644
--- a/kubernetes/policy/charts/drools/templates/statefulset.yaml
+++ b/kubernetes/policy/charts/drools/templates/statefulset.yaml
@@ -85,9 +85,6 @@
- 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 @@
- 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 @@
- 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 @@
- 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 1709af7..248d35b 100644
--- a/kubernetes/policy/charts/mariadb/templates/deployment.yaml
+++ b/kubernetes/policy/charts/mariadb/templates/deployment.yaml
@@ -41,6 +41,7 @@
{{- 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 eb62715..ea79ba6 100644
--- a/kubernetes/policy/charts/mariadb/values.yaml
+++ b/kubernetes/policy/charts/mariadb/values.yaml
@@ -25,7 +25,7 @@
#################################################################
# 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 ce8a030..c5dd8ca 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 @@
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