From c18b70c70c5613cf49db3b668c41f78bb0d69aef Mon Sep 17 00:00:00 2001 From: Francisco de Paz Galan Date: Wed, 29 Mar 2023 13:19:05 +0200 Subject: [PATCH] [bitnami/mysql] Add VIB tests (#28155) * [bitnami/mysql] Add VIB tests Signed-off-by: FraPazGal * Remove file check affecting only one major Signed-off-by: FraPazGal * Remove VIB trigger Signed-off-by: FraPazGal * Add goss to publish pipeline Signed-off-by: FraPazGal * Add missing symlink test Signed-off-by: FraPazGal --------- Signed-off-by: FraPazGal --- .vib/mysql/goss/goss.yaml | 13 +++++++++++++ .vib/mysql/goss/mysql.yaml | 11 +++++++++++ .vib/mysql/goss/vars.yaml | 25 +++++++++++++++++++++++++ .vib/mysql/vib-publish.json | 18 +++++++++++++++++- .vib/mysql/vib-verify.json | 18 +++++++++++++++++- 5 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 .vib/mysql/goss/goss.yaml create mode 100644 .vib/mysql/goss/mysql.yaml create mode 100644 .vib/mysql/goss/vars.yaml diff --git a/.vib/mysql/goss/goss.yaml b/.vib/mysql/goss/goss.yaml new file mode 100644 index 000000000000..4ba7dbc893ca --- /dev/null +++ b/.vib/mysql/goss/goss.yaml @@ -0,0 +1,13 @@ +gossfile: + # Goss tests exclusive to the current container + ../../mysql/goss/mysql.yaml: {} + # Load scripts from .vib/common/goss/templates + ../../common/goss/templates/check-app-version.yaml: {} + ../../common/goss/templates/check-binaries.yaml: {} + ../../common/goss/templates/check-broken-symlinks.yaml: {} + ../../common/goss/templates/check-ca-certs.yaml: {} + ../../common/goss/templates/check-directories.yaml: {} + ../../common/goss/templates/check-files.yaml: {} + ../../common/goss/templates/check-linked-libraries.yaml: {} + ../../common/goss/templates/check-sed-in-place.yaml: {} + ../../common/goss/templates/check-spdx.yaml: {} diff --git a/.vib/mysql/goss/mysql.yaml b/.vib/mysql/goss/mysql.yaml new file mode 100644 index 000000000000..a340a7dd6061 --- /dev/null +++ b/.vib/mysql/goss/mysql.yaml @@ -0,0 +1,11 @@ +file: + # Checks there is a template already loaded as a config file + /opt/bitnami/mysql/conf/my.cnf: + exists: true + filetype: file + contains: + - socket=/opt/bitnami/mysql/tmp/mysql.sock + /opt/bitnami/mysql/logs/mysqld.log: + exists: true + filetype: symlink + linked-to: /dev/stdout diff --git a/.vib/mysql/goss/vars.yaml b/.vib/mysql/goss/vars.yaml new file mode 100644 index 000000000000..59f7f71a8a43 --- /dev/null +++ b/.vib/mysql/goss/vars.yaml @@ -0,0 +1,25 @@ +binaries: + - gosu + - ini-file + - mysql + - mysql_config + - mysqld_safe + - mysqldumpslow + - mysqld_multi +directories: + - mode: "0775" + paths: + - /bitnami/mysql + - /bitnami/mysql/data + - /opt/bitnami/mysql/conf + - /opt/bitnami/mysql/conf/bitnami + - /opt/bitnami/mysql/logs + - /opt/bitnami/mysql/tmp + - /.mysqlsh +files: + - paths: + - /opt/bitnami/mysql/lib/plugin/authentication_ldap_sasl_client.so +root_dir: /opt/bitnami +version: + bin_name: mysql + flag: --version diff --git a/.vib/mysql/vib-publish.json b/.vib/mysql/vib-publish.json index a484d2fc349a..b8a089f193b2 100644 --- a/.vib/mysql/vib-publish.json +++ b/.vib/mysql/vib-publish.json @@ -3,7 +3,8 @@ "resources": { "url": "{VIB_ENV_CONTAINER_URL}", "path": "{VIB_ENV_PATH}" - } + }, + "runtime_parameters": "Y29tbWFuZDogWyJ0YWlsIiwgIi1mIiwgIi9kZXYvbnVsbCJd" }, "phases": { "package": { @@ -51,6 +52,21 @@ ] } }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib" + }, + "tests_file": "mysql/goss/goss.yaml", + "vars_file": "mysql/goss/vars.yaml", + "remote": { + "pod": { + "workload": "deploy-mysql" + } + } + } + }, { "action_id": "osspi-application", "params": { diff --git a/.vib/mysql/vib-verify.json b/.vib/mysql/vib-verify.json index a34e8aee9161..19fa588cb591 100644 --- a/.vib/mysql/vib-verify.json +++ b/.vib/mysql/vib-verify.json @@ -3,7 +3,8 @@ "resources": { "url": "{SHA_ARCHIVE}", "path": "{VIB_ENV_PATH}" - } + }, + "runtime_parameters": "Y29tbWFuZDogWyJ0YWlsIiwgIi1mIiwgIi9kZXYvbnVsbCJd" }, "phases": { "package": { @@ -46,6 +47,21 @@ "OS" ] } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib" + }, + "tests_file": "mysql/goss/goss.yaml", + "vars_file": "mysql/goss/vars.yaml", + "remote": { + "pod": { + "workload": "deploy-mysql" + } + } + } } ] }