diff --git a/roles/gpu/tasks/main.yml b/roles/gpu/tasks/main.yml index a8b27eb740f04a153f025b88e5fe6cdbc57f610e..cdef9347e47802cef6d65d06c5698ddc198f906a 100644 --- a/roles/gpu/tasks/main.yml +++ b/roles/gpu/tasks/main.yml @@ -25,74 +25,89 @@ - xorg-x11-proto-devel - xorg-x11-xkb-utils -- name: Add nouveau from blacklist - lineinfile: - args: - dest: /etc/modprobe.d/blacklist.conf - line: "blacklist nouveau" - state: present - sudo: true +- name: install development tools + yum: name="@Development Tools" state=installed + become: true + become_user: root -- name: Template disable-nouvear.conf - template: dest=/etc/modprobe.d/disable-nouveau.conf src=disable-nouveau.conf.j2 - sudo: true - -- name: Template nvidia.conf - template: dest=/etc/modprobe.d/nvidia.conf src=nvidia.conf.j2 - sudo: true +- name: disable nouveau + template: src=blacklist-nouveau.conf.j2 dest=/etc/modprobe.d/blacklist-nouveau.conf + become: true + become_user: root - name: check nvidia driver shell: ls /usr/lib64/libnvidia-opencl.so.{{ nvidia_version }} - register: has_been_compiled + register: drivers_installed ignore_errors: true -- name: Copy boot file - template: src=grub.conf.j2 dest=/boot/grub/grub.conf - sudo: true +- name: get nvidia driver + shell: wget http://consistency0/src/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run + args: + chdir: /tmp + creates: /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run + sudo: true + when: drivers_installed | failed -- name: Copy X config file - template: src=xorg.conf.j2 dest=/etc/X11/xorg.conf - sudo: true +#- name: Copy boot file +# template: src=grub.conf.j2 dest=/boot/grub/grub.conf +# sudo: true +# +#- name: Copy X config file +# template: src=xorg.conf.j2 dest=/etc/X11/xorg.conf +# sudo: true - name: Copy xserver file template: src=xserver.j2 dest=/etc/pam.d/xserver sudo: true - + +- name: look for nouveau + shell: /usr/sbin/lsmod + register: lsmod_output + +- name: set nouveau string + set_fact: nouveau='nouveau' + + - name: restart_host - command: shutdown -r now "Reboot triggered by Ansible" - async: 900 - poll: 60 + shell: sleep 5 ; shutdown -r now "Reboot triggered by Ansible" + async: 2 + poll: 1 sudo: true ignore_errors: true - when: has_been_compiled | failed + when: nouveau in lsmod_output.stdout + +- 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: nouveau in lsmod_output.stdout -- name: wait_restart - local_action: wait_for host="{{ inventory_hostname }}" port=22 delay=5 timeout=600 - sudo: true - when: has_been_compiled | failed - -- name: get nvidia driver - shell: wget http://us.download.nvidia.com/XFree86/Linux-x86_64/{{ nvidia_version }}/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run - args: - chdir: /tmp - creates: /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run - sudo: true - when: has_been_compiled | failed - name: build nvidia driver - shell: chmod 755 /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run; /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run --silent --kernel-source-path /usr/src/kernels/{{ kernel_version }}.el6.x86_64 + shell: chmod 755 /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run; /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run --silent sudo: true - when: has_been_compiled | failed + when: drivers_installed | failed -- name: set persistence mode - lineinfile: - args: - dest: /etc/rc.d/rc.local - line: "nvidia-smi --persistence-mode=1" - state: present +- name: restart_host + shell: sleep 5 ; shutdown -r now "Reboot triggered by Ansible" + async: 2 + poll: 1 sudo: true + ignore_errors: true + when: drivers_installed | failed -- name: Load module - shell: modprobe nvidia - sudo: true +- 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: set persistence mode +# lineinfile: +# args: +# dest: /etc/rc.d/rc.local +# line: "nvidia-smi --persistence-mode=1" +# state: present +# sudo: true +#- name: Load module +# shell: modprobe nvidia +# sudo: true diff --git a/roles/gpu/templates/disable-nouveau.conf.j2 b/roles/gpu/templates/disable-nouveau.conf.j2 deleted file mode 100644 index 96993361f370408d6cb1e6fe227b69e63e0f4cab..0000000000000000000000000000000000000000 --- a/roles/gpu/templates/disable-nouveau.conf.j2 +++ /dev/null @@ -1,3 +0,0 @@ -blacklist nouveau -options nouveau modeset=0 -