Criando redes “mcast” libvirt usando o virt-install?

1

Eu gostaria de criar máquinas virtuais com interfaces de rede mastro . Isso é possível primeiro criando um convidado usando virt-install , modificando o XML do domínio.

Existe uma maneira de fazer isso a partir da linha de comando? Ingenuamente começando com:

virt-install -w mcast ...

Resultados em:

ERROR    internal error: No <source> 'port' attribute specified with socket interface

O XML gerado pelo acima se parece com:

<interface type="mcast">
  <mac address="52:54:00:21:ec:7c"/>
</interface>

... então, de fato, está faltando o elemento source . No entanto, a solução óbvia não funciona:

virt-install -w mcast,source=230.0.0.1:5555

Isso resulta no mesmo XML.

Existe uma maneira de fazer isso funcionar na linha de comando virt-install ?

    
por larsks 03.03.2016 / 17:07

1 resposta

1

Pode haver uma resposta melhor por aí, mas o que resolvi é:

virt-install -r 512 -n myguest \
  --disk vol=default/centos-base.qcow2 --import \
  -w user -w mcast,model=virtio --print-xml |
awk '{print} /interface.*type="mcast"/ {print "<source address=\"239.0.0.1\" port=\"8000\"/>"}' |
virsh create /dev/stdin

Os resultados acima são:

<interface type='mcast'>
  <source address='239.0.0.1' port='8000'/>
  <model type='virtio'/>
</interface>

Enquanto normalmente eu estremeço ao usar awk para processar XML, neste caso a saída do libvirt seja muito previsível.

    
por 04.03.2016 / 03:36