mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-12 06:20:11 +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
|
|
@ -0,0 +1,85 @@
|
|||
- name: Obtain the mount path for the application
|
||||
shell: >
|
||||
kubectl get pods -n {{ app_ns }} -l {{ app_label }}
|
||||
-o custom-columns=:.spec.containers[].volumeMounts[].mountPath --no-headers
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: mount
|
||||
|
||||
- name: Record the mount path for the application
|
||||
set_fact:
|
||||
mount_path: "{{ mount.stdout }}"
|
||||
|
||||
- name: Dump some dummy data in application mount point
|
||||
shell: >
|
||||
kubectl exec -ti {{ app_pod_name }} -n {{ app_ns }} -- sh
|
||||
-c "dd if=/dev/urandom of={{ mount_path }}/incr-file1 bs=4k count=1024 &&
|
||||
md5sum {{ mount_path }}/incr-file1 > {{ mount_path }}/pre-incr-file1-md5 && sync;sync;sync"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
|
||||
- name: Wait for some seconds
|
||||
shell: sleep 60
|
||||
|
||||
- name: Again dump some dummy data
|
||||
shell: >
|
||||
kubectl exec -ti {{ app_pod_name }} -n {{ app_ns }} -- sh
|
||||
-c "dd if=/dev/urandom of={{ mount_path }}/incr-file2 bs=4k count=1024 &&
|
||||
md5sum {{ mount_path }}/incr-file2 > {{ mount_path }}/pre-incr-file2-md5 && sync;sync;sync"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
|
||||
- name: Wait for some time to finish all incremental backup and at last full backup
|
||||
shell: sleep 180
|
||||
|
||||
- name: Get the first backup name which is full backup by default
|
||||
shell: velero get backup | grep {{ schedule_name }} | tail -n1 | awk '{print $1}'
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: first_full_bkp
|
||||
|
||||
- name: Record the first full backup name
|
||||
set_fact:
|
||||
first_full_backup: "{{ first_full_bkp.stdout }}"
|
||||
|
||||
- name: Get the first incremental backup name
|
||||
shell: velero get backup | grep {{ schedule_name }} | tail -n2 | head -n1 | awk '{print $1}'
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: first_incr_bkp
|
||||
|
||||
- name: Record the first incremental backup name
|
||||
set_fact:
|
||||
first_incremental_backup: "{{ first_incr_bkp.stdout }}"
|
||||
|
||||
- name: Get the second incremental backup name
|
||||
shell: velero get backup | grep {{ schedule_name }} | tail -n3 | head -n1 | awk '{print $1}'
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: second_incr_bkp
|
||||
|
||||
- name: Record the second incremental backup name
|
||||
set_fact:
|
||||
second_incremental_backup: "{{ second_incr_bkp.stdout }}"
|
||||
|
||||
- name: Get the last full backup name which is after two incremental backups
|
||||
shell: velero get backup | grep {{ schedule_name }} | tail -n4 | head -n1 | awk '{print $1}'
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: last_full_bkp
|
||||
|
||||
- name: Record the last full backup name
|
||||
set_fact:
|
||||
last_full_backup: "{{ last_full_bkp.stdout }}"
|
||||
|
||||
- name: Check status of all four backups
|
||||
shell: kubectl get backups.velero.io {{ item }} -n velero -o jsonpath='{.status.phase}'
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: backup_status
|
||||
failed_when: "backup_status.stdout != 'Completed'"
|
||||
loop:
|
||||
- "{{ first_full_backup }}"
|
||||
- "{{ first_incremental_backup }}"
|
||||
- "{{ second_incremental_backup }}"
|
||||
- "{{ last_full_backup }}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue