[vbox-dev] VirtualBox Teleporting and SOAP API "waitForCompletion"
Joseph Smith
joseph1962smith at yahoo.com
Mon Sep 6 13:24:25 GMT 2010
Hi,
I searched bugtracker and did not see this reported .. so I believe this may be
a new problem.
Version: 3.2.8 PUEL
Host-1: openSuSE 11.1
Host-2: openSuSE 11.2
Host-3: Windows XP
Host-4: Mac OSX 10.6.4
VMs: WinXP, openSuSE, RedHat, FreeBSD, Vista, OpenSolaris, etc
I have not had to teleport any VM's for a while until just recently and have
encountered a problem that I do not recall happening before. It seems calling
progressRef::waitForCompletion with a -1 (means wait forever) during a power-up
for a teleport operation never returns. This is using the PHP Wrappers and my
".ini" settings for my script are set to never time-out.
The steps I follow are:
Target Host:
----------------
1) Get a new ISession for the machine to be teleported
2) Get the refID for the machine from the ISession object
3) set-up for teleport (set teleporterEnabled, teleporterAddress,
teleporterPort, teleporterPassword values)
4) Save the machine settings
5) Close the ISession
6) Power-Up the VM (get new ISession, etc) (progressRef is returned)
7) Call progressRef::waitForCompletion (-1)
Source Host:
----------------
8) Get Console for source VM
9) Call Console::teleport
Step #7 will wait forever (ok .. so I only waited for up-to 10 minutes) and it
does not come back. This problem happens regardless of the OS running in the
guest that is being teleported and regardless of the host on which I originate
the request.
At the same time, on the target host, the console shows "Waiting for incoming VM
… (2/3)" in a modal dialog .. and then eventually aborts from a timeout.
I do not recall this happening in v3.1.8 (might be wrong here) and am not really
in a position to downgrade to confirm.
In playing around, I have found that by setting my timeout long enough (I'm
using 10,000ms now), though progressWait returns after the timeout (not because
of completion but because of reaching the end of the timeout), the VM teleport
is actually ready to continue and I can go ahead and complete the teleport
process by calling Console::teleport on the source. The teleport will then
complete successfully. If I set my timeout much less than 10sec (say 3sec -
5sec) .. attempting to continue will result in an exception and the teleport
will fail. Depending on what's happening on the target host, the time the
target VM can be ready to teleport that I have observed can vary from 3sec to as
much as 8sec.
Though setting the timeout long-enough works .. depending on the speed of the
target system, the time to prep for the teleportation does vary.
Has anyone seen this problem? Is there something else I need to be checking for
or doing? I'll wait to see what responses I get to determine if this should be
opened in bugtracker.
Thanks,
Joe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20100906/898b0c37/attachment.html>
More information about the vbox-dev
mailing list