/* * Test mode allows testing of ServiceFabricAutopilotAgent outside an Autopilot hosting environment. * In test mode, all dependencies on AP Runtime are replaced by test environment equivalences: * Logging => text log * Configuration => default test configurations */ public void Start(bool useTestMode = false) { string agentApplicationDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); if (!useTestMode) { APRuntime.Initialize(StringConstants.ApplicationConfigurationFileName); } TextLogger.InitializeLogging(StringConstants.CustomLogIdName, useTestMode, StringConstants.TestModeLogFileNameTemplate, StringConstants.TestModeLogDirectoryName, StringConstants.TestModeTraceListenerName); TextLogger.LogInfo("Starting Service Fabric Autopilot Agent."); if (!ConfigurationManager.GetCurrentConfigurations(useTestMode)) { this.Exit(false); return; } TextLogger.SetLogLevel(ConfigurationManager.LogLevel); ConfigurationManager.LogCurrentConfigurations(); ServiceFabricLocalNodeManager localNodeManager; if (!ServiceFabricLocalNodeManager.Create(agentApplicationDirectory, useTestMode, out localNodeManager)) { this.Exit(false); return; } this.localNodeManager = localNodeManager; this.agentStatus.InitializeAgentStatus(); this.RegisterConsoleCancelEventNotifications(); this.backgroundStateMachineTask = Task.Factory.StartNew( () => this.RunBackgroundStateMachine(this.backgroundStateMachineCancellationTokenSource.Token), this.backgroundStateMachineCancellationTokenSource.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); }
public AutopilotInfrastructureCoordinatorFactory( Uri serviceName, IConfigStore configStore, string configSectionName, Guid partitionId, long replicaId) { this.serviceName = serviceName.Validate("serviceName"); configStore.Validate("configStore"); configSectionName.Validate("configSectionName"); this.configSection = new ConfigSection(new TraceType(Constants.TraceTypeName + "Config"), configStore, configSectionName); this.partitionId = partitionId; this.replicaId = replicaId; this.env = new CoordinatorEnvironment(this.serviceName.AbsoluteUri, this.configSection, string.Empty); TraceType factoryTraceType = this.env.CreateTraceType("Factory"); factoryTraceType.WriteInfo( "Autopilot coordinator factory created; AppRoot = '{0}'", Environment.GetEnvironmentVariable("AppRoot")); try { if (APRuntime.IsInitialized) { factoryTraceType.WriteInfo("APRuntime is already initialized"); } else { factoryTraceType.WriteInfo("Initializing APRuntime"); APRuntime.Initialize(); factoryTraceType.WriteInfo("Initialized APRuntime successfully"); } } catch (Exception e) { factoryTraceType.WriteError("Failed to initialize APRuntime: {0}", e); throw; } }
static void Main(string[] args) { APRuntime.Initialize("HydraBenchmark.ini"); string[] fileNameSet = Directory.GetFiles(configFilePath); StreamConfig streams = new StreamConfig(10000, 10); foreach (string x in fileNameSet) { string[] sp = x.Split(testConfig.configFileSeparator); if (sp.Length < 2 || sp[1] != testConfig.configFileSuffix) { continue; } AutoTest test = new AutoTest(streams, x, totalTestTime, recordInterval); Console.WriteLine("[Config Start]: {0}", x); test.Run(TestRunMode.SingleThread, configFilePath); //test.Run(TestRunMode.Parrallel); } return; }
public void Start() { string applicationDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); this.certificateManager = new EnvironmentCertificateManager(applicationDirectory); APRuntime.Initialize(StringConstants.ApplicationConfigurationFileName); TextLogger.InitializeLogging(StringConstants.CustomLogIdName); TextLogger.LogInfo("Starting Service Fabric Environment Sync."); if (!ConfigurationManager.GetCurrentConfigurations()) { this.Exit(false); return; } TextLogger.SetLogLevel(ConfigurationManager.LogLevel); if (!this.certificateManager.GetEnvironmentCertificatesFromCurrentConfigurations()) { this.Exit(false); return; } this.RegisterConsoleCancelEventNotifications(); this.certificateManagerTask = Task.Factory.StartNew( () => this.RunCertificateManager(this.certificateManagerCancellationTokenSource.Token), this.certificateManagerCancellationTokenSource.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); }