Ejemplo n.º 1
0
        public PowerOffResponse PowerOff(PowerOffRequest request)
        {
            log.InfoFormat("PowerOff:\n  VM: {0}", request.Vm);

            string output;
            int    exitCode = ExecuteVBoxCommand("VBoxManage.exe",
                                                 string.Format("controlvm \"{0}\" poweroff", request.Vm),
                                                 TimeSpan.FromSeconds(30),
                                                 out output);

            if (exitCode != 0)
            {
                throw OperationFailed(
                          "Failed to power off the virtual machine.",
                          ErrorDetails(exitCode, output));
            }

            // Wait a bit after powering off the VM to ensure that it has been completely
            // shut down.  If we try to manipulate the VM again too promptly then we get
            // Progress state: E_ACCESSDENIED
            // Restoring snapshot 94c516b5-ae92-4c82-9a37-b0c0a79eddd0
            // VBoxManage.exe: error: Snapshot operation failed. Error message: Assertion failed: [SUCCEEDED(rc)] at 'D:\tinderbox\win-4.1\src\VBox\Main\src-server\MachineImpl.cpp' (9143) in Machine::saveStorageControllers.
            // VBoxManage.exe: error: COM RC = E_ACCESSDENIED (0x80070005).
            // VBoxManage.exe: error: Please contact the product vendor!
            Thread.Sleep(10000);

            return(new PowerOffResponse());
        }
Ejemplo n.º 2
0
 public IResponse HandleRequest(PowerOffRequest request)
 {
     IsOn            = false;
     TargetGrillTemp = 0;
     TargetProbeTemp = 0;
     InterpolateTemperatures();
     return(new MessageResponse("OK"));
 }
Ejemplo n.º 3
0
        public void PowerOff()
        {
            CheckProfileHasMaster();
            CheckProfileHasVM();

            Log(string.Format("Powering off VM '{0}'.", profile.VM));
            PowerOffRequest request = new PowerOffRequest()
            {
                Vm = profile.VM
            };

            GetMasterClient().PowerOff(request);
        }
Ejemplo n.º 4
0
        public PowerOffResponse PowerOff(PowerOffRequest request)
        {
            log.InfoFormat("PowerOff:\n  VM: {0}", request.Vm);

            string output;
            int exitCode = ExecuteVBoxCommand("VBoxManage.exe",
                string.Format("controlvm \"{0}\" poweroff", request.Vm),
                TimeSpan.FromSeconds(30),
                out output);

            if (exitCode != 0)
            {
                throw OperationFailed(
                    "Failed to power off the virtual machine.", 
                    ErrorDetails(exitCode, output));
            }

            // Wait a bit after powering off the VM to ensure that it has been completely
            // shut down.  If we try to manipulate the VM again too promptly then we get
            // Progress state: E_ACCESSDENIED
            // Restoring snapshot 94c516b5-ae92-4c82-9a37-b0c0a79eddd0
            // VBoxManage.exe: error: Snapshot operation failed. Error message: Assertion failed: [SUCCEEDED(rc)] at 'D:\tinderbox\win-4.1\src\VBox\Main\src-server\MachineImpl.cpp' (9143) in Machine::saveStorageControllers.
            // VBoxManage.exe: error: COM RC = E_ACCESSDENIED (0x80070005).
            // VBoxManage.exe: error: Please contact the product vendor!
            Thread.Sleep(10000);

            return new PowerOffResponse();
        }
Ejemplo n.º 5
0
        public void PowerOff()
        {
            CheckProfileHasMaster();
            CheckProfileHasVM();

            Log(string.Format("Powering off VM '{0}'.", profile.VM));
            PowerOffRequest request = new PowerOffRequest() { Vm = profile.VM };
            GetMasterClient().PowerOff(request);
        }
Ejemplo n.º 6
0
 public IResponse HandleRequest(PowerOffRequest request)
 {
     IsOn = false;
     return(new MessageResponse("OK"));
 }