public ActionResult _Partial_Migrate(string host, string domain) { var vm = new Models.Domain_Migrate_Down(); vm.Domain_Migrate = new Models.Domain_Migrate_VM { Host = host, Parent = domain, Persist_On_Dst = true }; vm.Hosts = Libvirt_WebManager.Service.VM_Manager.Instance.Hosts.Where(a => a.ToLower() != host.ToLower()).Select(b => new SelectListItem { Text = b, Value = b }).ToList(); return PartialView(vm); }
public ActionResult _Partial_Migrate(Models.Domain_Migrate_VM Domain_Migrate) { if (ModelState.IsValid) { using (var d = GetHost(Domain_Migrate.Host).virDomainLookupByName(Domain_Migrate.Parent)) { var options = Libvirt.virDomainMigrateFlags.VIR_MIGRATE_NON_SHARED_DISK | Libvirt.virDomainMigrateFlags.VIR_MIGRATE_TUNNELLED | Libvirt.virDomainMigrateFlags.VIR_MIGRATE_PEER2PEER; Libvirt.virDomainState state; int reason = 0; d.virDomainGetState(out state, out reason); if (state == Libvirt.virDomainState.VIR_DOMAIN_RUNNING) options |= Libvirt.virDomainMigrateFlags.VIR_MIGRATE_LIVE; else options |= Libvirt.virDomainMigrateFlags.VIR_MIGRATE_OFFLINE; if (Domain_Migrate.Persist_On_Dst) options |= Libvirt.virDomainMigrateFlags.VIR_MIGRATE_PERSIST_DEST; if (Domain_Migrate.Delete_On_Src) options |= Libvirt.virDomainMigrateFlags.VIR_MIGRATE_UNDEFINE_SOURCE; var success = d.virDomainMigrateToURI(GenerateURIFromHostname(Domain_Migrate.Dst_Domain), options); Debug.WriteLine("got here"); } } var vm = new Models.Domain_Migrate_Down(); vm.Domain_Migrate = Domain_Migrate; vm.Hosts = Libvirt_WebManager.Service.VM_Manager.Instance.Hosts.Where(a => a.ToLower() != Domain_Migrate.Host.ToLower()).Select(b => new SelectListItem { Text = b, Value = b }).ToList(); return PartialView(vm); }