Exemplo n.º 1
0
 public ConfigurationSettings InitializeDatacenter(string id, ConfigurationSettings settings)
 {
     var configSet = GetConfigSet(id);
     var env = environmentTasks.GetEnvironment(configSet.Id + "-" + settings.Environment);
     env.CreateDataCenterKeyProperties(this.Repository, settings);
     Repository.SaveChanges();
     var subPar = env.EnsureDataCentersKey(Repository, settings);
     subPar.AddNewDataCenter(Repository, settings);
     env.ConfigSet.GetUris(Repository, settings);
     return settings;
 }
Exemplo n.º 2
0
 public ConfigurationSettings PublishDatacenter(string id, ConfigurationSettings settings)
 {
     //var configSet = GetConfigSet(id);
     var env = environmentTasks.GetEnvironment(id + "-" + settings.Environment);
     if (settings.DatabaseKeyName.ContainsCharacters())
     {
         var database = environmentTasks.GetEnvironmentParameter(env.Id + "-" + settings.DatabaseKeyName);
         database.SetValue(settings.DatabaseAccessKey);
         environmentTasks.UpdateEnvironmentParameter(database);
     }
     if (settings.ReplicationBusKeyName.ContainsCharacters())
     {
         var replicationBus = environmentTasks.GetEnvironmentParameter(env.Id + "-" + settings.ReplicationBusKeyName);
         replicationBus.SetValue(settings.ReplicationBusAccessKey);
         environmentTasks.UpdateEnvironmentParameter(replicationBus);
     }
     if (settings.ServiceBusKeyName.ContainsCharacters())
     {
         var database = environmentTasks.GetEnvironmentParameter(env.Id + "-" + settings.ServiceBusKeyName);
         database.SetValue(settings.ServiceBusAccessKey);
         environmentTasks.UpdateEnvironmentParameter(database);
     }
     Repository.SaveChanges();
     return settings;
 }
Exemplo n.º 3
0
        public static void GetUris(this IConfigSet configSet, ConfigurationContext context, ConfigurationSettings settings)
        {
            settings.ReplicationBusUri = string.Format(
                configSet.ServiceHosts.Single(s => s.Name == settings.DataCenterServiceHostName)
                .GetRawConfigData(settings.Environment)
                .GetConfigParameter(settings.ReplicationUriBusKeyName), settings.DataCenterName, "<KEY>");

            settings.ServiceBusUri = string.Format(
                configSet.ServiceHosts.Single(s => s.Name == settings.DataCenterServiceHostName)
                .GetRawConfigData(settings.Environment)
                .GetConfigParameter(settings.ServiceBusUriKeyName), settings.DataCenterName, "<KEY>");

            settings.DatabaseUri = string.Format(
                configSet.ServiceHosts.Single(s => s.Name == settings.DataCenterServiceHostName)
                .GetRawConfigData(settings.Environment)
                .GetConfigParameter(settings.DatabaseUriKeyName), settings.DataCenterName, "<KEY>");
        }
Exemplo n.º 4
0
 public static void CreateDataCenterKeyProperties(this IEnvironment env, ConfigurationContext context, ConfigurationSettings settings)
 {
     if (settings.ReplicationBusKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.ReplicationBusKeyName))
         {
             env.CreateParameters(context, settings.ReplicationBusKeyName, true);
             context.SaveChanges();
         }
     }
     if (settings.ServiceBusKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.ServiceBusKeyName))
         {
             env.CreateParameters(context, settings.ServiceBusKeyName, true);
             context.SaveChanges();
         }
     }
     if (settings.DatabaseKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.DatabaseKeyName))
         {
             env.CreateParameters(context, settings.DatabaseKeyName, true);
             context.SaveChanges();
         }
     }
     EnsureUriFormat(settings.ReplicationBusNamespaceFormat, settings.ReplicationUriBusKeyName, settings, env.ConfigSet, context);
     EnsureUriFormat(settings.DatabaseUriFormat, settings.DatabaseUriKeyName, settings, env.ConfigSet, context);
     EnsureUriFormat(settings.ServiceBusNamespaceFormat, settings.ServiceBusUriKeyName, settings, env.ConfigSet, context);
 }
Exemplo n.º 5
0
        public static void AddNewDataCenter(this ISubstitutionParameter envParam, ConfigurationContext context, ConfigurationSettings settings)
        {
            List <string> datacenters = new List <string>();

            if (envParam.IsNull())
            {
                throw new InvalidDataException("new parameter not found???");
            }
            datacenters = envParam.ItemValue.ContainsCharacters()?envParam.ItemValue.Split('|').ToList():new List <string>();
            if (!datacenters.Contains(settings.DataCenterName))
            {
                datacenters.Add(settings.DataCenterName);
            }
            envParam.ItemValue = string.Join("|", datacenters);
            context.SaveChanges();
            settings.DataCenterList = datacenters;

            Logging.DebugMessage("Added new datacenter {0}", string.Join("|", datacenters));
        }
Exemplo n.º 6
0
        public static ISubstitutionParameter EnsureDataCentersKey(this IEnvironment env, ConfigurationContext context, ConfigurationSettings settings)
        {
            var serviceHost    = env.ConfigSet.ServiceHosts.SingleOrDefault(sh => sh.Name == settings.DataCenterServiceHostName);
            var datacentersKey = serviceHost.Parameters.SingleOrDefault(shp => string.Equals(shp.Name, "datacenters", StringComparison.OrdinalIgnoreCase));

            if (datacentersKey.IsNull())
            {
                datacentersKey           = serviceHost.CreateParameter(context, "datacenters", false, true);
                datacentersKey.ItemValue = "{0}";
                if (datacentersKey.IsEnvironmental)
                {
                    foreach (var environment in serviceHost.ConfigSet.Environments)
                    {
                        environment.CreateSubstitutionParameters(context, serviceHost.Name + "_" + datacentersKey.Name);
                    }
                }
            }

            var envParam =
                env.SubstitutionParameters.SingleOrDefault(p => p.Name == GetDataCentersEnvironmentKey(datacentersKey));

            if (envParam.IsNull())
            {
                envParam = env.CreateSubstitutionParameters(context, GetDataCentersEnvironmentKey(datacentersKey));
            }
            Logging.DebugMessage("created datacenter keys for {0} in {1}", settings.DataCenterServiceHostName, settings.Environment);
            return(envParam);
        }
 private static void EnsureUriFormat(string format, string propertyName, ConfigurationSettings settings, IConfigSet configSet, ConfigurationContext context)
 {
     var hostSettings = configSet.ServiceHosts.Single(s => String.Equals(s.Name, settings.DataCenterServiceHostName, StringComparison.OrdinalIgnoreCase));
     var param = hostSettings.Parameters.SingleOrDefault(p => string.Equals(p.Name, propertyName, StringComparison.OrdinalIgnoreCase));
     if (param.IsNull())
     {
         param=hostSettings.CreateParameter(context, propertyName, false, true);
         param.ItemValue = "{0}";
         if (param.IsEnvironmental)
         {
             foreach (var environment in hostSettings.ConfigSet.Environments)
             {
                 environment.CreateSubstitutionParameters(context, hostSettings.Name + "_" + param.Name);
             }
         }
     }
     var env = configSet.Environments.Single(e => e.Name == settings.Environment);
     
     var subPar = env.SubstitutionParameters.SingleOrDefault(sp => sp.Name == hostSettings.Name + "_" + propertyName);
     if (subPar.IsNull())
     {
         subPar = env.CreateSubstitutionParameters(context, hostSettings.Name + "_" + propertyName);
     }
     subPar.ItemValue = format;
     context.SaveChanges();
 }
 public static void CreateDataCenterKeyProperties(this IEnvironment env, ConfigurationContext context, ConfigurationSettings settings)
 {
     if (settings.ReplicationBusKeyName.ContainsCharacters())
     {
         if(env.EnvironmentParameters.All(s => s.Name != settings.ReplicationBusKeyName))
         {
             env.CreateParameters(context, settings.ReplicationBusKeyName, true);
             context.SaveChanges();
         }
     }
     if (settings.ServiceBusKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.ServiceBusKeyName))
         {
             env.CreateParameters(context, settings.ServiceBusKeyName, true);
             context.SaveChanges();
         }
     }
     if (settings.DatabaseKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.DatabaseKeyName))
         {
             env.CreateParameters(context, settings.DatabaseKeyName, true);
             context.SaveChanges();
         }
     }
     EnsureUriFormat(settings.ReplicationBusNamespaceFormat, settings.ReplicationUriBusKeyName, settings, env.ConfigSet,context);
     EnsureUriFormat(settings.DatabaseUriFormat, settings.DatabaseUriKeyName, settings, env.ConfigSet, context);
     EnsureUriFormat(settings.ServiceBusNamespaceFormat, settings.ServiceBusUriKeyName, settings, env.ConfigSet, context);
 }
        public static void GetUris(this IConfigSet configSet, ConfigurationContext context, ConfigurationSettings settings)
        {
            settings.ReplicationBusUri = string.Format(
                configSet.ServiceHosts.Single(s => s.Name == settings.DataCenterServiceHostName)
                    .GetRawConfigData(settings.Environment)
                    .GetConfigParameter(settings.ReplicationUriBusKeyName), settings.DataCenterName, "<KEY>");

            settings.ServiceBusUri = string.Format(
                configSet.ServiceHosts.Single(s => s.Name == settings.DataCenterServiceHostName)
                    .GetRawConfigData(settings.Environment)
                    .GetConfigParameter(settings.ServiceBusUriKeyName), settings.DataCenterName,"<KEY>");

            settings.DatabaseUri = string.Format(
                configSet.ServiceHosts.Single(s => s.Name == settings.DataCenterServiceHostName)
                    .GetRawConfigData(settings.Environment)
                    .GetConfigParameter(settings.DatabaseUriKeyName), settings.DataCenterName, "<KEY>");
        }
Exemplo n.º 10
0
 public static ISubstitutionParameter EnsureDataCentersKey(this IEnvironment env, ConfigurationContext context, ConfigurationSettings settings)
 {
     var serviceHost = env.ConfigSet.ServiceHosts.SingleOrDefault(sh => sh.Name == settings.DataCenterServiceHostName);
     var datacentersKey = serviceHost.Parameters.SingleOrDefault(shp => string.Equals(shp.Name, "datacenters", StringComparison.OrdinalIgnoreCase));
     if (datacentersKey.IsNull())
     {
         datacentersKey = serviceHost.CreateParameter(context, "datacenters", false, true);
         datacentersKey.ItemValue = "{0}";
         if (datacentersKey.IsEnvironmental)
         {
             foreach (var environment in serviceHost.ConfigSet.Environments)
             {
                 environment.CreateSubstitutionParameters(context, serviceHost.Name + "_" + datacentersKey.Name);
             }
         }
     }
     
     var envParam =
         env.SubstitutionParameters.SingleOrDefault(p => p.Name == GetDataCentersEnvironmentKey(datacentersKey));
     if (envParam.IsNull()) envParam = env.CreateSubstitutionParameters(context,GetDataCentersEnvironmentKey(datacentersKey));
     Logging.DebugMessage("created datacenter keys for {0} in {1}",settings.DataCenterServiceHostName,settings.Environment);
     return envParam;
 }
Exemplo n.º 11
0
        public static void AddNewDataCenter(this ISubstitutionParameter envParam, ConfigurationContext context, ConfigurationSettings settings)
        {
            List<string> datacenters = new List<string>();
            if (envParam.IsNull())
            {
                throw new InvalidDataException("new parameter not found???");
            }
            datacenters = envParam.ItemValue.ContainsCharacters()?envParam.ItemValue.Split('|').ToList():new List<string>();
            if(!datacenters.Contains(settings.DataCenterName))
                datacenters.Add(settings.DataCenterName);
            envParam.ItemValue = string.Join("|", datacenters);
            context.SaveChanges();
            settings.DataCenterList = datacenters;

            Logging.DebugMessage("Added new datacenter {0}", string.Join("|", datacenters));
        }