# Copyright 2021 Dell Inc. or its subsidiaries. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- # Testcase OMNIA_1.1_PV_TC_001 # Test case to verify the connectivity to powervault and validate product id - name: OMNIA_1.1_PV_TC_001 hosts: powervault connection: local tags: TC_001 gather_subset: - 'min' vars_files: - ../input_params/base_vars.yml - ../input_params/powervault_me4_vars.yml - test_vars/test_powervault_vars.yml tasks: - name: Check login_vars file is encrypted command: cat {{ login_vars_path }} changed_when: false register: config_content no_log: true tags: always - name: Decrpyt login_vars.yml command: >- ansible-vault decrypt {{ login_vars_path }} --vault-password-file {{ login_vars_vault_path }} changed_when: false when: "'$ANSIBLE_VAULT;' in config_content.stdout" no_log: true tags: always - name: Include variable file login_vars.yml include_vars: "{{ login_vars_path }}" no_log: true tags: always - name: Get auth string shell: echo -n {{ powervault_me4_username }}_{{ powervault_me4_password }} | sha256sum register: auth_string_output changed_when: false failed_when: false no_log: true tags: always - name: Set the powervault username and password set_fact: powervault_username: "{{ powervault_me4_username }}" powervault_password: "{{ powervault_me4_password }}" auth_string: "{{ auth_string_output }}" no_log: true tags: always - name: Encypt login file command: >- ansible-vault encrypt {{ login_vars_path }} --vault-password-file {{ login_vars_vault_path }} changed_when: false no_log: true tags: always - name: Ping the powervault device to validate connectivity command: ping -c1 {{ inventory_hostname }} register: validate_login changed_when: false failed_when: false tags: VERIFY_OMNIA_01 - name: Validate the powervault connectivity assert: that: - "'ping' in validate_login.stdout" success_msg: "{{ connectivity_success_msg }}" fail_msg: "{{ connectivity_failure_msg }}" tags: VERIFY_OMNIA_01 - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key tags: VERIFY_OMNIA_01 - name: Execute show system command uri: url: https://{{ inventory_hostname }}/api/show/system method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: system_info tags: VERIFY_OMNIA_01 - name: Verify the product id of device assert: that: - scsi_product_id in system_info.json.system[0]['scsi-product-id'] - system_info.json.system[0]['product-id'] == "ME4012" or system_info.json.system[0]['product-id'] == "ME4024" or system_info.json.system[0]['product-id'] == "ME4084" success_msg: "{{ product_id_success_msg }}" fail_msg: "{{ product_id_failure_msg }}" tags: VERIFY_OMNIA_01 # Testcase OMNIA_1.1_PV_TC_002 # Test case to verify the powervault management port IP is in dhcp range - name: OMNIA_1.1_PV_TC_002 hosts: powervault connection: local tags: TC_002 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml tasks: - name: Set base vars parameters lineinfile: path: "{{ base_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^mngmnt_network_dhcp_start_range', line: 'mngmnt_network_dhcp_start_range: "{{ dhcp_start_range }}"' } - { regexp: '^mngmnt_network_dhcp_end_range', line: 'mngmnt_network_dhcp_end_range: "{{ dhcp_end_range }}"' } - name: Execute show controllers command uri: url: https://{{ inventory_hostname }}/api/show/controllers method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: controller_info - name: Assert the IP ranges assert: that: - ip_range in controller_info.json.controllers[0]['ip-address'] - ip_range in mngmnt_network_dhcp_start_range - ip_range in mngmnt_network_dhcp_end_range success_msg: "{{ ip_validation_success_msg }}" fail_msg: "{{ ip_validation_failure_msg }}" # Testcase OMNIA_1.1_PV_TC_003 # Test case to verify the users settings - name: OMNIA_1.1_PV_TC_003 hosts: powervault connection: local tags: TC_003 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml tasks: - name: Execute show users command uri: url: https://{{ inventory_hostname }}/api/show/users/{{ powervault_username }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: user_info no_log: true tags: VERIFY_OMNIA_01 - name: Verify the user settings assert: that: - user_roles in user_info.json.users[0].roles - user_type in user_info.json.users[0]['user-type'] - user_locale in user_info.json.users[0]['user-locale'] - "'****' in user_info.json.users[0].password" success_msg: "{{ user_validation_success_msg }}" fail_msg: "{{ user_validation_failure_msg }}" tags: VERIFY_OMNIA_01 # Testcase OMNIA_1.1_PV_TC_018 # Test case to validate linear storage with linear pools and disk groups - name: OMNIA_1.1_PV_TC_018 hosts: powervault connection: local tags: TC_018 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ linear_pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_1_2 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v1 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v1 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - success_job_status in job_status.status success_msg: "{{ playbook_exec_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Execute show disk groups command uri: url: https://{{ inventory_hostname }}/api/show/disk-groups/pool/{{ disk_group_name_omnia }}/{{ disk_group_name_omnia }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: pools_diskgroup_info tags: VERIFY_OMNIA_01 - name: Verify the pool and disk group additions assert: that: - linear_pool_type in pools_diskgroup_info.json['disk-groups'][0]['storage-type'] - disk_group_name_omnia in pools_diskgroup_info.json['disk-groups'][0].name - disk_group_name_omnia in pools_diskgroup_info.json['disk-groups'][0].pool - disk_type_ssdsas in pools_diskgroup_info.json['disk-groups'][0]['disk-description'] - raid1_level in pools_diskgroup_info.json['disk-groups'][0].raidtype success_msg: "{{ pool_diskgroup_config_success_msg }}" fail_msg: "{{ pool_diskgroup_config_failure_msg }}" tags: VERIFY_OMNIA_01 - name: Execute show volumes command for k8s uri: url: https://{{ inventory_hostname }}/api/show/volumes/{{ volume_name_k8s_v1 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: k8s_volumes_info tags: VERIFY_OMNIA_01 - name: Execute show volumes command for slurm uri: url: https://{{ inventory_hostname }}/api/show/volumes/{{ volume_name_slurm_v1 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: slurm_volumes_info tags: VERIFY_OMNIA_01 - name: Verify the volumes creation assert: that: - volume_name_k8s_v1 in k8s_volumes_info.json.volumes[0]['volume-name'] - volume_size_100gb in k8s_volumes_info.json.volumes[0].size - volume_name_slurm_v1 in slurm_volumes_info.json.volumes[0]['volume-name'] - volume_size_100gb in slurm_volumes_info.json.volumes[0].size - disk_group_name_omnia in k8s_volumes_info.json.volumes[0]['storage-pool-name'] success_msg: "{{ volumes_creation_success_msg }}" fail_msg: "{{ volumes_creation_failure_msg }}" tags: VERIFY_OMNIA_01 - name: Delete the disk group created uri: url: https://{{ inventory_hostname }}/api/remove/disk-groups/{{ disk_group_name_omnia }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_diskgroup # Testcase OMNIA_1.1_PV_TC_005 # Test case to validate configuration of pools, disk group and storage volumes with SAS MDL disks, RAID 1 level, storage with rw access - name: OMNIA_1.1_PV_TC_005 hosts: powervault connection: local tags: TC_005 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../roles/webui_awx/vars/main.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA01 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_5_6 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v1 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v1 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - success_job_status in job_status.status success_msg: "{{ playbook_exec_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key - name: Execute show disk groups command uri: url: https://{{ inventory_hostname }}/api/show/disk-groups/pool/{{ pool_a }}/{{ disk_group_name_omnia_dgA01 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: pools_diskgroup_info - name: Verify the pool and disk group additions assert: that: - pool_type in pools_diskgroup_info.json['disk-groups'][0]['storage-type'] - disk_group_name_omnia_dgA01 in pools_diskgroup_info.json['disk-groups'][0].name - pool_a in pools_diskgroup_info.json['disk-groups'][0].pool - disk_type_sasmdl in pools_diskgroup_info.json['disk-groups'][0]['disk-description'] - raid1_level in pools_diskgroup_info.json['disk-groups'][0].raidtype success_msg: "{{ pool_diskgroup_config_success_msg }}" fail_msg: "{{ pool_diskgroup_config_failure_msg }}" - name: Execute show volumes command uri: url: https://{{ inventory_hostname }}/api/show/volumes/{{ volume_name_k8s_v1 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: k8s_volumes_info - name: Execute show volumes command uri: url: https://{{ inventory_hostname }}/api/show/volumes/{{ volume_name_slurm_v1 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: slurm_volumes_info - name: Verify the volumes creation assert: that: - volume_name_k8s_v1 in k8s_volumes_info.json.volumes[0]['volume-name'] - volume_size_100gb in k8s_volumes_info.json.volumes[0].size - volume_name_slurm_v1 in slurm_volumes_info.json.volumes[0]['volume-name'] - volume_size_100gb in slurm_volumes_info.json.volumes[0].size - pool_a in k8s_volumes_info.json.volumes[0]['storage-pool-name'] success_msg: "{{ volumes_creation_success_msg }}" fail_msg: "{{ volumes_creation_failure_msg }}" # Testcase OMNIA_1.1_PV_TC_004 # Test case to validate the SNMP trap notification when level is set to none - name: OMNIA_1.1_PV_TC_004 hosts: powervault connection: local tags: TC_004 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml tasks: - name: Execute show snmp parameters command uri: url: https://{{ inventory_hostname }}/api/show/snmp-parameters method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: snmp_trap_info - name: Verify the snmp trap configuration assert: that: - snmp_notify_status_disable in snmp_trap_info.json['snmp-parameters'][0]['snmp-enabled'] - snmp_notify_level_none in snmp_trap_info.json['snmp-parameters'][0]['snmp-filter'] success_msg: "{{ snmp_trap_success_msg }}" fail_msg: "{{ snmp_trap_failure_msg }}" # Testcase OMNIA_1.1_PV_TC_014 # Test case to validate the error mesage when mixed type of disks (SSD SAS and SAS MDL disks) are added to the virtual disk groups - name: OMNIA_1.1_PV_TC_014 hosts: powervault connection: local tags: TC_014 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA02 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_3_4 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v1 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v1 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - failed_job_status in job_status.status success_msg: "{{ failed_job_status_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false # Testcase OMNIA_1.1_PV_TC_015 # Test case to validate the error in addition of virtual disk groups when the specified disks are already part of an existing disk group - name: OMNIA_1.1_PV_TC_015 hosts: powervault connection: local tags: TC_015 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA02 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_5_6 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v1 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v1 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - failed_job_status in job_status.status success_msg: "{{ failed_job_status_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false # Testcase OMNIA_1.1_PV_TC_016 # Test case to validate error when specified name is already in use while adding disk groups - name: OMNIA_1.1_PV_TC_016 hosts: powervault connection: local tags: TC_016 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA01 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_2_3 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v1 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v1 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - failed_job_status in job_status.status success_msg: "{{ failed_job_status_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false # Testcase OMNIA_1.1_PV_TC_017 # Test case to validate error when specified name is already in use while creating volumes - name: OMNIA_1.1_PV_TC_017 hosts: powervault connection: local tags: TC_017 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA02 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_2_3 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v1 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v2 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - failed_job_status in job_status.status success_msg: "{{ failed_job_status_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key - name: Delete the disk group created uri: url: https://{{ inventory_hostname }}/api/remove/disk-groups/{{ disk_group_name_omnia_dgA02 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_diskgroup - name: Delete the volumes created uri: url: https://{{ inventory_hostname }}/api/delete/volumes/{{ volume_name_slurm_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_volumes # Testcase OMNIA_1.1_PV_TC_012 # Test case to validate error when same name is used for creation of both volumes - name: OMNIA_1.1_PV_TC_012 hosts: powervault connection: local tags: TC_012 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA02 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_2_3 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v2 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_k8s_v2 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - failed_job_status in job_status.status success_msg: "{{ failed_job_status_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key - name: Delete the disk group created uri: url: https://{{ inventory_hostname }}/api/remove/disk-groups/{{ disk_group_name_omnia_dgA02 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_diskgroup - name: Delete the volumes created uri: url: https://{{ inventory_hostname }}/api/delete/volumes/{{ volume_name_k8s_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_volumes # Testcase OMNIA_1.1_PV_TC_006 # Test case to validate configuration of pools and disk group with SSD SAS disks, RAID 5 level - name: OMNIA_1.1_PV_TC_006 hosts: powervault connection: local tags: TC_006 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA02 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid5_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_0_2 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v2 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v2 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - success_job_status in job_status.status success_msg: "{{ playbook_exec_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key - name: Execute show disk groups command uri: url: https://{{ inventory_hostname }}/api/show/disk-groups/pool/{{ pool_a }}/{{ disk_group_name_omnia_dgA02 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: pools_diskgroup_info - name: Verify the pool and disk group additions assert: that: - pool_type in pools_diskgroup_info.json['disk-groups'][0]['storage-type'] - disk_group_name_omnia_dgA02 in pools_diskgroup_info.json['disk-groups'][0].name - pool_a in pools_diskgroup_info.json['disk-groups'][0].pool - disk_type_ssdsas in pools_diskgroup_info.json['disk-groups'][0]['disk-description'] - raid5_level in pools_diskgroup_info.json['disk-groups'][0].raidtype success_msg: "{{ pool_diskgroup_config_success_msg }}" fail_msg: "{{ pool_diskgroup_config_failure_msg }}" - name: Delete the disk group created uri: url: https://{{ inventory_hostname }}/api/remove/disk-groups/{{ disk_group_name_omnia_dgA02 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_diskgroup - name: Delete the volumes created uri: url: https://{{ inventory_hostname }}/api/delete/volumes/{{ volume_name_k8s_v2 }},{{ volume_name_slurm_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_volumes # Testcase OMNIA_1.1_PV_TC_007 # Test case to validate configuration of pools and disk group with SAS MDL disks, RAID 6 level - name: OMNIA_1.1_PV_TC_007 hosts: powervault connection: local tags: TC_007 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_b }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgB01 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid6_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_7_10 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v2 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v2 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - success_job_status in job_status.status success_msg: "{{ playbook_exec_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key - name: Execute show disk groups command uri: url: https://{{ inventory_hostname }}/api/show/disk-groups/pool/{{ pool_b }}/{{ disk_group_name_omnia_dgB01 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: pools_diskgroup_info - name: Verify the pool and disk group additions assert: that: - pool_type in pools_diskgroup_info.json['disk-groups'][0]['storage-type'] - disk_group_name_omnia_dgB01 in pools_diskgroup_info.json['disk-groups'][0].name - pool_b in pools_diskgroup_info.json['disk-groups'][0].pool - disk_type_sasmdl in pools_diskgroup_info.json['disk-groups'][0]['disk-description'] - raid6_level in pools_diskgroup_info.json['disk-groups'][0].raidtype success_msg: "{{ pool_diskgroup_config_success_msg }}" fail_msg: "{{ pool_diskgroup_config_failure_msg }}" - name: Delete the disk group created uri: url: https://{{ inventory_hostname }}/api/remove/disk-groups/{{ disk_group_name_omnia_dgB01 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_diskgroup - name: Delete the volumes created uri: url: https://{{ inventory_hostname }}/api/delete/volumes/{{ volume_name_k8s_v2 }},{{ volume_name_slurm_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_volumes # Testcase OMNIA_1.1_PV_TC_008 # Test case to validate configuration of pools and disk group with SAS MDL disks, RAID 10 level - name: OMNIA_1.1_PV_TC_008 hosts: powervault connection: local tags: TC_008 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_b }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgB01 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid10_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_8_11 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v2 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v2 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - success_job_status in job_status.status success_msg: "{{ playbook_exec_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key - name: Execute show disk groups command uri: url: https://{{ inventory_hostname }}/api/show/disk-groups/pool/{{ pool_b }}/{{ disk_group_name_omnia_dgB01 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: pools_diskgroup_info - name: Verify the pool and disk group additions assert: that: - pool_type in pools_diskgroup_info.json['disk-groups'][0]['storage-type'] - disk_group_name_omnia_dgB01 in pools_diskgroup_info.json['disk-groups'][0].name - pool_b in pools_diskgroup_info.json['disk-groups'][0].pool - disk_type_sasmdl in pools_diskgroup_info.json['disk-groups'][0]['disk-description'] - raid10_level in pools_diskgroup_info.json['disk-groups'][0].raidtype success_msg: "{{ pool_diskgroup_config_success_msg }}" fail_msg: "{{ pool_diskgroup_config_failure_msg }}" - name: Delete the disk group created uri: url: https://{{ inventory_hostname }}/api/remove/disk-groups/{{ disk_group_name_omnia_dgB01 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_diskgroup - name: Delete the volumes created uri: url: https://{{ inventory_hostname }}/api/delete/volumes/{{ volume_name_k8s_v2 }},{{ volume_name_slurm_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_volumes # Testcase OMNIA_1.1_PV_TC_009 # Test case to validate configuration of pools and disk group with SAS MDL disks, ADAPT level - name: OMNIA_1.1_PV_TC_009 hosts: powervault connection: local tags: TC_009 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_b }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgB01 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid_adapt_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_0_11 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v2 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v2 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - failed_job_status in job_status.status success_msg: "{{ failed_job_status_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false # Testcase OMNIA_1.1_PV_TC_011 # Test case to validate the success of volume creation when volume size is more than the pool size - name: OMNIA_1.1_PV_TC_011 hosts: powervault connection: local tags: TC_011 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key - name: Execute show disk groups command uri: url: https://{{ inventory_hostname }}/api/show/pools/{{ pool_a }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: pools_info - name: Set the volume size set_fact: volume_size_overcommit: "{{ (pools_info.json['pools'][0]['total-size'] | regex_replace('GB','') | regex_replace('MB','')) | int + 1000 }}GB" - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA02 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_2_3 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v2 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v2 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_overcommit }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: false include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - success_job_status in job_status.status success_msg: "{{ playbook_exec_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Execute show k8s volumes command uri: url: https://{{ inventory_hostname }}/api/show/volumes/{{ volume_name_k8s_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: k8s_volumes_info - name: Execute show slurm volumes command uri: url: https://{{ inventory_hostname }}/api/show/volumes/{{ volume_name_slurm_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: slurm_volumes_info - name: Verify the volumes creation assert: that: - volume_name_k8s_v2 in k8s_volumes_info.json.volumes[0]['volume-name'] - volume_name_slurm_v2 in slurm_volumes_info.json.volumes[0]['volume-name'] - pool_a in slurm_volumes_info.json.volumes[0]['storage-pool-name'] success_msg: "{{ volumes_creation_success_msg }}" fail_msg: "{{ volumes_creation_failure_msg }}" - name: Delete the disk group created uri: url: https://{{ inventory_hostname }}/api/remove/disk-groups/{{ disk_group_name_omnia_dgA02 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_diskgroup - name: Delete the volumes created uri: url: https://{{ inventory_hostname }}/api/delete/volumes/{{ volume_name_k8s_v2 }},{{ volume_name_slurm_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_volumes # Testcase OMNIA_1.1_PV_TC_013 #Test case to validate the SNMP trap notification when level is set to crit - name: OMNIA_1.1_PV_TC_013 hosts: powervault connection: local tags: TC_013 gather_subset: - 'min' vars_files: - test_vars/test_powervault_vars.yml - ../input_params/powervault_me4_vars.yml - ../input_params/base_vars.yml - ../roles/webui_awx/vars/main.yml tasks: - name: Set base vars parameters lineinfile: path: "{{ base_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^snmp_trap_destination', line: 'snmp_trap_destination: "{{ snmp_destination }}"' } - name: Set powervault parameters lineinfile: path: "{{ powervault_me4_var_path }}" regexp: "{{ item.regexp }}" line: "{{ item.line }}" loop: - { regexp: '^powervault_me4_snmp_notify_level', line: 'powervault_me4_snmp_notify_level: "{{ snmp_notify_level_crit }}"' } - { regexp: '^powervault_me4_pool', line: 'powervault_me4_pool: "{{ pool_a }}"' } - { regexp: '^powervault_me4_pool_type', line: 'powervault_me4_pool_type: "{{ pool_type }}"' } - { regexp: '^powervault_me4_disk_group_name', line: 'powervault_me4_disk_group_name: "{{ disk_group_name_omnia_dgA02 }}"' } - { regexp: '^powervault_me4_raid_levels', line: 'powervault_me4_raid_levels: "{{ raid1_level }}"' } - { regexp: '^powervault_me4_disk_range', line: 'powervault_me4_disk_range: "{{ disk_range_2_3 }}"' } - { regexp: '^powervault_me4_k8s_volume_name', line: 'powervault_me4_k8s_volume_name: "{{ volume_name_k8s_v2 }}"' } - { regexp: '^powervault_me4_slurm_volume_name', line: 'powervault_me4_slurm_volume_name: "{{ volume_name_slurm_v2 }}"' } - { regexp: '^powervault_me4_volume_size', line: 'powervault_me4_volume_size: "{{ volume_size_input_100gb }}"' } - name: Execute powervault playbook using AWX collections vars: inventory_name: "{{ powervault_inventory_name }}" template_name: "{{ template_value }}" job_template_name: "{{ job_name }}" playbook_path: "{{ powervault_playbook_path }}" delete_status: true include_tasks: "{{ awx_script_path }}" - name: Validate powervault playbook execution output assert: that: - success_job_status in job_status.status success_msg: "{{ playbook_exec_success_msg }}" fail_msg: "{{ playbook_exec_fail_msg }}" changed_when: false - name: Get session key uri: url: https://{{ inventory_hostname }}/api/login/{{ auth_string.stdout | replace(" -", "") }} method: GET headers: {'datatype': 'json'} validate_certs: no register: session_key - name: Execute show snmp parameters command uri: url: https://{{ inventory_hostname }}/api/show/snmp-parameters method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: snmp_trap_info - name: Verify the snmp trap configuration assert: that: - snmp_notify_status_enable in snmp_trap_info.json['snmp-parameters'][0]['snmp-enabled'] - snmp_notify_level_crit in snmp_trap_info.json['snmp-parameters'][0]['snmp-filter'] success_msg: "{{ snmp_trap_enable_success_msg }}" fail_msg: "{{ snmp_trap_failure_msg }}" - name: Delete the disk group created uri: url: https://{{ inventory_hostname }}/api/remove/disk-groups/{{ disk_group_name_omnia_dgA02 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_diskgroup - name: Delete the volumes created uri: url: https://{{ inventory_hostname }}/api/delete/volumes/{{ volume_name_k8s_v2 }},{{ volume_name_slurm_v2 }} method: GET body_format: json validate_certs: no use_proxy: no headers: {'sessionKey': "{{ session_key.json.status[0].response }}", 'datatype':'json'} register: delete_volumes