]> xenbits.xensource.com Git - libvirt.git/commitdiff
graphics: generate fake ports also for tests
authorPavel Hrdina <phrdina@redhat.com>
Mon, 9 May 2016 12:30:27 +0000 (14:30 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Tue, 10 May 2016 08:44:45 +0000 (10:44 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_driver.c
src/qemu/qemu_process.c
src/qemu/qemu_process.h
tests/qemuxml2argvdata/qemuxml2argv-controller-order.args
tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args
tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args

index b0cfb10db44adbc17a9d1eba05cf0eafe9649f45..c4c496819af0d95aef35822335d9e7f11d40b260 100644 (file)
@@ -7060,18 +7060,6 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
         net->mac = mac;
     }
 
-    /* do fake auto-alloc of graphics ports, if such config is used */
-    for (i = 0; i < vm->def->ngraphics; ++i) {
-        virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
-        if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC) {
-            if (qemuProcessVNCAllocatePorts(driver, graphics, false) < 0)
-                goto cleanup;
-        } else if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
-            if (qemuProcessSPICEAllocatePorts(driver, cfg, graphics, false) < 0)
-                goto cleanup;
-        }
-    }
-
     if (!(cmd = qemuProcessCreatePretendCmd(conn, driver, vm, NULL,
                                             qemuCheckFips(), true,
                                             VIR_QEMU_PROCESS_START_COLD)))
index f110a66ad3753222e4253f550637775b0395102b..3d466951401eadb7f5141d19d0fb14d017ed8893 100644 (file)
@@ -3856,7 +3856,7 @@ qemuProcessReconnectAll(virConnectPtr conn, virQEMUDriverPtr driver)
     virDomainObjListForEach(driver->domains, qemuProcessReconnectHelper, &data);
 }
 
-int
+static int
 qemuProcessVNCAllocatePorts(virQEMUDriverPtr driver,
                             virDomainGraphicsDefPtr graphics,
                             bool allocate)
@@ -3888,7 +3888,7 @@ qemuProcessVNCAllocatePorts(virQEMUDriverPtr driver,
     return 0;
 }
 
-int
+static int
 qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver,
                               virQEMUDriverConfigPtr cfg,
                               virDomainGraphicsDefPtr graphics,
@@ -4389,13 +4389,15 @@ qemuProcessGraphicsReservePorts(virQEMUDriverPtr driver,
 
 static int
 qemuProcessSetupGraphics(virQEMUDriverPtr driver,
-                         virDomainObjPtr vm)
+                         virDomainObjPtr vm,
+                         unsigned int flags)
 {
     virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
+    bool allocate = !(flags & VIR_QEMU_PROCESS_START_PRETEND);
     size_t i;
     int ret = -1;
 
-    if (qemuProcessGraphicsReservePorts(driver, vm) < 0)
+    if (allocate && qemuProcessGraphicsReservePorts(driver, vm) < 0)
         goto cleanup;
 
     for (i = 0; i < vm->def->ngraphics; ++i) {
@@ -4403,12 +4405,12 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
 
         switch (graphics->type) {
         case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
-            if (qemuProcessVNCAllocatePorts(driver, graphics, true) < 0)
+            if (qemuProcessVNCAllocatePorts(driver, graphics, allocate) < 0)
                 goto cleanup;
             break;
 
         case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
-            if (qemuProcessSPICEAllocatePorts(driver, cfg, graphics, true) < 0)
+            if (qemuProcessSPICEAllocatePorts(driver, cfg, graphics, allocate) < 0)
                 goto cleanup;
             break;
 
@@ -5175,6 +5177,10 @@ qemuProcessPrepareDomain(virConnectPtr conn,
     if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0)
         goto cleanup;
 
+    VIR_DEBUG("Setting up ports for graphics");
+    if (qemuProcessSetupGraphics(driver, vm, flags) < 0)
+        goto cleanup;
+
     /* Fill in run-time values for graphics devices. */
     for (i = 0; i < vm->def->ngraphics; i++) {
         virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
@@ -5313,10 +5319,6 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver,
     VIR_DEBUG("Ensuring no historical cgroup is lying around");
     qemuRemoveCgroup(vm);
 
-    VIR_DEBUG("Setting up ports for graphics");
-    if (qemuProcessSetupGraphics(driver, vm) < 0)
-        goto cleanup;
-
     if (virFileMakePath(cfg->logDir) < 0) {
         virReportSystemError(errno,
                              _("cannot create log directory %s"),
index 9e2e036ad328178099824ece9a5d21aad693be2a..623e1e765203694d5abfbb3ecfaa35534dc42d72 100644 (file)
@@ -175,14 +175,6 @@ bool qemuProcessAutoDestroyActive(virQEMUDriverPtr driver,
 int qemuProcessSetSchedParams(int id, pid_t pid, size_t nsp,
                               virDomainThreadSchedParamPtr sp);
 
-int qemuProcessVNCAllocatePorts(virQEMUDriverPtr driver,
-                                virDomainGraphicsDefPtr graphics,
-                                bool allocate);
-int qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver,
-                                  virQEMUDriverConfigPtr cfg,
-                                  virDomainGraphicsDefPtr graphics,
-                                  bool allocate);
-
 virDomainDiskDefPtr qemuProcessFindDomainDiskByAlias(virDomainObjPtr vm,
                                                      const char *alias);
 
index b47193a7cef7f5e93ee6490f664790640e336670..b46685f143a7d0c3ec7d45bf4f10e91e75ea9fb1 100644 (file)
@@ -37,7 +37,7 @@ media=cdrom,id=drive-ide0-1-0 \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
 id=channel0,name=com.redhat.spice.0 \
 -device usb-tablet,id=input0 \
--spice port=0 \
+-spice port=5901,tls-port=5902,addr=0.0.0.0,x509-dir=/etc/pki/libvirt-spice \
 -vga cirrus \
 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 \
 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \
index 56956a30f198288ccff1f2fe14b049cecf2dea5b..ae8ef71fb5fbe9a14162f5c4bf355837b2e3049f 100644 (file)
@@ -47,7 +47,7 @@ id=channel0,name=org.qemu.guest_agent.0 \
 -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,\
 id=channel1,name=com.redhat.spice.0 \
 -device usb-tablet,id=input0 \
--spice port=0 \
+-spice port=5901,tls-port=5902,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice \
 -vga qxl \
 -global qxl-vga.ram_size=67108864 \
 -global qxl-vga.vram_size=67108864 \
index c85c550129ec5579204ada6430074dbaa266f744..40937b8cbd86cfd496027e0a9e4a7901d450f2b5 100644 (file)
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
 -drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
 id=drive-ide0-0-0,cache=none \
 -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--vnc 127.0.0.1:-5900 \
+-vnc 127.0.0.1:0 \
 -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,\
 addr=0x3 \
 -device qxl,id=video1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x4 \