public void Start() { /* * agent/lib/agent.rb * Takes command line args in agent/bin/agent * Bootstrap! * Configure and enable Monit * Starts the Handler */ BoshAgentInfrastructureVsphereSettings_LoadSettings(); config.UpdateFrom(settings); /* * TODO: * run sysprep set admin password (via unattend.xml) * set ip address * set licensing server netsh interface ipv4 set address name="Local Area Connection" source=static address=%1 mask=%2 gateway=%3 netsh interface ipv4 set dns name="Local Area Connection" source=static addr=%4 netsh interface ipv4 add dns name="Local Area Connection" addr=%5 */ bool wasSysprepped = Sysprep(); if (wasSysprepped) { Stop(); Environment.Exit(0); // TODO not the prettiest way to do this. } SetupNetworking(); #if DEBUG if (config.Debugging && this.ShouldWaitAtStartup) { log.Info("Waiting 90 seconds..."); Thread.Sleep(TimeSpan.FromSeconds(90)); } #endif // agent/lib/agent/handler.rb // find_message_processors var natsConfig = new BoshAgentNatsConfig(config.Mbus); natsClient.UseConfig(natsConfig); ushort natsFailCount = 0; while (false == natsClient.Start()) { ++natsFailCount; if (natsFailCount > NatsRetries) { // TODO move to BoshHandler class, custom exceptions string msg = String.Format(Resources.BoshAgent_UnableToConnectAfterRetries_Fmt, natsFailCount); log.Fatal(msg); throw new Exception(msg); } else { Thread.Sleep(NatsReconnectSleep); } } SetupSubscriptions(); // setup heartbeats heartbeatProcessor = new HeartbeatProcessor(log, natsClient, config); heartbeatProcessor.Start(); // SetupSshdMonitor(); /* if @process_alerts if (@smtp_port.nil? || @smtp_user.nil? || @smtp_password.nil?) @logger.error "Cannot start alert processor without having SMTP port, user and password configured" @logger.error "Agent will be running but alerts will NOT be properly processed" else @logger.debug("SMTP: #{@smtp_password}") @processor = Bosh::Agent::AlertProcessor.start("127.0.0.1", @smtp_port, @smtp_user, @smtp_password) end end */ }
public void Start() { /* * agent/lib/agent.rb * Takes command line args in agent/bin/agent * Bootstrap! * Configure and enable Monit * Starts the Handler */ BoshAgentInfrastructureVsphereSettings_LoadSettings(); config.UpdateFrom(settings); /* * TODO: * run sysprep * set admin password (via unattend.xml) * set ip address * set licensing server * netsh interface ipv4 set address name="Local Area Connection" source=static address=%1 mask=%2 gateway=%3 * netsh interface ipv4 set dns name="Local Area Connection" source=static addr=%4 * netsh interface ipv4 add dns name="Local Area Connection" addr=%5 */ bool wasSysprepped = Sysprep(); if (wasSysprepped) { Stop(); Environment.Exit(0); // TODO not the prettiest way to do this. } SetupNetworking(); #if DEBUG if (config.Debugging && this.ShouldWaitAtStartup) { log.Info("Waiting 90 seconds..."); Thread.Sleep(TimeSpan.FromSeconds(90)); } #endif // agent/lib/agent/handler.rb // find_message_processors var natsConfig = new BoshAgentNatsConfig(config.Mbus); natsClient.UseConfig(natsConfig); ushort natsFailCount = 0; while (false == natsClient.Start()) { ++natsFailCount; if (natsFailCount > NatsRetries) { // TODO move to BoshHandler class, custom exceptions string msg = String.Format(Resources.BoshAgent_UnableToConnectAfterRetries_Fmt, natsFailCount); log.Fatal(msg); throw new Exception(msg); } else { Thread.Sleep(NatsReconnectSleep); } } SetupSubscriptions(); // setup heartbeats heartbeatProcessor = new HeartbeatProcessor(log, natsClient, config); heartbeatProcessor.Start(); // SetupSshdMonitor(); /* * if @process_alerts * if (@smtp_port.nil? || @smtp_user.nil? || @smtp_password.nil?) * @logger.error "Cannot start alert processor without having SMTP port, user and password configured" * @logger.error "Agent will be running but alerts will NOT be properly processed" * else * @logger.debug("SMTP: #{@smtp_password}") * @processor = Bosh::Agent::AlertProcessor.start("127.0.0.1", @smtp_port, @smtp_user, @smtp_password) * end * end */ }