diff --git a/devops/driver/libvirt/libvirt_driver.py b/devops/driver/libvirt/libvirt_driver.py index fd3fc3b8..0bef4102 100644 --- a/devops/driver/libvirt/libvirt_driver.py +++ b/devops/driver/libvirt/libvirt_driver.py @@ -1081,6 +1081,7 @@ class LibvirtNode(node.Node): vcpu = base.ParamField(default=1) memory = base.ParamField(default=1024) has_vnc = base.ParamField(default=True) + has_videocard = base.ParamField(default=True) bootmenu_timeout = base.ParamField(default=0) numa = base.ParamField(default=[]) cloud_init_volume_name = base.ParamField() @@ -1221,6 +1222,7 @@ class LibvirtNode(node.Node): bootmenu_timeout=self.bootmenu_timeout, emulator=emulator, has_vnc=self.has_vnc, + has_videocard=self.has_videocard, vnc_password=self.driver.vnc_password, local_disk_devices=local_disk_devices, interfaces=local_interfaces, diff --git a/devops/driver/libvirt/libvirt_xml_builder.py b/devops/driver/libvirt/libvirt_xml_builder.py index 16ded26d..9bb81fca 100644 --- a/devops/driver/libvirt/libvirt_xml_builder.py +++ b/devops/driver/libvirt/libvirt_xml_builder.py @@ -240,8 +240,8 @@ class LibvirtXMLBuilder(object): def build_node_xml(cls, name, hypervisor, use_host_cpu, vcpu, memory, use_hugepages, hpet, os_type, architecture, boot, reboot_timeout, bootmenu_timeout, emulator, - has_vnc, vnc_password, local_disk_devices, interfaces, - acpi, numa): + has_vnc, has_videocard, vnc_password, + local_disk_devices, interfaces, acpi, numa): """Generate node XML :rtype : String @@ -323,8 +323,9 @@ class LibvirtXMLBuilder(object): cls._build_disk_device(node_xml, **disk_device) for interface in interfaces: cls._build_interface_device(node_xml, **interface) - with node_xml.video: - node_xml.model(type='vga', vram='9216', heads='1') + if has_videocard: + with node_xml.video: + node_xml.model(type='vga', vram='9216', heads='1') with node_xml.serial(type='pty'): node_xml.target(port='0') with node_xml.console(type='pty'): diff --git a/devops/tests/driver/libvirt/test_xml_builder.py b/devops/tests/driver/libvirt/test_xml_builder.py index e1c7e798..62fb08b7 100644 --- a/devops/tests/driver/libvirt/test_xml_builder.py +++ b/devops/tests/driver/libvirt/test_xml_builder.py @@ -378,6 +378,7 @@ class TestNodeXml(BaseTestXMLBuilder): bootmenu_timeout=0, emulator='/usr/lib64/xen/bin/qemu-dm', has_vnc=True, + has_videocard=True, vnc_password='123456', local_disk_devices=[], interfaces=[], @@ -442,6 +443,7 @@ class TestNodeXml(BaseTestXMLBuilder): bootmenu_timeout=3000, emulator='/usr/lib64/xen/bin/qemu-dm', has_vnc=True, + has_videocard=False, vnc_password=None, local_disk_devices=self.disk_devices, interfaces=self.interfaces, @@ -508,9 +510,6 @@ class TestNodeXml(BaseTestXMLBuilder): - @@ -537,6 +536,7 @@ class TestNodeXml(BaseTestXMLBuilder): bootmenu_timeout=3000, emulator='/usr/lib64/xen/bin/qemu-dm', has_vnc=True, + has_videocard=True, vnc_password=None, local_disk_devices=[], interfaces=[],