// CreateTablet is part of the topo.Server interface func (zkts *Server) CreateTablet(ctx context.Context, tablet *topo.Tablet) error { zkTabletPath := TabletPathForAlias(tablet.Alias) // Create /zk/<cell>/vt/tablets/<uid> _, err := zk.CreateRecursive(zkts.zconn, zkTabletPath, tablet.JSON(), 0, zookeeper.WorldACL(zookeeper.PERM_ALL)) if err != nil { if zookeeper.IsError(err, zookeeper.ZNODEEXISTS) { err = topo.ErrNodeExists } return err } event.Dispatch(&events.TabletChange{ Tablet: *tablet, Status: "created", }) return nil }