diff options
Diffstat (limited to 'ansible_collections/dellemc/unity/playbooks/modules/volume.yml')
-rw-r--r-- | ansible_collections/dellemc/unity/playbooks/modules/volume.yml | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/ansible_collections/dellemc/unity/playbooks/modules/volume.yml b/ansible_collections/dellemc/unity/playbooks/modules/volume.yml new file mode 100644 index 000000000..45f62c01f --- /dev/null +++ b/ansible_collections/dellemc/unity/playbooks/modules/volume.yml @@ -0,0 +1,241 @@ +--- +- name: Volume Operations + hosts: localhost + connection: local + vars: + unispherehost: '10.*.*.*' + validate_certs: false + username: 'user' + password: '**' + vol_name: "Ansible_vol1_test" + new_vol_name: "New_Ansible_vol1_test" + size: 2 + pool_name: "Ansible_Unity_SP_2" + cap_gb: "GB" + description: "Ansible demo" + snap_schedule: "Ansible_vol_snap_schedule1" + io_limit_policy: "Ansible_IO_limit1" + tiering_policy: "LOWEST" + is_thin: true + compression: true + sp: "SPA" + host_name: "10.*.*.*" + host_id: "Host_929" + vol_hosts: + - host_name: "10.*.*.*" + hlu: 1 + - host_id: "Host_929" + hlu: 3 + hlu: 2 + state_present: "present" + state_absent: "absent" + state_mapped: "mapped" + state_unmapped: "unmapped" + + tasks: + - name: Create Volume + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_name: "{{ vol_name }}" + description: "{{ description }}" + pool_name: "{{ pool_name }}" + size: "{{ size }}" + cap_unit: "{{ cap_gb }}" + tiering_policy: "{{ tiering_policy }}" + is_thin: true + compression: true + advanced_dedup: true + state: "{{ state_present }}" + register: vol_result + + - name: Create Volume - Idempotency + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_name: "{{ vol_name }}" + description: "{{ description }}" + pool_name: "{{ pool_name }}" + size: "{{ size }}" + cap_unit: "{{ cap_gb }}" + tiering_policy: "{{ tiering_policy }}" + is_thin: true + compression: true + advanced_dedup: true + state: "{{ state_present }}" + + - name: Set vol_id + ansible.builtin.set_fact: + vol_id: "{{ vol_result.volume_details.id }}" + + - name: Expand Volume by volume id + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + size: 5 + cap_unit: "{{ cap_gb }}" + state: "{{ state_present }}" + + - name: Modify Volume attributes + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_name: "{{ vol_name }}" + tiering_policy: "AUTOTIER" + snap_schedule: "{{ snap_schedule }}" + io_limit_policy: "{{ io_limit_policy }}" + is_thin: true + compression: true + advanced_dedup: true + state: "{{ state_present }}" + + - name: Modify Volume attributes - Idempotency + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_name: "{{ vol_name }}" + tiering_policy: "AUTOTIER" + snap_schedule: "{{ snap_schedule }}" + io_limit_policy: "{{ io_limit_policy }}" + is_thin: true + compression: true + advanced_dedup: true + state: "{{ state_present }}" + + - name: Remove snap_schedule from a Volume + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_name: "{{ vol_name }}" + snap_schedule: "" + state: "{{ state_present }}" + + - name: Map Host by host_name to Volume + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + host_name: "{{ host_name }}" + hlu: "{{ hlu }}" + mapping_state: "{{ state_mapped }}" + state: "{{ state_present }}" + + - name: Map Host by host_name to Volume- Idempotency + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + host_name: "{{ host_name }}" + hlu: 2 + mapping_state: "{{ state_mapped }}" + state: "{{ state_present }}" + + - name: Unmap Host by host_name from Volume + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + host_name: "{{ host_name }}" + mapping_state: "{{ state_unmapped }}" + state: "{{ state_present }}" + + - name: Unmap Host by host_name from Volume -Idempotency + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + host_name: "{{ host_name }}" + mapping_state: "{{ state_unmapped }}" + state: "{{ state_present }}" + + - name: Map Multiple Hosts to a Volume + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + hosts: "{{ vol_hosts }}" + mapping_state: "{{ state_mapped }}" + state: "{{ state_present }}" + + - name: Map Multiple Hosts to a Volume - Idempotency + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + hosts: "{{ vol_hosts }}" + mapping_state: "{{ state_mapped }}" + state: "{{ state_present }}" + + - name: Unmap Hosts from Volume + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + hosts: "{{ vol_hosts }}" + mapping_state: "{{ state_unmapped }}" + state: "{{ state_present }}" + + - name: Unmap Hosts from Volume - Idempotency + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + hosts: "{{ vol_hosts }}" + mapping_state: "{{ state_unmapped }}" + state: "{{ state_present }}" + + - name: Get details of volume using id + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + state: "present" + + - name: Delete a volume using id + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + state: "absent" + + - name: Delete a volume using id -Idempotency + dellemc.unity.volume: + unispherehost: "{{ unispherehost }}" + username: "{{ username }}" + password: "{{ password }}" + validate_certs: "{{ validate_certs }}" + vol_id: "{{ vol_id }}" + state: "absent" |