On Sep 19, 2010, at 3:18 AM, Joseph Smith wrote:

> Hi All,
> 
> I had the chance to follow-up and do some very extensive testing and with 
> Klaus's insight via our discussion on IRC, have found the error of my ways 
> ... Thanks Klaus.  Your feedback was instrumental in helping me find the 
> problem!!!
> 
> For anyone else that might be interested, I'll describe the mistake I made 
> and outline the steps that through testing I have confirmed works every time.
> 
> First:  What am I trying to do and why:
> On occasion, though not often, I need to take a live host off-line (to 
> upgrade memory, replace/change internal hardware, etc).  These live hosts can 
> have anywhere from 9 - 15 VMs running at a time.  To take this host offline 
> without powering-down the VMs, the VirtualBox teleport feature is ideal.  My 
> goal then was to teleport each of the VMs from the existing host to another 
> host (must be on the same network and have access to the same networked 
> storage subsystem where the virtual drives are).  VBoxManage does provide a 
> command line option to initiate the teleport request but does require 
> coordinating the execution on both the source and target hosts.  As I have 
> control of all the VirtualBox hosts via the SOAP Webservice APIs, I decided 
> to automate the entire process.
> 
> What I was doing wrong:
> The steps I outline in the original message (see below) are actually correct 
> except for Step #7.  The call to power-up the VM with a new Session via the 
> IConsole object returnes a progressRef object and I assumed it was necessary 
> to wait for completion before moving forward.  THIS IS WRONG!  In reality, 
> the correct way to determine the VM is ready for the teleport-in step is to 
> watch the state of the target VM and wait for the state to change to 
> 'TELEPORTINGIN'.  Once in this state, the teleport step on the source VM can 
> be done.

If you are using IVirtualBox::openRemoteSession (renamed on trunk) it's NOT the 
right way either. Take a look at what 
http://www.virtualbox.org/sdkref/interface_i_virtual_box.html#915f7609a00e888a15cbf74aef743bcc
  and 
http://www.virtualbox.org/sdkref/interface_i_console.html#0191f0ffb739504065c05f6e33a65a7c
 says about teleportation. Before attempting call IConsole::teleport() you 
should wait for the progress object to reach the penultimate operation 
(IProgress::OperationCount - 2).

-- 

Kind regards / Mit freundlichen Gruessen / Vennlig hilsen,
 bird

--

ORACLE Deutschland B.V. & Co. KG  Knut St. Osmundsen
Werkstrasse 24                    Senior Staff Engineer, VirtualBox
71384 Weinstadt, Germany          mailto:[email protected]

Hauptverwaltung: Riesstr. 25, D-80992 Muenchen
Registergericht: Amtsgericht Muenchen, HRA 95603

Komplementaerin: ORACLE Deutschland Verwaltung B.V.
Rijnzathe 6, 3454PV De Meern, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschaeftsfuehrer: J. Kunz, M. van de Molen, A. van der Ven

_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to