Browse code

Add test for force-new-cluster

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

Tonis Tiigi authored on 2016/06/21 08:36:13
Showing 1 changed files
... ...
@@ -295,7 +295,7 @@ func (s *DockerSwarmSuite) TestApiSwarmPromoteDemote(c *check.C) {
295 295
 			break
296 296
 		}
297 297
 		if i > 100 {
298
-			c.Errorf("node did not turn into manager")
298
+			c.Errorf("node did not turn into worker")
299 299
 		} else {
300 300
 			break
301 301
 		}
... ...
@@ -710,6 +710,39 @@ func (s *DockerSwarmSuite) TestApiSwarmInvalidAddress(c *check.C) {
710 710
 	c.Assert(status, checker.Equals, http.StatusInternalServerError)
711 711
 }
712 712
 
713
+func (s *DockerSwarmSuite) TestApiSwarmForceNewCluster(c *check.C) {
714
+	d1 := s.AddDaemon(c, true, true)
715
+	d2 := s.AddDaemon(c, true, true)
716
+
717
+	instances := 2
718
+	id := d1.createService(c, simpleTestService, setInstances(instances))
719
+	waitAndAssert(c, defaultReconciliationTimeout, reducedCheck(sumAsIntegers, d1.checkActiveContainerCount, d2.checkActiveContainerCount), checker.Equals, instances)
720
+
721
+	c.Assert(d2.Stop(), checker.IsNil)
722
+
723
+	time.Sleep(5 * time.Second)
724
+
725
+	c.Assert(d1.Init(swarm.InitRequest{
726
+		ForceNewCluster: true,
727
+		Spec: swarm.Spec{
728
+			AcceptancePolicy: autoAcceptPolicy,
729
+		},
730
+	}), checker.IsNil)
731
+
732
+	waitAndAssert(c, defaultReconciliationTimeout, d1.checkActiveContainerCount, checker.Equals, instances)
733
+
734
+	d3 := s.AddDaemon(c, true, true)
735
+	info, err := d3.info()
736
+	c.Assert(err, checker.IsNil)
737
+	c.Assert(info.ControlAvailable, checker.Equals, true)
738
+	c.Assert(info.LocalNodeState, checker.Equals, swarm.LocalNodeStateActive)
739
+
740
+	instances = 4
741
+	d3.updateService(c, d3.getService(c, id), setInstances(instances))
742
+
743
+	waitAndAssert(c, defaultReconciliationTimeout, reducedCheck(sumAsIntegers, d1.checkActiveContainerCount, d3.checkActiveContainerCount), checker.Equals, instances)
744
+}
745
+
713 746
 func simpleTestService(s *swarm.Service) {
714 747
 	var ureplicas uint64
715 748
 	ureplicas = 1