func (cr *ClusterRunner) NewSession(sessionName string) *consuladapter.Session { client := cr.NewClient() adapter, err := consuladapter.NewSession(sessionName, 10*time.Second, client, consuladapter.NewSessionManager(client)) Expect(err).NotTo(HaveOccurred()) return adapter }
func initializeReceptorBBS(etcdOptions *etcdstoreadapter.ETCDOptions, logger lager.Logger) Bbs.ReceptorBBS { workPool, err := workpool.NewWorkPool(100) if err != nil { logger.Fatal("failed-to-construct-etcd-adapter-workpool", err, lager.Data{"num-workers": 100}) // should never happen } etcdAdapter, err := etcdstoreadapter.New(etcdOptions, workPool) if err != nil { logger.Fatal("failed-to-construct-etcd-tls-client", err) } client, err := consuladapter.NewClient(*consulCluster) if err != nil { logger.Fatal("new-client-failed", err) } sessionMgr := consuladapter.NewSessionManager(client) consulSession, err := consuladapter.NewSession("receptor", *lockTTL, client, sessionMgr) if err != nil { logger.Fatal("consul-session-failed", err) } return Bbs.NewReceptorBBS(etcdAdapter, consulSession, *taskHandlerAddress, clock.NewClock(), logger) }
func initializeLockMaintainer( logger lager.Logger, consulCluster, sessionName string, lockTTL, lockRetryInterval time.Duration, clock clock.Clock, ) ifrit.Runner { client, err := consuladapter.NewClient(consulCluster) if err != nil { logger.Fatal("new-client-failed", err) } sessionMgr := consuladapter.NewSessionManager(client) consulSession, err := consuladapter.NewSession(sessionName, lockTTL, client, sessionMgr) if err != nil { logger.Fatal("consul-session-failed", err) } uuid, err := uuid.NewV4() if err != nil { logger.Fatal("Couldn't generate uuid", err) } serviceClient := route_emitter.NewServiceClient(consulSession, clock) return serviceClient.NewRouteEmitterLockRunner(logger, uuid.String(), lockRetryInterval) }
func main() { cf_debug_server.AddFlags(flag.CommandLine) cf_lager.AddFlags(flag.CommandLine) flag.Parse() cf_http.Initialize(*communicationTimeout) logger, reconfigurableSink := cf_lager.New("auctioneer") initializeDropsonde(logger) if err := validateBBSAddress(); err != nil { logger.Fatal("invalid-bbs-address", err) } client, err := consuladapter.NewClient(*consulCluster) if err != nil { logger.Fatal("new-client-failed", err) } sessionMgr := consuladapter.NewSessionManager(client) consulSession, err := consuladapter.NewSession("auctioneer", *lockTTL, client, sessionMgr) if err != nil { logger.Fatal("consul-session-failed", err) } clock := clock.NewClock() bbsServiceClient := bbs.NewServiceClient(consulSession, clock) auctioneerServiceClient := auctioneer.NewServiceClient(consulSession, clock) auctionRunner := initializeAuctionRunner(logger, *cellStateTimeout, initializeBBSClient(logger), bbsServiceClient) auctionServer := initializeAuctionServer(logger, auctionRunner) lockMaintainer := initializeLockMaintainer(logger, auctioneerServiceClient) members := grouper.Members{ {"lock-maintainer", lockMaintainer}, {"auction-runner", auctionRunner}, {"auction-server", auctionServer}, } if dbgAddr := cf_debug_server.DebugAddress(flag.CommandLine); dbgAddr != "" { members = append(grouper.Members{ {"debug-server", cf_debug_server.Runner(dbgAddr, reconfigurableSink)}, }, members...) } group := grouper.NewOrdered(os.Interrupt, members) monitor := ifrit.Invoke(sigmon.New(group)) logger.Info("started") err = <-monitor.Wait() if err != nil { logger.Error("exited-with-failure", err) os.Exit(1) } logger.Info("exited") }
func initializeConsulSession(logger lager.Logger) *consuladapter.Session { client, err := consuladapter.NewClient(*consulCluster) if err != nil { logger.Fatal("new-client-failed", err) } sessionMgr := consuladapter.NewSessionManager(client) consulSession, err := consuladapter.NewSession("converger", *lockTTL, client, sessionMgr) if err != nil { logger.Fatal("consul-session-failed", err) } return consulSession }
func initializeServiceClient(logger lager.Logger) nsync.ServiceClient { client, err := consuladapter.NewClient(*consulCluster) if err != nil { logger.Fatal("new-client-failed", err) } sessionMgr := consuladapter.NewSessionManager(client) consulSession, err := consuladapter.NewSession("nsync-bulker", *lockTTL, client, sessionMgr) if err != nil { logger.Fatal("consul-session-failed", err) } return nsync.NewServiceClient(consulSession, clock.NewClock()) }
var noChecks bool BeforeEach(func() { startCluster() client = clusterRunner.NewClient() sessionMgr = newFakeSessionManager(client) noChecks = false }) AfterEach(stopClusterAndSession) JustBeforeEach(func() { if noChecks { session, sessionErr = consuladapter.NewSessionNoChecks("a-session", 20*time.Second, client, sessionMgr) } else { session, sessionErr = consuladapter.NewSession("a-session", 20*time.Second, client, sessionMgr) } }) AfterEach(func() { if session != nil { session.Destroy() } }) sessionCreationTests := func(operationErr func() error) { It("is set with the expected defaults", func() { entries, _, err := client.Session().List(nil) Expect(err).NotTo(HaveOccurred()) entry := findSession(session.ID(), entries)