void ExecuteShellOnNodes() { OpResult = string.Empty; CanExec = false; var tasks = new List <Task <string> >(); var tx_mgr = GammaClientTXManagerFactory.GetGammaClientTXManager(); var node_mgr = NodeNetManagerFactory.GetSimpleNetworkManager(); string[] cmds = inputcmd.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); if (isSeqMode) { foreach (var machine in from m in node_mgr.Machines where m.IsSelected && m.Alive == NodeState.Online select m) { tasks.Add(tx_mgr.StartCmdInSeqTransaction(machine, cmds)); } } else { foreach (var machine in from m in node_mgr.Machines where m.IsSelected && m.Alive == NodeState.Online select m) { tasks.AddRange(tx_mgr.StartCmdInParallelTransaction(machine, cmds)); } } var all_job = Task.WhenAll(tasks); all_job.GetAwaiter().OnCompleted(() => { CanExec = true; }); }
private ObservableCollection <Cluster> GetClusterInfo() { ObservableCollection <Cluster> clusters = new ObservableCollection <Cluster>(); var net_mgr = NodeNetManagerFactory.GetSimpleNetworkManager(); var tasks = new List <Task>(); var results = new List <string>(); foreach (var machine in from m in net_mgr.Machines where m.Alive == NodeState.Online && m.IsSelected select m) { var proxy = GammaProxyFactory.GetCrsEnvProxy(machine); var rs = proxy.GetClusterNamesAsync(); tasks.Add(rs.ContinueWith((t) => { machine.ClusterName = t.Result; results.Add(t.Result); })); } Task.WhenAll(tasks).GetAwaiter().GetResult(); int counter = 0; foreach (var rs in results.Distinct()) { clusters.Add(new Cluster(counter) { ClusterName = rs.Trim() }); counter += 1; } return(clusters); }
public static void RmLog() { var tx_mgr = GammaClientTXManagerFactory.GetGammaClientTXManager(); foreach (var m in from machine in NodeNetManagerFactory.GetSimpleNetworkManager().Machines where machine.Alive == NodeState.Online && machine.IsSelected select machine) { tx_mgr.StartQAToolsTransaction(m, GammaTXQATools.CLEARLOG); } }
private IGammaMachineInfo SelectOneNodeFromCluster(string clustername) { var net_mgr = NodeNetManagerFactory.GetSimpleNetworkManager(); var machines = net_mgr.Machines; var igroup = from m in machines group m by m.ClusterName into gp select gp; var cluster_nodes = from nodes in igroup where nodes.Key == clustername select nodes; return(cluster_nodes.First().First()); }
public static void UploadLogToSftp(string usr, string pwd, string bugnum, string location) { IUploadRecord upload_rec = new GammaServiceLib.UploadRecord() { Usr = usr, Passwd = pwd, Target = bugnum, Source = location }; var tx_mgr = GammaClientTXManagerFactory.GetGammaClientTXManager(); foreach (var m in from machine in NodeNetManagerFactory.GetSimpleNetworkManager().Machines where machine.Alive == NodeState.Online && machine.IsSelected select machine) { tx_mgr.StartQAToolsTransaction(m, GammaTXQATools.UPLOAD, upload_rec); } }
public MainWindowViewModel() { _nodeNetManager = NodeNetManagerFactory.GetSimpleNetworkManager(); _nodeNetManager.StartNodeCheck(); }