diff --git a/roles/mellanox_drivers/tasks/main.yml b/roles/mellanox_drivers/tasks/main.yml index 72cdbce129e9de3eb95397791ba96ca4422a8b01..462b7320c432d0967141833497b88696ec3d31ce 100644 --- a/roles/mellanox_drivers/tasks/main.yml +++ b/roles/mellanox_drivers/tasks/main.yml @@ -1,14 +1,18 @@ --- +- include_vars: mellanoxVars.yml + - name: yum install dependencies yum: name=perl,pciutils,gtk2,atk,cairo,gcc-gfortran,libxml2-python,tcsh,libnl,lsof,tcl,tk sudo: true ignore_errors: true + when: ansible_os_family == "RedHat" - name: yum update to upgrade kernel shell: "yum update -y" sudo: true - when: ansible_os_family=="RedHat" and ansible_distribution_major_version == "7" + ignore_errors: true + when: ansible_os_family == "RedHat" # # A REBOOT IS NEEDED AFTER a KERNEL UPDATE @@ -19,6 +23,7 @@ poll: 0 ignore_errors: true sudo: true + when: ansible_os_family == "RedHat" - name: waiting for server to come back #local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH @@ -36,26 +41,78 @@ ignore_errors: true - name: copy driver source - unarchive: copy=yes src=files/MLNX_OFED_LINUX-3.1-1.0.3-rhel7.1-x86_64-ext.tgz dest=/tmp + #make this a variable + unarchive: copy=yes src="files/{{ MELLANOX_DRIVER_SRC }}.tgz" dest=/tmp sudo: true - when: drivers_installed|failed and ansible_os_family=="RedHat" and ansible_distribution_major_version == "7" + #when: drivers_installed|failed and ansible_os_family=="RedHat" and ansible_distribution_major_version == "7" + when: drivers_installed|failed - name: install drivers shell: ./mlnxofedinstall -q args: - chdir: /tmp/MLNX_OFED_LINUX-3.1-1.0.3-rhel7.1-x86_64-ext + #more changes + chdir: "/tmp/{{ MELLANOX_DRIVER_SRC }}" sudo: true - when: drivers_installed|failed and ansible_distribution_major_version == "7" + when: drivers_installed|failed # +# get IP address before reboot +# +- name: get IP address + local_action: command ./scripts/map_ib_ip.pl {{ inventory_hostname }} + register: ip_address + sudo: false + + +- name: template IP address + template: dest=/etc/sysconfig/network-scripts/ifcfg-ens6 src=ifcfg-ens6.j2 owner=root group=root + sudo: true + when: ansible_os_family=="RedHat" and ansible_distribution_major_version == "7" +#ubuntu equivalent of previous command +- name: Ubuntu network interfaces - line 1 + lineinfile: + args: + dest: /etc/network/interfaces + line: auto {{ MELLANOX_DEVICE_NAME }} + state: present + sudo: true + when: ansible_os_family=="Debian" +- name: Ubuntu network interfaces - line 2 + lineinfile: + args: + dest: /etc/network/interfaces + line: iface {{ MELLANOX_DEVICE_NAME }} inet static + state: present + insertafter: "auto {{ MELLANOX_DEVICE_NAME }}" + sudo: true + when: ansible_os_family=="Debian" +- name: Ubuntu network interfaces - line 3 + lineinfile: + args: + dest: /etc/network/interfaces + line: address {{ ip_address.stdout }} + state: present + insertafter: "iface {{ MELLANOX_DEVICE_NAME }} inet static" + sudo: true + when: ansible_os_family=="Debian" +# # A REBOOT IS NEEDED AFTER SUCCESSFUL INSTALL # - name: restart machine - command: sleep 5; sudo shutdown -r now "Ansible updates triggered" + command: "sleep 5; sudo shutdown -r now" async: 2 poll: 0 ignore_errors: true sudo: true + when: ansible_os_family=="Centos" + +- name: restart machine for Ubuntu -cos it is 'special' + command: "sudo shutdown -r now" + async: 2 + poll: 0 + ignore_errors: true + sudo: true + when: ansible_os_family=="Debian" - name: waiting for server to come back local_action: wait_for host={{ ansible_ssh_host }} state=started port=22 delay=10 search_regex=OpenSSH @@ -63,23 +120,11 @@ - name: waiting for server to come back 2 local_action: wait_for host={{ ansible_ssh_host }} state=started port=22 delay=10 search_regex=OpenSSH - sudo: false -- name: get IP address - local_action: command ./scripts/map_ib_ip.pl {{ inventory_hostname }} - register: ip_address - -- name: template IP address - template: dest=/etc/sysconfig/network-scripts/ifcfg-ens6 src=ifcfg-ens6.j2 owner=root group=root - sudo: true - when: ansible_distribution_major_version == "7" - - name: bring up interface - command: ifup ens6 + #variable=eth0 or ens6 + command: ifup {{ MELLANOX_DEVICE_NAME }} sudo: true when: ansible_distribution_major_version == "7" - - -