func changeVotes(c *gc.C, insts []*gitjujutesting.MgoInstance, voteId int) { c.Logf("changing voting id to %v", voteId) addrs := make([]string, len(insts)) for i, inst := range insts { addrs[i] = inst.Addr() } dialInfo := gitjujutesting.MgoDialInfo(coretesting.Certs, addrs...) session, err := mgo.DialWithInfo(dialInfo) c.Assert(err, gc.IsNil) defer session.Close() members, err := replicaset.CurrentMembers(session) c.Assert(err, gc.IsNil) c.Assert(members, gc.HasLen, len(insts)) for i := range members { member := &members[i] if member.Id == voteId { member.Priority = nil } else { member.Priority = newFloat64(0.1) } } c.Logf("new member set: %#v", members) err = replicaset.Set(session, members) c.Assert(err, gc.IsNil) c.Logf("successfully changed replica set members") }
func (s mongoSessionShim) CurrentMembers() ([]replicaset.Member, error) { return replicaset.CurrentMembers(s.session) }