半年前の話なのですでに解消済なのですが備忘のために残しておきます。
ansible-role-nvidia-driverとは
NVIDIAドライバをインストールできるAnsibleのロールです。NVIDIAのGitHubリポジトリで管理されており、Ansible Galaxyでも公開されています。
Ansible Galaxy - nvidia_driver
自分でAnsible Playbookやロールを作ってインストールすることもできますが、公開されていて、かつメンテナンスされているものをつかった方が楽なので、できるだけ利用しています。
事象
以下のようなPlaybookがあるとします。
- name: Install NVIDIA Driver hosts: hogehoge roles: - role: nvidia.nvidia_driver tags: "nvidia" vars: - nvidia_driver_ubuntu_install_from_cuda_repo: yes - nvidia_driver_package_version: "465.19.01-1" - nvidia_driver_skip_reboot: yes
このPlaybookを実行すると以下のエラーがでました。
TASK [nvidia.nvidia_driver : add repo] **************************************************************************************************** fatal: [foo-server]: FAILED! => changed=false msg: 'Failed to update apt cache: E:Failed to fetch https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/by-hash/SHA256/751939d95516afc289908a19e447f0acc1506367f72ed356431a2b1a469cc8ca 404 Not Found [IP: 152.199.39.144 443], E:Some index files failed to download. They have been ignored, or old ones used instead.'
原因
ここの箇所でパッケージリポジトリのURLがhttps
ではなく、http
になっていたのが原因でした。NVIDIAドライバのインストール画面にいくと、https
になっていました。
手元でhttp
でNVIDIAドライバを入れようとすると同じエラーになることが確認できました。
$ cat << EOF > /etc/apt/sources.list.d/developer_download_nvidia_com_compute_cuda_repos_ubuntu2004_x86_64.list deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 / EOF $ apt-get update Err:11 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 Packages 404 Not Found [IP: 152.199.39.144 443] Fetched 329 kB in 1s (231 kB/s) Reading package lists... Done E: Failed to fetch https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/by-hash/SHA256/751939d95516afc289908a19e447f0acc1506367f72ed356431a2b1a469cc8ca 404 Not Found [IP: 152.199.39.144 443] E: Some index files failed to download. They have been ignored, or old ones used instead.
解決策
2つあります。
1. v2.0.2に上げる
修正PRを上げてマージされているため、最新版のv2.0.2に上げれば解消されます。
2. nvidia_driver_ubuntu_cuda_repo_baseurl を指定する
諸事情によりバージョンを上げることができない場合は、nvidia_driver_ubuntu_cuda_repo_baseurl
パラメータでリポジトリURLを変えることで回避できます。
- name: Install NVIDIA Driver hosts: hogehoge roles: - role: nvidia.nvidia_driver tags: "nvidia" vars: # 追加 - nvidia_driver_ubuntu_cuda_repo_baseurl: "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/" - nvidia_driver_ubuntu_install_from_cuda_repo: yes - nvidia_driver_package_version: "465.19.01-1" - nvidia_driver_skip_reboot: yes