Browse Source

integration: drain node before stop in TestApiSwarmForceNewCluster

It's too long to wait for reschedule.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit 307b7b0d151e949024e7ab7ad276b174802a75f2)
Signed-off-by: Tibor Vass <tibor@docker.com>
Alexander Morozov 9 years ago
parent
commit
af4ff2541a
1 changed files with 7 additions and 2 deletions
  1. 7 2
      integration-cli/docker_api_swarm_test.go

+ 7 - 2
integration-cli/docker_api_swarm_test.go

@@ -708,9 +708,14 @@ func (s *DockerSwarmSuite) TestApiSwarmForceNewCluster(c *check.C) {
 	id := d1.createService(c, simpleTestService, setInstances(instances))
 	waitAndAssert(c, defaultReconciliationTimeout, reducedCheck(sumAsIntegers, d1.checkActiveContainerCount, d2.checkActiveContainerCount), checker.Equals, instances)
 
-	c.Assert(d2.Stop(), checker.IsNil)
+	// drain d2, all containers should move to d1
+	d1.updateNode(c, d2.NodeID, func(n *swarm.Node) {
+		n.Spec.Availability = swarm.NodeAvailabilityDrain
+	})
+	waitAndAssert(c, defaultReconciliationTimeout, d1.checkActiveContainerCount, checker.Equals, instances)
+	waitAndAssert(c, defaultReconciliationTimeout, d2.checkActiveContainerCount, checker.Equals, 0)
 
-	time.Sleep(5 * time.Second)
+	c.Assert(d2.Stop(), checker.IsNil)
 
 	c.Assert(d1.Init(swarm.InitRequest{
 		ForceNewCluster: true,