mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-12 06:20:11 +01:00
110 lines
3.8 KiB
YAML
110 lines
3.8 KiB
YAML
|
|
---
|
||
|
|
- hosts: localhost
|
||
|
|
connection: local
|
||
|
|
gather_facts: False
|
||
|
|
|
||
|
|
vars_files:
|
||
|
|
- test_vars.yml
|
||
|
|
|
||
|
|
tasks:
|
||
|
|
- block:
|
||
|
|
|
||
|
|
## Generating the testname for zfs localpv provisioner test
|
||
|
|
- include_tasks: /e2e-tests/hack/create_testname.yml
|
||
|
|
|
||
|
|
## Record SOT (start of test) in e2e result e2e-cr (e2e-custom-resource)
|
||
|
|
- include_tasks: /e2e-tests/hack/update_e2e_result_resource.yml
|
||
|
|
vars:
|
||
|
|
status: 'SOT'
|
||
|
|
|
||
|
|
- name: Create zpool on each desired worker node
|
||
|
|
include_tasks: /e2e-tests/experiments/zfs-localpv-provisioner/zpool_creation.yml
|
||
|
|
when: lookup('env','ZPOOL_CREATION') == 'true'
|
||
|
|
|
||
|
|
- name: Download OpenEBS zfs-localpv operator file
|
||
|
|
get_url:
|
||
|
|
url: https://raw.githubusercontent.com/openebs/zfs-localpv/{{ zfs_branch }}/deploy/zfs-operator.yaml
|
||
|
|
dest: ./zfs_operator.yml
|
||
|
|
force: yes
|
||
|
|
register: result
|
||
|
|
until: "'OK' in result.msg"
|
||
|
|
delay: 5
|
||
|
|
retries: 3
|
||
|
|
|
||
|
|
- name: Update the openebs zfs-driver image tag
|
||
|
|
replace:
|
||
|
|
path: ./zfs_operator.yml
|
||
|
|
regexp: openebs/zfs-driver:ci
|
||
|
|
replace: "{{ lookup('env','ZFS_DRIVER_IMAGE') }}"
|
||
|
|
when: lookup('env','ZFS_DRIVER_IMAGE') | length > 0
|
||
|
|
|
||
|
|
- name: Update the namespace where we want to create zfs-localpv driver resources
|
||
|
|
shell: >
|
||
|
|
sed -i -e "/name: OPENEBS_NAMESPACE/{n;s/value: openebs/value: {{ zfs_operator_ns }}/g}" zfs_operator.yml &&
|
||
|
|
sed -z "s/kind: Namespace\nmetadata:\n name: openebs/kind: Namespace\nmetadata:\n name: {{ zfs_operator_ns }}/" -i zfs_operator.yml
|
||
|
|
args:
|
||
|
|
executable: /bin/bash
|
||
|
|
register: update_status
|
||
|
|
failed_when: "update_status.rc != 0"
|
||
|
|
when: "zfs_operator_ns != 'openebs'"
|
||
|
|
|
||
|
|
- name: Apply the zfs_operator file to deploy zfs-driver components
|
||
|
|
shell:
|
||
|
|
kubectl apply -f ./zfs_operator.yml
|
||
|
|
args:
|
||
|
|
executable: /bin/bash
|
||
|
|
register: status
|
||
|
|
failed_when: "status.rc != 0"
|
||
|
|
|
||
|
|
- name: Verify that the zfs-controller pod and zfs-node daemonset pods are running
|
||
|
|
shell: >
|
||
|
|
kubectl get pods -n kube-system -l role=openebs-zfs
|
||
|
|
--no-headers -o custom-columns=:status.phase | sort | uniq
|
||
|
|
args:
|
||
|
|
executable: /bin/bash
|
||
|
|
register: zfs_driver_components
|
||
|
|
until: "zfs_driver_components.stdout == 'Running'"
|
||
|
|
delay: 5
|
||
|
|
retries: 30
|
||
|
|
|
||
|
|
- block:
|
||
|
|
|
||
|
|
- name: Update the storage class template with test specific values.
|
||
|
|
template:
|
||
|
|
src: openebs-zfspv-sc.j2
|
||
|
|
dest: openebs-zfspv-sc.yml
|
||
|
|
|
||
|
|
- name: Create Storageclasses
|
||
|
|
shell: kubectl apply -f openebs-zfspv-sc.yml
|
||
|
|
args:
|
||
|
|
executable: /bin/bash
|
||
|
|
register: sc_result
|
||
|
|
failed_when: "sc_result.rc != 0"
|
||
|
|
|
||
|
|
- name: Update volume snapshot class template with the test specific variables.
|
||
|
|
template:
|
||
|
|
src: snapshot-class.j2
|
||
|
|
dest: snapshot-class.yml
|
||
|
|
|
||
|
|
- name: Create VolumeSnapshotClass
|
||
|
|
shell: kubectl apply -f snapshot-class.yml
|
||
|
|
args:
|
||
|
|
executable: /bin/bash
|
||
|
|
register: volsc_result
|
||
|
|
failed_when: "volsc_result.rc != 0"
|
||
|
|
|
||
|
|
when: "{{ lookup('env','STORAGE_CLASS_CREATION') }} == true"
|
||
|
|
|
||
|
|
- set_fact:
|
||
|
|
flag: "Pass"
|
||
|
|
|
||
|
|
rescue:
|
||
|
|
- name: Setting fail flag
|
||
|
|
set_fact:
|
||
|
|
flag: "Fail"
|
||
|
|
|
||
|
|
always:
|
||
|
|
## Record EOT (end of test) in e2e result e2e-cr (e2e-custom-resource)
|
||
|
|
- include_tasks: /e2e-tests/hack/update_e2e_result_resource.yml
|
||
|
|
vars:
|
||
|
|
status: 'EOT'
|