blob: 634b84f438744776020e9a295fe00bbfe98061c4 [file] [log] [blame]
---
# Install drivers needed for the Lenovo Thunderbolt 3 Graphics Dock (G0A10170UL); applies only to
# group "egpu-lenovo".
# Requires Ansible 2.5 or later.
# TODO(dogben): In the future we will probably have eGPUs other than the Lenovo and possibly hosts
# other than the NUC7i5BNK, at which point we should split this playbook appropriately.
- hosts: egpu-lenovo
tasks:
- name: Create Temp
win_file:
path: c:\Temp
state: directory
- name: Copy the Intel NUC7i5BNK TB3 driver ZIP to the host
win_copy:
src: "{{ win_package_src }}/Intel NUC7i5BNK Thunderbolt 3 TBT_WIN10_64_17.2.71.250.zip"
dest: c:\Temp\intel_tb3.zip
- name: Extract the Intel NUC7i5BNK TB3 driver ZIP
win_unzip:
src: c:\Temp\intel_tb3.zip
dest: C:\Temp\Intel
- name: Install Intel NUC7i5BNK TB3 driver
win_package:
path: c:\Temp\Intel\setup.msi
# See docs for win_package here:
# http://docs.ansible.com/ansible/latest/win_package_module.html
# Unfortunately, the only way I have found to get this product_id is to install the software
# and dig through the registry. And even then it might not work (see
# nvidia-graphics-driver.yml). Hopefully future versions of win_package will make this better
# (or just make the product_id optional).
#product_id: '{DEE0B752-52D8-4615-9BEE-1EDA46628960}'
state: present
- name: Copy the Lenovo TB3 Graphics Dock Driver EXE to the host
win_copy:
src: "{{ win_package_src }}/lenovo_thunderbolt_3_graphics_dock_driver_v100044.exe"
dest: c:\Temp\lenovo_tb3.exe
- name: Create C:\Temp\Lenovo
win_file:
path: c:\Temp\Lenovo
state: directory
- name: Extract the Lenovo TB3 Graphics Dock Driver EXE
# Extract arg based on info from "lenovo_tb3.exe /?" and trial-and-error.
win_command: c:\Temp\lenovo_tb3.exe /extract:c:\Temp\Lenovo
- name: Install Lenovo TB3 Graphics Dock Driver
win_package:
# I have no idea what "A3E7EAB" means.
path: c:\Temp\Lenovo\A3E7EAB\Lenovo_Thunderbolt_3_Graphics_Dock_Driver_V100044.msi
state: present
- name: Cleanup
win_file:
path: c:\Temp\{{ item }}
state: absent
loop:
- intel_tb3.zip
- Intel
- lenovo_tb3.exe
- Lenovo