Ejemplo n.º 1
0
 public string Pack(
     List <VgcApis.Interfaces.ICoreServCtrl> servList,
     string orgServerUid,
     string packageName,
     VgcApis.Models.Datas.Enums.BalancerStrategies strategy)
 {
     return(vgcServers.PackServersV4Ui(
                servList, orgServerUid, packageName, strategy,
                VgcApis.Models.Datas.Enums.PackageTypes.Balancer));
 }
Ejemplo n.º 2
0
        public string PackSelectedServersV4(
            string orgUid, string pkgName,
            VgcApis.Models.Datas.Enums.BalancerStrategies strategy,
            VgcApis.Models.Datas.Enums.PackageTypes packageType)
        {
            var servList = new List <VgcApis.Interfaces.ICoreServCtrl>();

            lock (serverListWriteLock)
            {
                servList = queryHandler.GetSelectedServers().ToList();
            }
            return(PackServersIntoV4PackageWorker(
                       servList, orgUid, pkgName, strategy, packageType));
        }
Ejemplo n.º 3
0
        void InjectBalacerStrategy(
            ref JObject config,
            VgcApis.Models.Datas.Enums.BalancerStrategies strategy)
        {
            switch (strategy)
            {
            case VgcApis.Models.Datas.Enums.BalancerStrategies.LeastPing:
                try
                {
                    config["observatory"] = JObject.Parse("{subjectSelector:['agentout']}");
                    config["routing"]["balancers"][0]["strategy"] = JObject.Parse("{type:'leastPing'}");
                }
                catch { }
                break;

            default:
                break;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// packageName is Null or empty ? "PackageV4" : packageName
        /// </summary>
        /// <param name="packageName"></param>
        /// <param name="servList"></param>
        public string PackServersV4Ui(
            List <VgcApis.Interfaces.ICoreServCtrl> servList,
            string orgUid,
            string packageName,
            VgcApis.Models.Datas.Enums.BalancerStrategies strategy,
            VgcApis.Models.Datas.Enums.PackageTypes packageType)
        {
            if (servList == null || servList.Count < 1)
            {
                VgcApis.Misc.UI.MsgBoxAsync(I18N.ListIsEmpty);
                return("");
            }

            var uid = PackServersIntoV4PackageWorker(
                servList, orgUid, packageName, strategy, packageType);

            Misc.UI.ShowMessageBoxDoneAsync();
            return(uid);
        }
Ejemplo n.º 5
0
        string PackServersIntoV4PackageWorker(
            List <ICoreServCtrl> servList,
            string orgUid,
            string packageName,
            VgcApis.Models.Datas.Enums.BalancerStrategies strategy,
            VgcApis.Models.Datas.Enums.PackageTypes packageType)
        {
            if (servList == null || servList.Count < 1)
            {
                return("");
            }

            JObject package = configMgr.GenV4ServersPackageConfig(
                servList, packageName, packageType);
            string mark;

            switch (packageType)
            {
            case VgcApis.Models.Datas.Enums.PackageTypes.Balancer:
                InjectBalacerStrategy(ref package, strategy);
                mark = @"PackageV4";
                break;

            case VgcApis.Models.Datas.Enums.PackageTypes.Chain:
            default:
                mark = @"ChainV4";
                break;
            }

            var    newConfig = package.ToString(Formatting.None);
            string newUid    = ReplaceOrAddNewServer(orgUid, newConfig, mark);

            UpdateMarkList();
            setting.SendLog(I18N.PackageDone);
            return(newUid);
        }