123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221 |
- # 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_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_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: 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: 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
- tags: VERIFY_OMNIA_01
- - 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 }}"
- tags: VERIFY_OMNIA_01
- - 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
- tags: VERIFY_OMNIA_01
- - 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
- 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
- - pool_a 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
- # 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_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: true
- 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_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: true
- 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_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: true
- 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_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: true
- 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_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: true
- 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_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: 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 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_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: 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 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_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: 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 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_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: true
- 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_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: 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: 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_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
|