예제 #1
0
        public TaskScheduler.Workflow CreateTestWF()
        {
            var wf  = new TaskScheduler.Workflow();
            var cls = GetClusterNames();

            wf.Resources = new Resource[0]; //cls.Select(name => TaskTimeMeter.CreateResourceRecord(name)).ToArray();
            wf.Resources = wf.Resources.Union(new List <Resource>
            {
                new Resource {
                    Name  = "VM1",
                    Nodes = new[] {
                        new Node {
                            DNSName        = "machine",
                            CoresAvailable = 1,
                            ResourceName   = "VM1",
                            Parameters     = new Dictionary <string, string>()
                            {
                                { "IS_VIRTUAL", "True" },
                                { "SERVICE_URL", "http://192.168.9.10:8787/RExService" },
                                { VirtualConnectionParams.VCP, Newtonsoft.Json.JsonConvert.SerializeObject(new global::Common.VManager.DataTypes.HostConnectionParams()
                                    {
                                        Name       = "lo",
                                        Type       = "VBOX",
                                        Parameters = new Dictionary <string, string>()
                                    }) }
                            }
                        }
                    },
                    Parameters = new Dictionary <string, string>()
                }
            }).ToArray();
            wf.ResourcesNames = new string[0];
            var   ss = GetAppNames();
            ulong i  = 0;

            for (var j = 0; j < 5 && j < ss.Count(); j++)
            {
                var task = new TaskScheduler.Task();
                task.ApplicationName = ss.ElementAt(j);
                task.Parameters      = new Dictionary <string, string>();
                task.Parameters["FUNCTIONS_COUNT"] = 1000.ToString();
                task.Id = i++;
                task.SuitableDestinations = new LaunchDestination[1] {
                    new LaunchDestination()
                    {
                        ResourceName = "cluster_niinkt_1",
                        NodeNames    = new string[1] {
                            "i-master.nanocomputer.net"
                        }
                    }
                };
                wf.Tasks.Add(task);
            }
            ;

            return(wf);
        }
예제 #2
0
        public TaskScheduler.Workflow CreateTestWF()
        {
            var wf = new TaskScheduler.Workflow();
            var cls = GetClusterNames();
            wf.Resources = new Resource[0]; //cls.Select(name => TaskTimeMeter.CreateResourceRecord(name)).ToArray();
            wf.Resources = wf.Resources.Union(new List<Resource>
            {
                new Resource{
                    Name = "VM1",
                    Nodes = new[] {
                        new Node {
                            DNSName = "machine",
                            CoresAvailable = 1,
                            ResourceName = "VM1",
                            Parameters = new Dictionary<string, string>() {
                                {"IS_VIRTUAL", "True"},
                                { "SERVICE_URL", "http://192.168.9.10:8787/RExService" },
                                { VirtualConnectionParams.VCP, Newtonsoft.Json.JsonConvert.SerializeObject(new global::Common.VManager.DataTypes.HostConnectionParams()
                                    {
                                        Name = "lo",
                                        Type = "VBOX",
                                        Parameters = new Dictionary<string,string>()
                                    })}
                            }
                        }
                    },
                    Parameters = new Dictionary<string, string>()
                }
            }).ToArray();
            wf.ResourcesNames = new string[0];
            var ss = GetAppNames();
            ulong i = 0;
            for (var j = 0; j < 5 && j < ss.Count(); j++)
            {
                var task = new TaskScheduler.Task();
                task.ApplicationName = ss.ElementAt(j);
                task.Parameters = new Dictionary<string, string>();
                task.Parameters["FUNCTIONS_COUNT"] = 1000.ToString();
                task.Id = i++;
                task.SuitableDestinations = new LaunchDestination[1] {
                    new LaunchDestination()
                    {
                        ResourceName = "cluster_niinkt_1",
                        NodeNames = new string[1] { "i-master.nanocomputer.net" }
                    }
                };
                wf.Tasks.Add(task);
            };

            return wf;
        }
예제 #3
0
 public TaskScheduler.LaunchPlan Reschedule(TaskScheduler.Workflow workflow)
 {
     throw new ActionNotSupportedException("This method is not supported anymore - you must use RescheduleEstimated instead.");
 }