Вы обращаетесь к переменной регистра eth0, пытаясь использовать несуществующее имя «register».
Когда вы регистрируете переменную в ansible, вы также сообщаете ansible имя переменной, которую вы хотите зарегистрировать, как -в вашем случае, eth0:
register: eth0
Таким образом, чтобы получить к нему доступ позже, вам нужно будет использовать имя eth0 вот так:
IPADDR={{ eth0.stdout }}
Теперь, если вы позволите мне решить то, что я считаю вашей XY-проблемой -вместо использования grep для разбора IP-адреса вашего интерфейса, почему бы не попробовать использовать факты? Если вы знаете имя интерфейса на хосте, вы можете просто сделать что-то вроде этого:
IPADDR={{ ansible_eth0.ipv4.address }}
Если, с другой стороны, вы не знаете имя интерфейса (или оно отличается на всех ваших хостах )-, но вы знаете, что каждый хост имеет только один жизнеспособный интерфейс, тогда вы можете использовать что-то вроде следующее:
IPADDR={{ ansible_default_ipv4.address }}
Чтобы увидеть все факты, которые ansible собирает в системе, используйте следующую команду:
ansible <hosts> -m setup
Я решил проблему, перейдя на Nvidia GT710. Это не очень хорошая карта, но она очень дешевая и поддерживается последними драйверами Nvidia. Поскольку я не собираюсь использовать свой старый ПК для выполнения задач, связанных с графикой -, я доволен своим обновлением.