Самый простой способ: IP-адреса присваиваются через некоторое время после создания виртуальной машины в KVM (если dhcp), поэтому я рекомендую запускать все в сценарии оболочки.
в TF-скрипте добавить модуль вывода (получить IP-адреса )
output "ips" {
# show IP, run 'terraform refresh' if not populated
value = libvirt_domain.domain-ubuntu.*.network_interface.0.addresses
}
сценарий оболочки:
terraform apply
#sleep to wait for IPs(if dhcp)
sleep 30
#fetch IPs
terraform refresh | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' >> hosts
ansible-playbook -u ubuntu -i hosts