123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- # 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.
- ---
- - block:
-
- - name: Get iDRAC IP details
- dellemc.openmanage.idrac_system_info:
- idrac_ip: "{{ item | trim }}"
- idrac_user: "{{ idrac_username }}"
- idrac_password: "{{ idrac_password }}"
- register: idrac_ip
- run_once: true
- ignore_errors: yes
- tags: "TC_004"
- - name: Validate iDRAC IP
- assert:
- that:
- - idrac_ip.system_info.iDRACNIC[0].ProductInfo == idrac_search_key
- fail_msg: "{{ item | trim }} {{ idrac_fail_msg }}"
- success_msg: "{{ item | trim }} {{ idrac_success_msg }}"
- tags: "TC_004"
- - name: Authenticate infiniband Switch
- uri:
- url: http://{{ item | trim }}/admin/launch?script=rh&template=login&action=login
- method: POST
- body_format: form-urlencoded
- body:
- f_user_id: "{{ ib_username }}"
- f_password: "{{ ib_password }}"
- enter: Sign in
- status_code: "{{ infiniband_status_code }}"
- register: login
- ignore_errors: yes
- run_once: true
- tags: "TC_005"
-
- - name: Assert infiniband switch
- uri:
- url: http://{{ item | trim }}/admin/launch?script=json
- method: POST
- body_format: json
- headers:
- Cookie: "{{ login.set_cookie.split(';')[0] }}"
- body:
- {
- "commands":
- [
- "show version"
- ]
- }
- register: infinibandswitch_info
- when: login.failed == false or 'set_cookie' not in login
- ignore_errors: yes
- run_once: true
- tags: "TC_005"
-
- - name: Validate infiniband IP
- assert:
- that:
- - infinibandswitch_info.json.data['Product name'] == infiniband_search_key
- fail_msg: "{{ infiniband_fail_msg }}"
- success_msg: "{{ infiniband_success_msg }}"
- ignore_errors: yes
- tags: "TC_005"
-
- - name: Get ethernet IP details
- dellos10_command:
- provider:
- host: "{{ item | trim }}"
- username: "{{ ethernet_switch_username }}"
- password: "{{ ethernet_switch_password }}"
- commands: ['show version']
- register: ethernet_info
- ignore_errors: yes
- run_once: true
- when: ethernet_switch_support
- tags: "TC_006"
- - name: Validate ethernet IP
- assert:
- that:
- - ethernet_info.stdout | regex_search(ethernet_search_key)
- fail_msg: " {{ item | trim }} {{ ethernet_fail_msg }}"
- success_msg: "{{ item | trim }} {{ ethernet_success_msg }}"
- tags: "TC_006"
-
- - name: Get auth string for powervault
- shell: echo -n {{ powervault_me4_username }}_{{powervault_me4_password}} | sha256sum
- changed_when: false
- when: powervault_support
- register: auth_string
- ignore_errors: yes
- run_once: true
- tags: "TC_007"
-
- - name: Get session key for powervault
- uri:
- url: https://{{ item | trim }}/api/login/{{ auth_string.stdout | replace(" -", "") }}
- method: GET
- headers:
- {'datatype': 'json'}
- validate_certs: no
- when: powervault_support
- register: session_key
- ignore_errors: yes
- run_once: true
- tags: "TC_007"
-
- - name: Assert me4_powervault
- uri:
- url: https://{{ item | trim }}/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
- ignore_errors: yes
- run_once: true
- tags: "TC_007"
- - name: Validate me4_powervault IP
- assert:
- that:
- - "'{{ me4_powervault_search_key }}' in system_info.json.system[0]['scsi-product-id']"
- fail_msg: "{{ item | trim }} {{ powervault_fail_msg }}"
- success_msg: "{{ item | trim }} {{ powervault_success_msg }}"
- ignore_errors: yes
- tags: "TC_007"
-
- rescue:
- - debug:
- msg: "{{ failed_msg }}"
|