func (s *TestSuite) TestStopStartSlave(c *C) { i, _ := inst.ReadTopologyInstance(&slave1Key) c.Assert(i.SlaveRunning(), Equals, true) i, _ = inst.StopSlaveNicely(&i.Key) c.Assert(i.SlaveRunning(), Equals, false) c.Assert(i.SQLThreadUpToDate(), Equals, true) i, _ = inst.StartSlave(&i.Key) c.Assert(i.SlaveRunning(), Equals, true) }
func (s *TestSuite) TestFailMoveBelowUponOtherSlaveStopped(c *C) { clearTestMaintenance() slave1, _ := inst.ReadTopologyInstance(&slave1Key) c.Assert(slave1.SlaveRunning(), Equals, true) slave1, _ = inst.StopSlaveNicely(&slave1.Key) c.Assert(slave1.SlaveRunning(), Equals, false) _, err := inst.MoveBelow(&slave2Key, &slave1Key) c.Assert(err, Not(IsNil)) _, _ = inst.StartSlave(&slave1.Key) }
// StartSlave starts replication on given instance func (this *HttpAPI) StartSlave(params martini.Params, r render.Render) { instanceKey, err := this.getInstanceKey(params["host"], params["port"]) if err != nil { r.JSON(200, &APIResponse{Code: ERROR, Message: err.Error()}) return } instance, err := inst.StartSlave(&instanceKey) if err != nil { r.JSON(200, &APIResponse{Code: ERROR, Message: err.Error()}) return } r.JSON(200, &APIResponse{Code: OK, Message: "Slave started", Details: instance}) }