aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrzegorz-Lis <grzegorz.lis@nokia.com>2020-11-06 12:37:36 +0000
committerKrzysztof Kosewski <krzysztof.kosewski@nokia.com>2021-01-08 10:35:30 +0000
commita9270d9dbdeed2da5d3527a62f9b2067b5ccb0e5 (patch)
tree69985763c0f69e900c1fd83737899e508be23f3a
parent50d29a32cadf7c8c91e3409d8d604cc4852dadb4 (diff)
[PORTAL] Make Portal use generic Cassandra image
Portal uses currently a customized, old Cassandra Image (cassandra_music:3.0.0) which doesn't support dual stack (IPv4 and IPv6). Intention of this change is to replace this image with generic, bitnami image. Issue-ID: PORTAL-1037 Signed-off-by: Grzegorz Lis <grzegorz.lis@nokia.com> Change-Id: I6d76a09328adc20b408f1e22fd608cd44b074712
-rw-r--r--kubernetes/portal/components/portal-cassandra/resources/config/cassandra/docker-entrypoint-initdb.d/portal.cql6
-rw-r--r--kubernetes/portal/components/portal-cassandra/templates/deployment.yaml59
-rw-r--r--kubernetes/portal/components/portal-cassandra/values.yaml11
3 files changed, 59 insertions, 17 deletions
diff --git a/kubernetes/portal/components/portal-cassandra/resources/config/cassandra/docker-entrypoint-initdb.d/portal.cql b/kubernetes/portal/components/portal-cassandra/resources/config/cassandra/docker-entrypoint-initdb.d/portal.cql
index 4fd368a5b8..21715a9e2a 100644
--- a/kubernetes/portal/components/portal-cassandra/resources/config/cassandra/docker-entrypoint-initdb.d/portal.cql
+++ b/kubernetes/portal/components/portal-cassandra/resources/config/cassandra/docker-entrypoint-initdb.d/portal.cql
@@ -1,4 +1,5 @@
-// Copyright © 2018 Amdocs, Bell Canada, AT&T
+// Copyright (c) 2018 Amdocs, Bell Canada, AT&T
+// Modifications Copyright (c) 2020 Nokia
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -66,3 +67,6 @@ CREATE TABLE portal.spring_session_attributes (
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';
+
+CREATE TABLE portal.health_check (primary_id text PRIMARY KEY, creation_time text);
+insert into portal.health_check (primary_id,creation_time) values ('ECOMPPortal-25927','2018-05-25T20:14:39.408Z');
diff --git a/kubernetes/portal/components/portal-cassandra/templates/deployment.yaml b/kubernetes/portal/components/portal-cassandra/templates/deployment.yaml
index 80197a6094..84a78ab977 100644
--- a/kubernetes/portal/components/portal-cassandra/templates/deployment.yaml
+++ b/kubernetes/portal/components/portal-cassandra/templates/deployment.yaml
@@ -1,6 +1,7 @@
{{/*
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T
+# Copyright (c) 2017 Amdocs, Bell Canada
+# Modifications Copyright (c) 2018 AT&T
+# Modifications Copyright (c) 2020 Nokia
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -38,8 +39,13 @@ spec:
spec:
containers:
- name: {{ include "common.name" . }}
- image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /bin/bash
+ - -c
+ - |
+ /opt/bitnami/scripts/cassandra/entrypoint.sh /opt/bitnami/scripts/cassandra/run.sh
ports:
- containerPort: {{ .Values.service.internalPort }}
- containerPort: {{ .Values.service.internalPort2 }}
@@ -51,37 +57,64 @@ spec:
exec:
command:
- /bin/bash
- - -c
- - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
+ - -ec
+ - |
+ nodetool status
initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
periodSeconds: {{ .Values.liveness.periodSeconds }}
+ successThreshold: {{ .Values.liveness.successThreshold }}
+ failureThreshold: {{ .Values.liveness.failureThreshold }}
{{ end }}
readinessProbe:
exec:
command:
- /bin/bash
- - -c
- - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
+ - -ec
+ - |
+ nodetool status | grep -E "^UN\\s+${POD_IP}"
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
+ successThreshold: {{ .Values.readiness.successThreshold }}
+ failureThreshold: {{ .Values.readiness.failureThreshold }}
+ lifecycle:
+ preStop:
+ exec:
+ command:
+ - bash
+ - -ec
+ - nodetool decommission
env:
- - name: CASSUSER
+ - name: CASSANDRA_USER
{{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-creds" "key" "login") | indent 12}}
- - name: CASSPASS
+ - name: CASSANDRA_PASSWORD
{{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-creds" "key" "password") | indent 12}}
- - name: JVM_OPTS
- value: "{{ .Values.config.cassandraJvmOpts }}"
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
+ - name: CASSANDRA_PASSWORD_SEEDER
+ value: "yes"
+ - name: BITNAMI_DEBUG
+ value: "true"
+ - name: CASSANDRA_CLUSTER_NAME
+ value: cassandra
+ - name: CASSANDRA_NUM_TOKENS
+ value: "256"
+ - name: CASSANDRA_DATACENTER
+ value: dc1
+ - name: CASSANDRA_ENDPOINT_SNITCH
+ value: SimpleSnitch
+ - name: CASSANDRA_RACK
+ value: rack1
+ - name: CASSANDRA_ENABLE_RPC
+ value: "true"
volumeMounts:
- mountPath: /etc/localtime
name: localtime
readOnly: true
- name: cassandra-docker-entrypoint-initdb
- mountPath: /docker-entrypoint-initdb.d/aaa_portal_single.cql
- subPath: portal_single.cql
+ mountPath: /docker-entrypoint-initdb.d/aaa_portal.cql
+ subPath: portal.cql
- name: {{ include "common.fullname" . }}-data
mountPath: /var/lib/cassandra/data
resources:
diff --git a/kubernetes/portal/components/portal-cassandra/values.yaml b/kubernetes/portal/components/portal-cassandra/values.yaml
index a0488e5cc7..ec76d08b72 100644
--- a/kubernetes/portal/components/portal-cassandra/values.yaml
+++ b/kubernetes/portal/components/portal-cassandra/values.yaml
@@ -1,5 +1,6 @@
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T
+# Copyright (c) 2017 Amdocs, Bell Canada
+# Modifications Copyright (c) 2018 AT&T
+# Modifications Copyright (c) 2020 Nokia
#
# 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 @@ global: # global defaults
# application image
-image: onap/music/cassandra_music:3.0.0
+image: bitnami/cassandra:3.11.9-debian-10-r30
pullPolicy: Always
#################################################################
@@ -56,10 +57,14 @@ liveness:
# necessary to disable liveness probe when setting breakpoints
# in debugger so K8s doesn't restart unresponsive container
enabled: true
+ successThreshold: 1
+ failureThreshold: 3
readiness:
initialDelaySeconds: 10
periodSeconds: 10
+ successThreshold: 1
+ failureThreshold: 3
## Persist data to a persitent volume
persistence: