func (s server) BootEtcd(ctx context.Context, members *pb.EtcdMembers) (*pb.Reply, error) { go s.Transact(func(view db.Database) error { etcdSlice := view.SelectFromEtcd(nil) var etcdRow db.Etcd switch len(etcdSlice) { case 0: log.Info("Received boot etcd request.") etcdRow = view.InsertEtcd() case 1: etcdRow = etcdSlice[0] default: panic("Not Reached") } etcdRow.EtcdIPs = members.IPs sort.Strings(etcdRow.EtcdIPs) view.Commit(etcdRow) return nil }) return &pb.Reply{Success: true}, nil }