Browse code

integration: drain node before stop in TestApiSwarmForceNewCluster

It's too long to wait for reschedule.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>

Alexander Morozov authored on 2016/07/30 01:57:28
Showing 1 changed files
... ...
@@ -754,9 +754,14 @@ func (s *DockerSwarmSuite) TestApiSwarmForceNewCluster(c *check.C) {
754 754
 	id := d1.createService(c, simpleTestService, setInstances(instances))
755 755
 	waitAndAssert(c, defaultReconciliationTimeout, reducedCheck(sumAsIntegers, d1.checkActiveContainerCount, d2.checkActiveContainerCount), checker.Equals, instances)
756 756
 
757
-	c.Assert(d2.Stop(), checker.IsNil)
757
+	// drain d2, all containers should move to d1
758
+	d1.updateNode(c, d2.NodeID, func(n *swarm.Node) {
759
+		n.Spec.Availability = swarm.NodeAvailabilityDrain
760
+	})
761
+	waitAndAssert(c, defaultReconciliationTimeout, d1.checkActiveContainerCount, checker.Equals, instances)
762
+	waitAndAssert(c, defaultReconciliationTimeout, d2.checkActiveContainerCount, checker.Equals, 0)
758 763
 
759
-	time.Sleep(5 * time.Second)
764
+	c.Assert(d2.Stop(), checker.IsNil)
760 765
 
761 766
 	c.Assert(d1.Init(swarm.InitRequest{
762 767
 		ForceNewCluster: true,