Browse Source

Merge pull request #654 from Shubhangi-dell/devel

Validate powervault server nic
Sujit Jadhav 3 years ago
parent
commit
958740cd14

+ 4 - 2
control_plane/input_params/powervault_me4_vars.yml

@@ -95,6 +95,8 @@ powervault_me4_pool: "a"
 
 # Specify the nic of the server with which Powervault is connected.
 # Make sure nfs server also has 3 nics (for internet, OS provision and powervault connection)
-# Default value: "em1".
+# The nic should be according to the provisioned OS on nfs server.
+# Example: em1 for CentOS-7, eno1 for RockyOS etc.
+# Default value: "eno1"
 # Required field
-powervault_me4_server_nic: "em1"
+powervault_me4_server_nic: "eno1"

+ 10 - 0
omnia.yml

@@ -19,6 +19,16 @@
   gather_facts: no
   roles:
     - cluster_validation
+    
+- name: Validate nfs_node config
+  hosts: nfs_node
+  gather_facts: false
+  tasks:
+    - name: Validate nfs_node config
+      include_role:
+        name: powervault_me4_nfs
+        tasks_from: validate_nfs_config.yml
+      when: hostvars['127.0.0.1']['powervault_status']
 
 - name: Gather facts from all the nodes
   hosts: manager, compute, login_node, nfs_node

+ 1 - 0
roles/powervault_me4_nfs/tasks/nfs_node_configure.yml

@@ -134,4 +134,5 @@
 - name: Login to the powervault
   command: iscsiadm -m node --login {{ pv_name }} -p {{ ip_port }}
   changed_when: true
+  failed_when: false
   tags: install

+ 25 - 0
roles/powervault_me4_nfs/tasks/validate_nfs_config.yml

@@ -0,0 +1,25 @@
+- name: Include variable file for powervault
+  include_vars: "{{ pv_nfs_file }}"
+  no_log: false
+
+- name: Include variable file for powervault
+  include_vars:  "{{ role_path }}/vars/main.yml"
+  no_log: true
+
+- name: Refresh ssh-key
+  command: ssh-keygen -R {{ inventory_hostname }}
+  register: ping_result
+  changed_when: false
+  failed_when: false
+
+- name: Check for nfs node nic
+  command: nmcli device show {{ pv_nic }}
+  register: nic_output
+  changed_when: false
+  failed_when: false
+  tags: install
+
+- name: Fail if wrong nic
+  fail:
+    msg: "{{ nic_error }}"
+  when: 'pv_nic in nic_output.stderr'

+ 3 - 0
roles/powervault_me4_nfs/vars/main.yml

@@ -37,3 +37,6 @@ pv_port_ip: 192.168.25.5
 pv_nfs_file: "{{ role_path }}/../../control_plane/input_params/powervault_me4_vars.yml"
 nic_path: "/etc/sysconfig/network-scripts/ifcfg-{{ powervault_me4_server_nic }}"   
 pv_ports_file: "{{ playbook_dir }}/control_plane/roles/powervault_me4/tasks/ports.yml"
+
+# Usage: validate_nfs_config.yml
+nic_error: "Failed. The nic given is wrong. Give nic according to the provisioned OS"