diff options
| author | spmfox <spmfox@foxwd.com> | 2023-05-28 10:02:07 -0400 |
|---|---|---|
| committer | spmfox <spmfox@foxwd.com> | 2023-05-28 10:02:07 -0400 |
| commit | ff35c64d337a286ac2864c8403c1840e28bb23b1 (patch) | |
| tree | 36062b6fbe326b61c5abaa11721f4a909364af5a /roles/zfs | |
| parent | efebf42259944acef6389937736995a0af8c17d5 (diff) | |
Initial commit
Diffstat (limited to 'roles/zfs')
| -rw-r--r-- | roles/zfs/tasks/dataset-check-duplicate.yml | 11 | ||||
| -rw-r--r-- | roles/zfs/tasks/dataset-check-exists.yml | 3 | ||||
| -rw-r--r-- | roles/zfs/tasks/dataset-confirm-info.yml | 10 | ||||
| -rw-r--r-- | roles/zfs/tasks/dataset-create.yml | 4 | ||||
| -rw-r--r-- | roles/zfs/tasks/dataset-destroy.yml | 4 | ||||
| -rw-r--r-- | roles/zfs/vars/main.yml | 1 |
6 files changed, 33 insertions, 0 deletions
diff --git a/roles/zfs/tasks/dataset-check-duplicate.yml b/roles/zfs/tasks/dataset-check-duplicate.yml new file mode 100644 index 0000000..1272765 --- /dev/null +++ b/roles/zfs/tasks/dataset-check-duplicate.yml @@ -0,0 +1,11 @@ +- name: Check if ZFS dataset exists + community.general.zfs_facts: + dataset: "{{ zfs_dataset }}" + register: zfs_dataset_exists_check + ignore_errors: true + +- name: Fail if ZFS dataset already exists + ansible.builtin.fail: + msg: "Dataset {{ zfs_dataset }} is already in-use." + when: not zfs_dataset_exists_check.failed + diff --git a/roles/zfs/tasks/dataset-check-exists.yml b/roles/zfs/tasks/dataset-check-exists.yml new file mode 100644 index 0000000..43de7d4 --- /dev/null +++ b/roles/zfs/tasks/dataset-check-exists.yml @@ -0,0 +1,3 @@ +- name: Check if ZFS dataset exists + community.general.zfs_facts: + dataset: "{{ zfs_dataset }}" diff --git a/roles/zfs/tasks/dataset-confirm-info.yml b/roles/zfs/tasks/dataset-confirm-info.yml new file mode 100644 index 0000000..65885fb --- /dev/null +++ b/roles/zfs/tasks/dataset-confirm-info.yml @@ -0,0 +1,10 @@ +- name: Fetch ZFS dataset information + community.general.zfs_facts: + dataset: "{{ zfs_dataset }}" + register: dataset_facts + +- name: Fail if ZFS dataset contains child datasets + ansible.builtin.fail: + msg: "Dataset {{ zfs_dataset }} contains child datasets." + when: dataset_facts.ansible_facts.ansible_zfs_datasets[0].usedbychildren != "0B" + diff --git a/roles/zfs/tasks/dataset-create.yml b/roles/zfs/tasks/dataset-create.yml new file mode 100644 index 0000000..37c6e6b --- /dev/null +++ b/roles/zfs/tasks/dataset-create.yml @@ -0,0 +1,4 @@ +- name: Create ZFS dataset + community.general.zfs: + name: "{{ zfs_dataset }}" + state: present diff --git a/roles/zfs/tasks/dataset-destroy.yml b/roles/zfs/tasks/dataset-destroy.yml new file mode 100644 index 0000000..9159f20 --- /dev/null +++ b/roles/zfs/tasks/dataset-destroy.yml @@ -0,0 +1,4 @@ +- name: Destroy ZFS dataset and all snapshots + community.general.zfs: + name: "{{ zfs_dataset }}" + state: absent diff --git a/roles/zfs/vars/main.yml b/roles/zfs/vars/main.yml new file mode 100644 index 0000000..a53eb98 --- /dev/null +++ b/roles/zfs/vars/main.yml @@ -0,0 +1 @@ +zfs_dataset: "{{ parent_dataset }}/{{ vm_name }}" |
