Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
| ... | ... |
@@ -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 |