Exemplo n.º 1
0
        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;
            });
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
 public MainWindowViewModel()
 {
     _nodeNetManager = NodeNetManagerFactory.GetSimpleNetworkManager();
     _nodeNetManager.StartNodeCheck();
 }