packerで複数NICなqemuイメージを作成する

packerで複数NICなqmuイメージをkickstartで作成するのに苦労したのでメモ

これが参考になった stackoverflow.com

qemuargsでmac addressを指定してるのは出来たイメージをkvmにインポートする時にブリッジを指定したかったから。

     "qemuargs": [ 
        [ "-serial", "file:serial.out" ],
    [ "-netdev", "user,id=net0,hostfwd=tcp::2222-:22,hostfwd=tcp::2223-:22,net=10.0.2.0/24" ],
        [ "-device", "virtio-net,netdev=net0,mac=52:54:00:12:34:56" ],
    [ "-netdev", "user,id=net1" ],
        [ "-device", "virtio-net-pci,netdev=net1,mac=52:54:01:12:34:56" ]
      ],
      "boot_command":
      [
        "<tab>",
        " append console=ttyS0,115200n8 ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/centos6-ks.cfg ksdevice=eth0",
        "<enter>"
      ]

eth0はprovisionersのshellで設定。 eth1はkickstartで設定した。

kvmへのインポートはこんな感じで。

virt-install --memory 2048 --name test --disk /var/lib/libvirt/qemu/test --network bridge:br0 --mac=52:54:00:12:34:56 --network bridge:br1 --mac=52:54:01:12:34:56 --import