Example #1
0
// initializes a new server that does not yet have an ID.
func initializeServer(u *url.URL, s *influxdb.Server, b *influxdb.Broker, w io.Writer, initBroker bool) {
	// TODO: Create replica using the messaging client.

	if initBroker {
		// Create replica on broker.
		if err := b.CreateReplica(1, u); err != nil {
			log.Fatalf("replica creation error: %s", err)
		}
	}

	// Create messaging client.
	c := messaging.NewClient(1)
	c.SetLogOutput(w)
	if err := c.Open(filepath.Join(s.Path(), messagingClientFile), []*url.URL{b.URL()}); err != nil {
		log.Fatalf("messaging client error: %s", err)
	}
	if err := s.SetClient(c); err != nil {
		log.Fatalf("set client error: %s", err)
	}

	if initBroker {
		// Initialize the server.
		if err := s.Initialize(b.URL()); err != nil {
			log.Fatalf("server initialization error: %s", err)
		}
	}
}