Skip to content

Commit 0b1243b

Browse files
committed
Add support for Chainsaw tests in mariadb-operator
New makefile targets to support the testing of mariadb-operator with Chainsaw tests in addition of KUTTL tests. The latter will eventually get replaced by the former. Jira: OSPRH-13839
1 parent 3bb5b13 commit 0b1243b

File tree

3 files changed

+43
-5
lines changed

3 files changed

+43
-5
lines changed

Makefile

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,14 @@ MARIADB ?= config/samples/mariadb_v1beta1_galera.yaml
180180
else
181181
MARIADB ?= config/samples/mariadb_v1beta1_mariadb.yaml
182182
endif
183-
MARIADB_CR ?= ${OPERATOR_BASE_DIR}/mariadb-operator/${MARIADB}
184-
MARIADB_DEPL_IMG ?= unused
185-
MARIADB_KUTTL_CONF ?= ${OPERATOR_BASE_DIR}/mariadb-operator/kuttl-test.yaml
186-
MARIADB_KUTTL_DIR ?= ${OPERATOR_BASE_DIR}/mariadb-operator/tests/kuttl/tests
187-
MARIADB_KUTTL_NAMESPACE ?= mariadb-kuttl-tests
183+
MARIADB_CR ?= ${OPERATOR_BASE_DIR}/mariadb-operator/${MARIADB}
184+
MARIADB_DEPL_IMG ?= unused
185+
MARIADB_KUTTL_CONF ?= ${OPERATOR_BASE_DIR}/mariadb-operator/kuttl-test.yaml
186+
MARIADB_KUTTL_DIR ?= ${OPERATOR_BASE_DIR}/mariadb-operator/tests/kuttl/tests
187+
MARIADB_KUTTL_NAMESPACE ?= mariadb-kuttl-tests
188+
MARIADB_CHAINSAW_CONF ?= ${OPERATOR_BASE_DIR}/mariadb-operator/tests/chainsaw/config.yaml
189+
MARIADB_CHAINSAW_DIR ?= ${OPERATOR_BASE_DIR}/mariadb-operator/tests/chainsaw/tests
190+
MARIADB_CHAINSAW_NAMESPACE ?= mariadb-chainsaw-tests
188191

189192
# Placement
190193
PLACEMENT_IMG ?= quay.io/openstack-k8s-operators/placement-operator-index:${OPENSTACK_K8S_TAG}
@@ -2051,6 +2054,23 @@ openstack_kuttl: input deploy_cleanup openstack openstack_deploy_prep ## runs ku
20512054
make openstack_deploy_cleanup
20522055
make openstack_cleanup
20532056

2057+
##@ CHAINSAW tests
2058+
2059+
.PHONY: mariadb_chainsaw_run
2060+
mariadb_chainsaw_run: ## runs chainsaw tests for the mariadb operator, assumes that everything needed for running the test was deployed beforehand.
2061+
chainsaw test --config ${MARIADB_CHAINSAW_CONF} ${MARIADB_CHAINSAW_DIR} --namespace ${NAMESPACE} --report-format JSON
2062+
2063+
.PHONY: mariadb_chainsaw
2064+
mariadb_chainsaw: export NAMESPACE = ${MARIADB_CHAINSAW_NAMESPACE}
2065+
# Set the value of $MARIADB_CHAINSAW_NAMESPACE if you want to run the keystone
2066+
# kuttl tests in a namespace different than the default (mariadb-chainsaw-tests)
2067+
mariadb_chainsaw: input deploy_cleanup mariadb mariadb_deploy_prep ## runs chainsaw tests for the mariadb operator. Installs mariadb operator and cleans up previous deployments before running the tests, add cleanup after running the tests.
2068+
$(eval $(call vars,$@,mariadb))
2069+
make wait
2070+
make mariadb_chainsaw_run
2071+
make deploy_cleanup
2072+
make mariadb_cleanup
2073+
20542074
##@ HORIZON
20552075
.PHONY: horizon_prep
20562076
horizon_prep: export IMAGE=${HORIZON_IMG}

devsetup/roles/download_tools/defaults/main.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,6 @@ kustomize_version: v5.0.3
1616

1717
# kubectl version to use (must be specific version)
1818
kubectl_version: v1.25.7
19+
20+
# chainsaw version to use (must be specific version)
21+
chainsaw_version: 0.2.12

devsetup/roles/download_tools/tasks/main.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,21 @@
111111
mode: '0755'
112112
timeout: 30
113113

114+
- name: Download chainsaw
115+
tags:
116+
- chainsaw
117+
ansible.builtin.unarchive:
118+
src:
119+
"https://github.com/kyverno/chainsaw/releases/download/v{{ chainsaw_version }}/\
120+
chainsaw_linux_amd64.tar.gz"
121+
dest: "{{ lookup('env', 'HOME') }}/bin/"
122+
remote_src: true
123+
extra_opts:
124+
- "--exclude"
125+
- "README.md"
126+
- "--exclude"
127+
- "LICENSE"
128+
114129
- name: Download and extract yq
115130
tags:
116131
- yq

0 commit comments

Comments
 (0)