mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-13 06:50:10 +01:00
feat(e2e-test): Add e2e-tests for zfs-localpv (#298)
Signed-off-by: w3aman <aman.gupta@mayadata.io>
This commit is contained in:
parent
53f872fcf1
commit
4e73638b5a
137 changed files with 8745 additions and 0 deletions
81
e2e-tests/apps/percona/workload/test.yml
Normal file
81
e2e-tests/apps/percona/workload/test.yml
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: False
|
||||
|
||||
vars_files:
|
||||
- test_vars.yml
|
||||
|
||||
tasks:
|
||||
- block:
|
||||
|
||||
## Generating the testname for deployment
|
||||
- include_tasks: /e2e-tests/hack/create_testname.yml
|
||||
|
||||
# RECORD START-OF-TEST IN e2e RESULT CR
|
||||
- include_tasks: /e2e-tests/hack/update_e2e_result_resource.yml
|
||||
vars:
|
||||
status: 'SOT'
|
||||
|
||||
- name: Checking the status of test specific namespace.
|
||||
include_tasks: /e2e-tests/utils/k8s/status_testns.yml
|
||||
|
||||
- name: Get the application label value from env
|
||||
set_fact:
|
||||
app_lkey: "{{ app_label.split('=')[0] }}"
|
||||
app_lvalue: "{{ app_label.split('=')[1] }}"
|
||||
|
||||
- name: Checking whether application is running
|
||||
include_tasks: /e2e-tests/utils/k8s/status_app_pod.yml
|
||||
|
||||
- name: Obtaining the loadgen pod label from env.
|
||||
set_fact:
|
||||
loadgen_lkey: "{{ loadgen_label.split('=')[0] }}"
|
||||
loadgen_lvalue: "{{ loadgen_label.split('=')[1] }}"
|
||||
|
||||
- name: Replace default values/placeholder with test-specific values
|
||||
include_tasks: ./replace.yml
|
||||
|
||||
- name: Checking for configmap
|
||||
shell: kubectl get configmap -n {{ app_ns }}
|
||||
register: configmap
|
||||
|
||||
- name: Creating a kubernetes config map to hold the tpcc benchmark config
|
||||
shell: kubectl create configmap tpcc-config --from-file {{ tpcc_conf }} -n {{ app_ns }}
|
||||
when: "'tpcc-config' not in configmap.stdout"
|
||||
|
||||
- name: Create Percona Loadgen Job
|
||||
shell: kubectl apply -f {{ percona_loadgen }} -n {{ app_ns }}
|
||||
|
||||
- name: Verify load-gen pod is running
|
||||
shell: kubectl get pods -n {{ app_ns }} -l {{ loadgen_label }} -o jsonpath='{.items[0].status.phase}'
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: result
|
||||
until: "'Running' in result.stdout"
|
||||
delay: 5
|
||||
retries: 60
|
||||
|
||||
- name: Getting the Percona POD name
|
||||
shell: kubectl get po -n {{ app_ns }} -l {{ app_label }} -o jsonpath='{.items[0].metadata.name}'
|
||||
register: pod_name
|
||||
|
||||
- name: Verifying load-generation
|
||||
shell: kubectl exec -it {{ pod_name.stdout }} -n {{ app_ns }} -- mysql -u{{ db_user }} -p{{ db_password }} -e "show databases"
|
||||
register: output
|
||||
until: "'tpcc-' in output.stdout"
|
||||
delay: 5
|
||||
retries: 120
|
||||
|
||||
- set_fact:
|
||||
flag: "Pass"
|
||||
|
||||
rescue:
|
||||
- set_fact:
|
||||
flag: "Fail"
|
||||
|
||||
always:
|
||||
## RECORD END-OF-TEST IN e2e RESULT CR
|
||||
- include_tasks: /e2e-tests/hack/update_e2e_result_resource.yml
|
||||
vars:
|
||||
status: 'EOT'
|
||||
Loading…
Add table
Add a link
Reference in a new issue