|
@@ -0,0 +1,147 @@
|
|
|
+# 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 }}"
|