private static void CheckAndPlugPBDs(IList <PBD> pbds, PlugMode plugMode) { foreach (PBD pbd in pbds) { Session session = pbd.Connection.DuplicateSession(); log.DebugFormat("Waiting for PBDs {0} to become plugged", pbd.Name); // Wait 2 min for PBD to become plugged if (WaitForPlug(session, pbd.opaque_ref)) { continue; } // If we still havent plugged, then try and plug it - this will probably // fail, but at least we'll get a better error message. try { log.DebugFormat("Plugging PBD {0}", pbd.Name); plug(session, pbd.opaque_ref); } catch (Exception e) { log.Debug(string.Format("Error plugging PBD {0}", pbd.Name), e); if (plugMode != PlugMode.NONCHALANT) { throw; } } } }
private static void CheckAndPlugPBDsFor(List <VM> vms, PlugMode plugMode) { List <PBD> pbds = PBD.GetPBDsFor(vms); // Now lets see if they're all plugged CheckAndPlugPBDs(pbds, plugMode); }
private static void CheckAndPlugPBDsFor(List <VM> vms, PlugMode plugMode) { //Program.AssertOffEventThread(); List <PBD> pbds = PBD.GetPBDsFor(vms); // Now lets see if they're all plugged CheckAndPlugPBDs(pbds, plugMode); }
private static void CheckAndPlugPBDs(IList <PBD> pbds, PlugMode plugMode) { foreach (PBD pbd in pbds) { Session session = pbd.Connection.DuplicateSession(); // Wait 2 min for PBD to become plugged if (WaitForPlug(session, pbd.opaque_ref)) { continue; } // If we still havent plugged, then try and plug it - this will probably // fail, but at least we'll get a better error message. if (plugMode == PlugMode.NONCHALANT) { NonchalantPlug(session, pbd.opaque_ref); } else { plug(session, pbd.opaque_ref); } } }
private static void CheckAndPlugPBDsFor(IXenConnection connection, List <XenRef <VM> > vmRefs, PlugMode plugMode) { //Program.AssertOffEventThread(); List <VM> vms = new List <VM>(); foreach (XenRef <VM> vmRef in vmRefs) { VM vm = null; while ((vm = connection.Resolve <VM>(vmRef)) == null) { Thread.Sleep(100); } vms.Add(vm); } CheckAndPlugPBDsFor(vms, plugMode); }
private static void CheckAndPlugPBDsFor(List<VM> vms, PlugMode plugMode) { //Program.AssertOffEventThread(); List<PBD> pbds = PBD.GetPBDsFor(vms); // Now lets see if they're all plugged CheckAndPlugPBDs(pbds, plugMode); }
private static void CheckAndPlugPBDsFor(IXenConnection connection, List<XenRef<VM>> vmRefs, PlugMode plugMode) { //Program.AssertOffEventThread(); List<VM> vms = new List<VM>(); foreach (XenRef<VM> vmRef in vmRefs) { VM vm = null; while ((vm = connection.Resolve<VM>(vmRef)) == null) Thread.Sleep(100); vms.Add(vm); } CheckAndPlugPBDsFor(vms, plugMode); }
private static void CheckAndPlugPBDs(IList<PBD> pbds, PlugMode plugMode) { foreach (PBD pbd in pbds) { Session session = pbd.Connection.DuplicateSession(); // Wait 2 min for PBD to become plugged if (WaitForPlug(session, pbd.opaque_ref)) continue; // If we still havent plugged, then try and plug it - this will probably // fail, but at least we'll get a better error message. if( plugMode == PlugMode.NONCHALANT ) NonchalantPlug(session, pbd.opaque_ref); else plug(session, pbd.opaque_ref); } }
private static void CheckAndPlugPBDsFor(List<VM> vms, PlugMode plugMode) { List<PBD> pbds = PBD.GetPBDsFor(vms); // Now lets see if they're all plugged CheckAndPlugPBDs(pbds, plugMode); }
private static void CheckAndPlugPBDs(IList<PBD> pbds, PlugMode plugMode) { foreach (PBD pbd in pbds) { Session session = pbd.Connection.DuplicateSession(); log.DebugFormat("Waiting for PBDs {0} to become plugged", pbd.Name); // Wait 2 min for PBD to become plugged if (WaitForPlug(session, pbd.opaque_ref)) continue; // If we still havent plugged, then try and plug it - this will probably // fail, but at least we'll get a better error message. try { log.DebugFormat("Plugging PBD {0}", pbd.Name); plug(session, pbd.opaque_ref); } catch (Exception e) { log.Debug(string.Format("Error plugging PBD {0}", pbd.Name), e); if (plugMode != PlugMode.NONCHALANT) throw; } } }