private bool Initialize(string snapshot) { bool result = true; if (mTesting == false) { mBusy = true; // Refresh data in case the VM name has changed..... mData = VMInstanceData.SelectByIP(mData.IPAddress); // Stop the heartbeat timer because rolling it back might cause it to actually miss a heartbeat. StopHeartbeatTimer(); PowerCLI powerCLI = PowerCLI.Instance(mNetworkCredentials); result = powerCLI.RollbackVM(mData.VMName, snapshot, mLogFile); if (result == false) { DatabaseLog.Insert("Rollback failed on VM " + mData.VMName, "There might be an issue with PowerCLI. Please check the logs.", 1); } StartHeartbeatTimer(); mBusy = false; } return(result); }
private bool CreateSnapshot(string snapshot) { if (snapshot.ToLower() == "service") { Log("Not allowed to create Service snapshot.", true); return(false); } bool result = true; if (mTesting == false) { Log("Creating snapshot " + snapshot, true); StopHeartbeatTimer(); PowerCLI powerCLI = PowerCLI.Instance(mNetworkCredentials); result = powerCLI.CreateSnapshot(mData.VMName, snapshot, mLogFile); if (result == false) { DatabaseLog.Insert("CreateSnapshot failed on VM " + mData.VMName, "There might be an issue with PowerCLI. Please check the logs.", 1); } StartHeartbeatTimer(); } return(result); }
private void Print(string message, Level level) { // formating teks var dtnow = DateTime.Now; var text = $"{dtnow.ToLongTimeString()} » {level} » {_header} » {message}"; // ganti warna teks switch (level) { case Level.Info: Console.ForegroundColor = ConsoleColor.Cyan; break; case Level.Ignore: Console.ForegroundColor = ConsoleColor.Green; if (!ShowDebug) { return; } break; case Level.Warning: Console.ForegroundColor = ConsoleColor.Yellow; break; case Level.Error: Console.ForegroundColor = ConsoleColor.Red; break; default: Console.ResetColor(); if (!ShowDebug) { return; } break; } // tampilkan log ke console Console.WriteLine(text.ToSingleLine()); Console.ResetColor(); // masukkan ke database var data = new LogData { DateTime = $"{dtnow.ToShortDateString()} {dtnow.ToLongTimeString()}", Level = level.ToString(), Header = _header, Message = message }; _db.Insert(data); }
private bool RebootVM() { bool result = true; if (mTesting == false) { // Refresh data in case the VM name has changed..... mData = VMInstanceData.SelectByIP(mData.IPAddress); Log("Rebooting VM " + mData.VMName); StopHeartbeatTimer(); PowerCLI powerCLI = PowerCLI.Instance(mNetworkCredentials); result = powerCLI.Reboot(mData.VMName, mLogFile); if (result == false) { DatabaseLog.Insert("Rebooting failed for VM " + mData.VMName, "There might be an issue with PowerCLI. Please check the logs.", 1); } StartHeartbeatTimer(); } return(result); }