[bitnami/cassandra] Add tests and publish using VIB (#11803)

* [bitnami/cassandra] Add Goss tests

Signed-off-by: FraPazGal <fdepaz@vmware.com>

* Improve tests readability and add test for replication

Signed-off-by: FraPazGal <fdepaz@vmware.com>

* Add cassandra to CD

Signed-off-by: FraPazGal <fdepaz@vmware.com>

* Apply suggestions

Signed-off-by: FraPazGal <fdepaz@vmware.com>

* Modify default values

Signed-off-by: FraPazGal <fdepaz@vmware.com>

* Add id test

Signed-off-by: FraPazGal <fdepaz@vmware.com>

* Fix typo

Signed-off-by: FraPazGal <fdepaz@vmware.com>

Signed-off-by: FraPazGal <fdepaz@vmware.com>
This commit is contained in:
Francisco de Paz Galán
2022-08-23 19:35:17 +02:00
committed by GitHub
parent 965eddd613
commit 06347b57ad
5 changed files with 80 additions and 2 deletions
+1
View File
@@ -5,6 +5,7 @@ on: # rebuild any PRs and main branch changes
- master
paths:
- 'bitnami/airflow/**'
- 'bitnami/cassandra/**'
- 'bitnami/consul/**'
- 'bitnami/discourse/**'
- 'bitnami/dokuwiki/**'
+37
View File
@@ -0,0 +1,37 @@
file:
{{ .Vars.persistence.mountPath }}:
exists: true
filetype: directory
mode: "2775"
owner: root
/opt/bitnami/cassandra/conf/cassandra.yaml:
exists: true
filetype: file
mode: "0644"
group: root
contains:
- /num_tokens.*{{ .Vars.cluster.numTokens }}/
/var/run/secrets/kubernetes.io/serviceaccount:
exists: {{ .Vars.serviceAccount.automountServiceAccountToken }}
filetype: directory
mode: "3777"
command:
{{- $dbUser := .Vars.dbUser.user }}
{{- $dbPassword := .Vars.dbUser.password }}
{{- $port := .Vars.containerPorts.cql }}
{{- $nodes := .Vars.replicaCount }}
{{- $keyspace := printf "test_%s" (randAlpha 5) }}
manage-keyspace:
exec: "cqlsh -u {{ $dbUser }} -p {{ $dbPassword }} -e 'CREATE KEYSPACE {{ $keyspace }} WITH REPLICATION = { $$class$$: $$SimpleStrategy$$, $$replication_factor$$ : {{ $nodes }} };' cassandra-0.cassandra-headless {{ $port }}{{ range $e, $i := until $nodes }} && cqlsh -u {{ $dbUser }} -p {{ $dbPassword }} -e 'USE {{ $keyspace }};' cassandra-{{ $i }}.cassandra-headless {{ $port }}{{ end }}"
exit-status: 0
timeout: 20000
cluster-size:
exec: if [ "$(nodetool status | grep {{ .Vars.cluster.numTokens }} | wc -l)" -ne {{ $nodes }} ]; then exit 1; fi
exit-status: 0
timeout: 20000
check-user-info:
exec: id
exit-status: 0
stdout:
- uid={{ .Vars.containerSecurityContext.runAsUser }}
- /groups=.*{{ .Vars.podSecurityContext.fsGroup }}/
+16
View File
@@ -0,0 +1,16 @@
dbUser:
user: test_cassandra
password: "ComplicatedPassword123!4"
persistence:
mountPath: /bitnami/cassandra
containerPorts:
cql: 9043
replicaCount: 2
cluster:
numTokens: 256
serviceAccount:
automountServiceAccountToken: true
podSecurityContext:
fsGroup: 1002
containerSecurityContext:
runAsUser: 1002
+13 -1
View File
@@ -22,7 +22,7 @@
"url": "{SHA_ARCHIVE}",
"path": "/bitnami/cassandra"
},
"runtime_parameters": "ImRiVXNlciI6CiAgInBhc3N3b3JkIjogIjBQVzFmbFlMIgogICJ1c2VyIjogImNhc3NhbmRyYSIKInNlcnZpY2UiOgogICJwb3J0cyI6CiAgICAiY3FsIjogODAKICAidHlwZSI6ICJMb2FkQmFsYW5jZXIi",
"runtime_parameters": "ZGJVc2VyOgogIHVzZXI6IHRlc3RfY2Fzc2FuZHJhCiAgcGFzc3dvcmQ6ICJDb21wbGljYXRlZFBhc3N3b3JkMTIzITQiCnJlcGxpY2FDb3VudDogMgpjbHVzdGVyOgogIHNlZWRDb3VudDogMgogIG51bVRva2VuczogMjU2CmNvbnRhaW5lclBvcnRzOgogIGludHJhOiA3MDAxCiAgdGxzOiA3MDAyCiAgam14OiA3MTk4CiAgY3FsOiA5MDQzCnBlcnNpc3RlbmNlOgogIG1vdW50UGF0aDogL2JpdG5hbWkvY2Fzc2FuZHJhCnNlcnZpY2U6CiAgcG9ydHM6CiAgICBjcWw6IDgwCiAgdHlwZTogTG9hZEJhbGFuY2VyCnNlcnZpY2VBY2NvdW50OgogIGNyZWF0ZTogdHJ1ZQogIGF1dG9tb3VudFNlcnZpY2VBY2NvdW50VG9rZW46IHRydWUKcG9kU2VjdXJpdHlDb250ZXh0OgogIGVuYWJsZWQ6IHRydWUKICBmc0dyb3VwOiAxMDAyCmNvbnRhaW5lclNlY3VyaXR5Q29udGV4dDoKICBlbmFibGVkOiB0cnVlCiAgcnVuQXNVc2VyOiAxMDAy",
"target_platform": {
"target_platform_id": "{VIB_ENV_TARGET_PLATFORM}",
"size": {
@@ -36,6 +36,18 @@
"params": {
"endpoint": "lb-cassandra-cql"
}
},
{
"action_id": "goss",
"params": {
"resources": {
"path": "/.vib/cassandra/goss"
},
"vars_file": "vars.yaml",
"remote": {
"workload": "sts-cassandra"
}
}
}
]
},
+13 -1
View File
@@ -22,7 +22,7 @@
"url": "{SHA_ARCHIVE}",
"path": "/bitnami/cassandra"
},
"runtime_parameters": "ImRiVXNlciI6CiAgInBhc3N3b3JkIjogIjBQVzFmbFlMIgogICJ1c2VyIjogImNhc3NhbmRyYSIKInNlcnZpY2UiOgogICJwb3J0cyI6CiAgICAiY3FsIjogODAKICAidHlwZSI6ICJMb2FkQmFsYW5jZXIi",
"runtime_parameters": "ZGJVc2VyOgogIHVzZXI6IHRlc3RfY2Fzc2FuZHJhCiAgcGFzc3dvcmQ6ICJDb21wbGljYXRlZFBhc3N3b3JkMTIzITQiCnJlcGxpY2FDb3VudDogMgpjbHVzdGVyOgogIHNlZWRDb3VudDogMgogIG51bVRva2VuczogMjU2CmNvbnRhaW5lclBvcnRzOgogIGludHJhOiA3MDAxCiAgdGxzOiA3MDAyCiAgam14OiA3MTk4CiAgY3FsOiA5MDQzCnBlcnNpc3RlbmNlOgogIG1vdW50UGF0aDogL2JpdG5hbWkvY2Fzc2FuZHJhCnNlcnZpY2U6CiAgcG9ydHM6CiAgICBjcWw6IDgwCiAgdHlwZTogTG9hZEJhbGFuY2VyCnNlcnZpY2VBY2NvdW50OgogIGNyZWF0ZTogdHJ1ZQogIGF1dG9tb3VudFNlcnZpY2VBY2NvdW50VG9rZW46IHRydWUKcG9kU2VjdXJpdHlDb250ZXh0OgogIGVuYWJsZWQ6IHRydWUKICBmc0dyb3VwOiAxMDAyCmNvbnRhaW5lclNlY3VyaXR5Q29udGV4dDoKICBlbmFibGVkOiB0cnVlCiAgcnVuQXNVc2VyOiAxMDAy",
"target_platform": {
"target_platform_id": "{VIB_ENV_TARGET_PLATFORM}",
"size": {
@@ -36,6 +36,18 @@
"params": {
"endpoint": "lb-cassandra-cql"
}
},
{
"action_id": "goss",
"params": {
"resources": {
"path": "/.vib/cassandra/goss"
},
"vars_file": "vars.yaml",
"remote": {
"workload": "sts-cassandra"
}
}
}
]
}