Я хочу создавать виртуальные машины с мачта сетевые интерфейсы. Это можно сделать, сначала создав гостя с помощью virt-install
, а затем измените XML домена.
Есть ли способ сделать это из командной строки? Наивно начиная с:
virt-install -w mcast ...
Результаты в:
ERROR internal error: No <source> 'port' attribute specified with socket interface
XML, сгенерированный вышеизложенным, выглядит так:
<interface type="mcast">
<mac address="52:54:00:21:ec:7c"/>
</interface>
... так что действительно отсутствует source
элемент. Однако очевидное решение не работает:
virt-install -w mcast,source=230.0.0.1:5555
В результате получается тот же XML.
Есть ли способ заставить эту работу работать с virt-install
командная строка?
Возможно, есть лучший ответ, но я остановился на следующем:
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
Вышеупомянутые результаты:
<interface type='mcast'>
<source address='239.0.0.1' port='8000'/>
<model type='virtio'/>
</interface>
Хотя обычно я содрогался бы при использовании awk
для обработки XML, в этом случае вывод libvirt очень предсказуем.