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); }
private ObservableCollection <OraDB> GetDbsBySelectedCluster() { var updated_items = WorkloadSetupInfo.GetValue <ObservableCollection <Cluster> >(WorkloadSetupKeys.CLUSTERS); var selected = from m in updated_items where m.IsSelected == true select m; var rs_list = new ObservableCollection <OraDB>(); if (selected.Count() == 1) { var cluster = selected.First <Cluster>(); var candiate_node = SelectOneNodeFromCluster(cluster.ClusterName); var proxy = GammaProxyFactory.GetCrsEnvProxy(candiate_node); var rs = proxy.GetDBNames(); var dbnames = rs.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList(); int count = 0; foreach (var db in dbnames) { var dbhome = proxy.GetDBHOMEByName(db); rs_list.Add(new OraDB(count) { DBHome = dbhome, DBName = db }); count++; } return(rs_list); } else { return(null); } }
public static Task <string> ExecuteCmdAsync(IGammaMachineInfo machine, string single_command) { string filename = GetFileNameFromCmd(single_command); string args = GetArgsFromCmd(single_command); CmdExecutorProxy client = GammaProxyFactory.GetCmdExecutorProxy(machine); return(client.ShellExecutorAsync(filename, args)); }
private Task <string> GenerateSwingbench(IOraDB db) { var db_cluster = GetSelectedCluster(WorkloadSetupInfo.GetValue <ObservableCollection <ICluster> >(WorkloadSetupKeys.CLUSTERS)); var machine = CollectOneNodeFromCluster(db_cluster); var proxy = GammaProxyFactory.GetDBWorkloadProxy(machine); var task = proxy.InstallSwingBenchAsync(machine.MachineName, db.DBHome, db.DBName, SYSTEMPWD, SYSPWD, WorkloadDmpLoc, WorkloadDmpFilename); return(task); }
private Task <string> StartTransactions(IGammaClientTransaction trx, IMachineInfo machine, GammaTXClearEnv clear_step) { trx.TransactionStarted(); Task <string> task; if (clear_step != GammaTXClearEnv.REBOOT) { switch (clear_step) { case GammaTXClearEnv.REG: task = GammaProxyFactory.GetCrsCleanerProxy(machine).RemoveOraKeysAsync(); break; case GammaTXClearEnv.GROUP: task = GammaProxyFactory.GetCrsCleanerProxy(machine).RmOraGroupAsync(); break; case GammaTXClearEnv.FILE: task = GammaProxyFactory.GetCrsCleanerProxy(machine).RemoveOraFilesAsync(); break; case GammaTXClearEnv.DISK: task = GammaProxyFactory.GetCrsCleanerProxy(machine).CleanDiskAsync(); break; case GammaTXClearEnv.DRIVER: task = GammaProxyFactory.GetCrsCleanerProxy(machine).RemoveDrvLtrAsync(); break; default: task = GenerateCompletedTask(TX_RESULT_SUC); break; } BindCmdTaskWithTranscation(task, trx); } else { /* * reboot node transaction no need to Bind, as it will always fails by its mean. */ var tmp = GammaProxyFactory.GetCrsCleanerProxy(machine).RestartComputerAsync(); task = tmp.ContinueWith <string>((t) => { trx.TransactionCompleted(); return(TX_RESULT_SUC); }); } return(task); }
private ObservableCollection <IOraDB> GetDBnames(IMachineInfo machine) { var proxy = GammaProxyFactory.GetCrsEnvProxy(machine); var rs = proxy.GetDBNames(); var dbnames = rs.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList(); int count = 0; var rs_list = new ObservableCollection <IOraDB>(); foreach (var db in dbnames) { var dbhome = proxy.GetDBHOMEByName(db); rs_list.Add(OraDBFactory.GetOraDB(count, db, dbhome)); count++; } return(rs_list); }
private Task <string> StartTransactions(IGammaClientTransaction trx, IMachineInfo machine, GammaTXQATools tool, object qatoolArgs = null) { trx.TransactionStarted(); Task <string> task; switch (tool) { case GammaTXQATools.GETLOG: if (qatoolArgs != null) { bool tmp = (bool)qatoolArgs; task = GammaProxyFactory.GetQAToolsProxy(machine).GetLogAsync(tmp); } else { throw new Exception("Unexpected error when try to get operation option."); } break; case GammaTXQATools.CLEARLOG: task = GammaProxyFactory.GetQAToolsProxy(machine).ClearLogAsync(); break; case GammaTXQATools.UPLOAD: if (qatoolArgs != null) { GammaServiceLib.UploadRecord tmp = qatoolArgs as GammaServiceLib.UploadRecord; task = GammaProxyFactory.GetQAToolsProxy(machine).UploadLogAsync(tmp); } else { throw new Exception("Unexpected error when try to get upload information."); } break; default: task = GenerateCompletedTask(TX_RESULT_SUC); break; } BindCmdTaskWithTranscation(task, trx); return(task); }
private async Task <ObservableCollection <ICluster> > GetClusterInfo() { ObservableCollection <ICluster> clusters = new ObservableCollection <ICluster>(); var tasks = new List <Task>(); var results = new List <string>(); foreach (var machine in from m in BaseFacility.NodeMgr.Machines where m.Alive == NodeState.Online && m.IsSelected select m) { var proxy = GammaProxyFactory.GetCrsEnvProxy(machine); var rs = proxy.GetClusterNamesAsync(); tasks.Add(rs.ContinueWith((t) => { if (!t.Result.ToLower().Contains("error") && !t.Result.ToLower().Contains(no_crs_home_found)) { machine.ClusterName = t.Result; results.Add(t.Result); } else { MessageBox.Show(t.Result); } })); } await Task.WhenAll(tasks); int counter = 0; foreach (var rs in results.Distinct()) { clusters.Add(new Cluster(counter) { ClusterName = rs.Trim() }); counter += 1; } return(clusters); }