diff --git a/roles/mellanox_drivers/tasks/main.yml b/roles/mellanox_drivers/tasks/main.yml index 9678d12e25cbc7e0b3ecae53d75fcdbf4ee4d64b..32c06a8e3fe519cabeff424621341c307514b6de 100644 --- a/roles/mellanox_drivers/tasks/main.yml +++ b/roles/mellanox_drivers/tasks/main.yml @@ -2,7 +2,7 @@ - include_vars: mellanoxVars.yml - name: yum install dependencies - yum: name=perl,pciutils,gtk2,atk,cairo,gcc-gfortran,libxml2-python,tcsh,libnl,lsof,tcl,tk + yum: name=perl,pciutils,gtk2,atk,cairo,gcc-gfortran,libxml2-python,tcsh,libnl,lsof,tcl,tk,kernel-devel,python-devel,createrepo sudo: true ignore_errors: true when: ansible_os_family == "RedHat" @@ -13,99 +13,29 @@ register: drivers_installed ignore_errors: true +- name: set install + set_fact: install_now=True, reboot_now=False + -# This is NASTY. Don't upgrade production systems without taking them out of the queue first. -#- name: yum update to upgrade kernel -# shell: "yum update -y" -# sudo: true -# ignore_errors: true -# when: ansible_os_family == "RedHat" and drivers_installed|failed - -# -# A REBOOT IS NEEDED AFTER a KERNEL UPDATE -# -#- name: restart machine -# shell: sleep 5; sudo shutdown -r now "Ansible updates triggered" -# async: 2 -# poll: 0 -# ignore_errors: true -# sudo: true -# when: ansible_os_family == "RedHat" and drivers_installed|failed -# -#- name: waiting for server to come back -# local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH -# sudo: false -# -#- name: waiting for server to come back number 2 -# local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH -# sudo: false - name: copy driver source #make this a variable - unarchive: copy=yes src="files/{{ MELLANOX_DRIVER_SRC }}.tgz" dest=/tmp + unarchive: copy=no src="http://consistency0/src/{{ 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 + when: install_now - name: install drivers - shell: ./mlnxofedinstall -q + shell: ./mlnxofedinstall -q --add-kernel-support --force args: #more changes chdir: "/tmp/{{ MELLANOX_DRIVER_SRC }}" sudo: true - when: drivers_installed|failed + when: install_now -# -# get IP address before reboot -# -- name: get IP address - local_action: command ./scripts/map_ib_ip.pl {{ inventory_hostname }} - register: ip_address - sudo: false - #when: drivers_installed|failed - -#get the interface name -- name: get devide name of Mellanox Interface from ibdev2netdev.sh - script: ibdev2netdev.sh - register: MELLANOX_DEVICE_NAME - sudo: true -- name: create /etc/sysconfig/network-scripts/ifcfg-<device name> - template: dest=/etc/sysconfig/network-scripts/ifcfg-{{ MELLANOX_DEVICE_NAME.stdout }} src=ifcfg-conf.j2 owner=root group=root - sudo: true - when: ansible_os_family=="RedHat" - - -#ubuntu equivalent of previous command -- name: Ubuntu network interfaces - line 1 - lineinfile: - args: - dest: /etc/network/interfaces - line: auto {{ MELLANOX_DEVICE_NAME.stdout }} - state: present - sudo: true - when: ansible_os_family=="Debian" and drivers_installed|failed -- name: Ubuntu network interfaces - line 2 - lineinfile: - args: - dest: /etc/network/interfaces - line: iface {{ MELLANOX_DEVICE_NAME.stdout }} inet static - state: present - insertafter: "auto {{ MELLANOX_DEVICE_NAME.stdout }}" - sudo: true - when: ansible_os_family=="Debian" and drivers_installed|failed - -- name: Ubuntu network interfaces - line 3 - lineinfile: - args: - dest: /etc/network/interfaces - line: address {{ ip_address.stdout }} - state: present - insertafter: "iface {{ MELLANOX_DEVICE_NAME.stdout }} inet static" - sudo: true - when: ansible_os_family=="Debian" and drivers_installed|failed # # A REBOOT IS NEEDED AFTER SUCCESSFUL INSTALL # @@ -115,29 +45,9 @@ poll: 1 ignore_errors: true sudo: true - when: ansible_os_family=="RedHat" and drivers_installed|failed - -- name: restart machine for Ubuntu -cos it is 'special' - shell: "sleep 5; sudo shutdown -r now" - async: 2 - poll: 1 - ignore_errors: true - sudo: true - when: ansible_os_family=="Debian" and drivers_installed|failed + when: reboot_now - name: waiting for server to come back local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH sudo: false - when: drivers_installed|failed - -- name: waiting for server to come back 2 - local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH - when: drivers_installed|failed - -- name: bring up interface - #variable=eth0 or ens6 or eth1 - command: ifup {{ MELLANOX_DEVICE_NAME.stdout }} - sudo: true - when: ansible_os_family=="RedHat" and ansible_distribution_major_version == "7" - - + when: reboot_now diff --git a/roles/nfs-client/tasks/mountFileSystem.yml b/roles/nfs-client/tasks/mountFileSystem.yml index 76506d50b7aca86aade2223e878aa49dde71c8f3..80d53d356deaace73a106d551aacc32b54adbac6 100644 --- a/roles/nfs-client/tasks/mountFileSystem.yml +++ b/roles/nfs-client/tasks/mountFileSystem.yml @@ -1,38 +1,9 @@ --- -- name: "stop fail2ban" - service: name=fail2ban state=stopped - sudo: true - -- name: "Check NFS mount, it may not be necessary, just in case if the following role does actively re-mount" - shell: mountpoint -q {{ nfsMounts[0].name }} - register: mount_state - ignore_errors: true - when: nfsMounts is defined - name: "Mounting NFS mounts" mount: name={{ item.name }} src="{{ item.ipv4 }}:{{ item.src }}" fstype={{ item.fstype }} opts={{ item.opts }} state=mounted with_items: "{{ nfsMounts }}" - notify: "restart rpcbind" - notify: "restart idmap" sudo: true ignore_errors: true register: firstMount - when: nfsMounts is defined and mount_state | failed - -- name: "Wait for nfs to stabailse" - command: sleep 60 - delegate_to: 127.0.0.1 - when: firstMount | failed - -- name: "Mounting NFS mounts after failure" - mount: name={{ item.name }} src="{{ item.ipv4 }}:{{ item.src }}" fstype={{ item.fstype }} opts={{ item.opts }} state=mounted - with_items: "{{ nfsMounts }}" - notify: "restart idmap" - notify: "restart rpcbind" - sudo: true - when: nfsMounts is defined and firstMount is defined and firstMount | failed - -- name: "restart fail2ban" - service: name=fail2ban state=started - sudo: true - + when: nfsMounts is defined