Skip to content

Commit 9607df5

Browse files
Merge pull request #1014 from dciabrin/mariadb-chainsaw
Add support for Chainsaw tests in mariadb-operator
2 parents ba3da93 + 0b1243b commit 9607df5

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}
@@ -2052,6 +2055,23 @@ openstack_kuttl: input deploy_cleanup openstack openstack_deploy_prep ## runs ku
20522055
make openstack_deploy_cleanup
20532056
make openstack_cleanup
20542057

2058+
##@ CHAINSAW tests
2059+
2060+
.PHONY: mariadb_chainsaw_run
2061+
mariadb_chainsaw_run: ## runs chainsaw tests for the mariadb operator, assumes that everything needed for running the test was deployed beforehand.
2062+
chainsaw test --config ${MARIADB_CHAINSAW_CONF} ${MARIADB_CHAINSAW_DIR} --namespace ${NAMESPACE} --report-format JSON
2063+
2064+
.PHONY: mariadb_chainsaw
2065+
mariadb_chainsaw: export NAMESPACE = ${MARIADB_CHAINSAW_NAMESPACE}
2066+
# Set the value of $MARIADB_CHAINSAW_NAMESPACE if you want to run the keystone
2067+
# kuttl tests in a namespace different than the default (mariadb-chainsaw-tests)
2068+
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.
2069+
$(eval $(call vars,$@,mariadb))
2070+
make wait
2071+
make mariadb_chainsaw_run
2072+
make deploy_cleanup
2073+
make mariadb_cleanup
2074+
20552075
##@ HORIZON
20562076
.PHONY: horizon_prep
20572077
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)