桥接网络的 terraform libvirt 问题

terraform libvirt trouble with bridged network

Terraform 专家周一早上挑战 ;-)

我在使用桥接网络时使用 libvirt 提供程序创建 KVM 主机时遇到问题。 网络接口无法接收 dhcp 信息。然而,具有相同桥接网络的 virt-install 工作正常。 DHCP/DNS 服务器在网络本地,我没有使用内置的 DHCP 服务器。

下面是创建网络和访客的 terraform....

# create KVM bridge network 
resource "libvirt_network" "kvm_network" {
  name = "kvmnet"
  mode = "bridge"
  bridge = "br0"
  autostart = "true"
}

# create kvm volume
resource "libvirt_volume" "generic-kvm-volume" {  
  name = "debian-141"
  pool = "tf"                                     
  source = "/var/kvm/images/debian11.img"
}                                                 

# Define KVM domain to create                     
resource "libvirt_domain" "generic-kvm-domain" {  
  name = "debian"
  vcpu = 1
  memory = 1024
                                                  
  network_interface {                             
    network_name   = "kvmnet"                    
    mac            = "de:3d:c0:a8:0a:8d"
  }                                               
  disk {                                          
    file = "/var/kvm/tf/debian-141"    
  }                                                
  console {                                        
    type = "pty"                                   
    target_type = "serial"                         
    target_port = "0"                              
  }                                                
  graphics {                                       
    type = "spice"                                 
    listen_type = "address"                        
    autoport = true                                
  }                                                
}                                                  

如果我评论“# Define KVM domain to create”块并重新运行 terraform apply仅删除来宾,然后通过virt-install创建一个域(使用terraform 定义的网络和卷)接口出现并按预期分配了 IP/Domain 名称。

virt-install \                   
  --name debian-14 \             
  --memory 1024 \                
  --vcpus 2 \                    
  --disk /var/kvm/tf/debian-141 \
  --import \                     
  --network network=kvmnet \     
  --mac=de:3d:c0:a8:0a:8d \      
  --os-variant debian10          

这暗示最后一个 terraform 配置块是物理的 bridge/terraform 桥似乎按预期工作。

备注:

希望 Terraform 专家可以对这个星期一早上的挑战发表评论 ;-)

更新/解决方案:声明machine = "pc-q35-5.2"解决了这个问题。它以前没有设置,默认为 pc-i440fx-5.2.