func (s *clientSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) s.resources = common.NewResources() s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() }) s.authoriser = apiservertesting.FakeAuthorizer{ Tag: s.AdminUserTag(c), EnvironManager: true, } var err error s.haServer, err = highavailability.NewHighAvailabilityAPI(s.State, s.resources, s.authoriser) c.Assert(err, jc.ErrorIsNil) _, err = s.State.AddMachines(state.MachineTemplate{ Series: "quantal", Jobs: []state.MachineJob{state.JobManageModel}, Constraints: controllerCons, }) c.Assert(err, jc.ErrorIsNil) // We have to ensure the agents are alive, or EnableHA will // create more to replace them. s.pingers = []*presence.Pinger{s.setAgentPresence(c, "0")} s.BlockHelper = commontesting.NewBlockHelper(s.APIState) s.AddCleanup(func(*gc.C) { s.BlockHelper.Close() }) }
func (s *clientSuite) TestEnableHAHostedEnvErrors(c *gc.C) { st2 := s.Factory.MakeModel(c, &factory.ModelParams{ConfigAttrs: coretesting.Attrs{"state-server": false}}) defer st2.Close() haServer, err := highavailability.NewHighAvailabilityAPI(st2, s.resources, s.authoriser) c.Assert(err, jc.ErrorIsNil) enableHAResult, err := enableHA(c, haServer, 3, constraints.MustParse("mem=4G"), defaultSeries, nil) c.Assert(errors.Cause(err), gc.ErrorMatches, "unsupported with hosted models") c.Assert(enableHAResult.Maintained, gc.HasLen, 0) c.Assert(enableHAResult.Added, gc.HasLen, 0) c.Assert(enableHAResult.Removed, gc.HasLen, 0) c.Assert(enableHAResult.Converted, gc.HasLen, 0) machines, err := st2.AllMachines() c.Assert(err, jc.ErrorIsNil) c.Assert(machines, gc.HasLen, 0) }