public ActionResult UninstallDaemon(int id) { DaemonsManagement daemonManagement = new DaemonsManagement(); UpdateInProgressMessage(id, "Uninstalling Daemon"); AsynchronousCallback DaemonThread = new AsynchronousCallback(daemonManagement.UninstallDaemon); DaemonThread.BeginInvoke(id, System.Web.HttpContext.Current.Server.MapPath("~/"), null, null); return RedirectToAction("ManageMachinesandResourcePools", "Infrastructure"); }
public ActionResult CreatePost(CloudWebPortal.Areas.Aneka.Models.Machine machine, Daemon daemon, bool InstallDaemon, int? ResourcePool, int? LoginCredential, int? PlatformID, int? TypeID, int?[] SoftwareAppliancesList) { MachinesManagement machineManagment = new MachinesManagement(); DaemonsManagement daemonManagement = new DaemonsManagement(); if (!ResourcePool.HasValue) ModelState.AddModelError(String.Empty, "Please Select A Resource Pool"); if (!PlatformID.HasValue) ModelState.AddModelError(String.Empty, "Machine Platform Is Requared"); else machine.Platform = db.MachinePlatforms.Find(PlatformID); if (!TypeID.HasValue) ModelState.AddModelError(String.Empty, "Machine Type Is Requared"); else machine.Type = db.MachineTypes.Find(TypeID); if (ModelState.IsValid) { machine.StatusEnum = DaemonProbeStatus.Unknown; //Create Machine and Daemon machine.Daemon = daemon; db.Machines.Add(machine); db.SaveChanges(); //Add To A Resource Pool if (ResourcePool.HasValue) { db.ResourcePools.Find(ResourcePool).Machines.Add(machine); db.SaveChanges(); } //Link Login Credential MachineLoginCredential login = null; if (LoginCredential.HasValue) { login = db.MachineLoginCredentials.Find(LoginCredential); login.Machines.Add(machine); db.SaveChanges(); } //Add Software Appliances if (SoftwareAppliancesList != null) { machine.SoftwareAppliances = new List<SoftwareAppliance>(); foreach (int appID in SoftwareAppliancesList) { var app = db.SoftwareAppliances.Find(appID); machine.SoftwareAppliances.Add(app); } db.SaveChanges(); } machine.StatusEnum = machineManagment.UpdateMachineStatus(machine.MachineId, login).Status; if (InstallDaemon && machine.StatusEnum == DaemonProbeStatus.ServiceNotInstalled && login != null) { UpdateInProgressMessage(machine.MachineId, "Installing Daemon"); AsynchronousCallback installingDaemonThread = new AsynchronousCallback(daemonManagement.InstallDaemon); installingDaemonThread.BeginInvoke(machine.MachineId, System.Web.HttpContext.Current.Server.MapPath("~/"), null, null); } else { if (machine.StatusEnum == DaemonProbeStatus.ServiceStarted && login != null) { FetchExistCloud(machine.MachineId); } } return RedirectToAction("ManageMachinesandResourcePools", "Infrastructure"); } return View("~/Views/Infrastructure/ManageMachinesandResourcePools.cshtml", machine); }
public ActionResult FetchExistCloud(int id) { DaemonsManagement daemonManagement = new DaemonsManagement(); UpdateInProgressMessage(id, "Fetching Exist Cloud"); AsynchronousUpdateContainersCallback installingDaemonThread = new AsynchronousUpdateContainersCallback(daemonManagement.UpdateContainers); installingDaemonThread.BeginInvoke(id, null, null); return RedirectToAction("ManageMachinesandResourcePools", "Infrastructure"); }