INNER CODE UNIT · Go
func
m3db/m3 · scripts/development/m3_consumer_service/bootstrap/main.go:304
func (c *kvClient) BootstrapPlacement(p PlacementConfig) error {
sid := services.NewServiceID().
SetName(p.Service).
SetEnvironment(c.env).
SetZone(c.zone)
popts := placement.NewOptions().SetValidZone(c.zone)
psvc, err := c.servicesClient.PlacementService(sid, popts)
if err != nil {
return fmt.Errorf("placement service for %s: %v", p.Service, err)
}
// If a placement already exists, treat as success (idempotent bootstrap)
if _, err := psvc.Placement(); err == nil {
return nil
} else if !errors.Is(err, kv.ErrNotFound) {
return fmt.Errorf("get existing placement: %v", err)