|
@@ -203,6 +203,88 @@ func (s *DockerSwarmSuite) TestSwarmNodeTaskListFilter(c *check.C) {
|
|
c.Assert(out, checker.Not(checker.Contains), name+".1")
|
|
c.Assert(out, checker.Not(checker.Contains), name+".1")
|
|
c.Assert(out, checker.Not(checker.Contains), name+".2")
|
|
c.Assert(out, checker.Not(checker.Contains), name+".2")
|
|
c.Assert(out, checker.Not(checker.Contains), name+".3")
|
|
c.Assert(out, checker.Not(checker.Contains), name+".3")
|
|
|
|
+
|
|
|
|
+ out, err = d.Cmd("node", "ps", "--filter", "desired-state=running", "self")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(out, checker.Contains, name+".1")
|
|
|
|
+ c.Assert(out, checker.Contains, name+".2")
|
|
|
|
+ c.Assert(out, checker.Contains, name+".3")
|
|
|
|
+
|
|
|
|
+ out, err = d.Cmd("node", "ps", "--filter", "desired-state=shutdown", "self")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(out, checker.Not(checker.Contains), name+".1")
|
|
|
|
+ c.Assert(out, checker.Not(checker.Contains), name+".2")
|
|
|
|
+ c.Assert(out, checker.Not(checker.Contains), name+".3")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *DockerSwarmSuite) TestSwarmServiceTaskListAll(c *check.C) {
|
|
|
|
+ d := s.AddDaemon(c, true, true)
|
|
|
|
+
|
|
|
|
+ name := "service-task-list-1"
|
|
|
|
+ out, err := d.Cmd("service", "create", "--name", name, "--replicas=3", "busybox", "top")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "")
|
|
|
|
+
|
|
|
|
+ // make sure task has been deployed.
|
|
|
|
+ waitAndAssert(c, defaultReconciliationTimeout, d.checkActiveContainerCount, checker.Equals, 3)
|
|
|
|
+
|
|
|
|
+ out, err = d.Cmd("service", "ps", name)
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(out, checker.Contains, name+".1")
|
|
|
|
+ c.Assert(out, checker.Contains, name+".2")
|
|
|
|
+ c.Assert(out, checker.Contains, name+".3")
|
|
|
|
+
|
|
|
|
+ // Get the last container id so we can restart it to cause a task error in the history
|
|
|
|
+ containerID, err := d.Cmd("ps", "-q", "-l")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+
|
|
|
|
+ _, err = d.Cmd("stop", strings.TrimSpace(containerID))
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+
|
|
|
|
+ waitAndAssert(c, defaultReconciliationTimeout, d.checkActiveContainerCount, checker.Equals, 3)
|
|
|
|
+
|
|
|
|
+ out, err = d.Cmd("service", "ps", name)
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(out, checker.Count, name, 3)
|
|
|
|
+
|
|
|
|
+ out, err = d.Cmd("service", "ps", name, "-a")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(out, checker.Count, name, 4)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *DockerSwarmSuite) TestSwarmNodeTaskListAll(c *check.C) {
|
|
|
|
+ d := s.AddDaemon(c, true, true)
|
|
|
|
+
|
|
|
|
+ name := "node-task-list"
|
|
|
|
+ out, err := d.Cmd("service", "create", "--name", name, "--replicas=3", "busybox", "top")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "")
|
|
|
|
+
|
|
|
|
+ // make sure task has been deployed.
|
|
|
|
+ waitAndAssert(c, defaultReconciliationTimeout, d.checkActiveContainerCount, checker.Equals, 3)
|
|
|
|
+
|
|
|
|
+ out, err = d.Cmd("service", "ps", name)
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(out, checker.Contains, name+".1")
|
|
|
|
+ c.Assert(out, checker.Contains, name+".2")
|
|
|
|
+ c.Assert(out, checker.Contains, name+".3")
|
|
|
|
+
|
|
|
|
+ // Get the last container id so we can restart it to cause a task error in the history
|
|
|
|
+ containerID, err := d.Cmd("ps", "-q", "-l")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+
|
|
|
|
+ _, err = d.Cmd("stop", strings.TrimSpace(containerID))
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+
|
|
|
|
+ waitAndAssert(c, defaultReconciliationTimeout, d.checkActiveContainerCount, checker.Equals, 3)
|
|
|
|
+
|
|
|
|
+ out, err = d.Cmd("node", "ps", "self")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(out, checker.Count, name, 3)
|
|
|
|
+
|
|
|
|
+ out, err = d.Cmd("node", "ps", "self", "-a")
|
|
|
|
+ c.Assert(err, checker.IsNil)
|
|
|
|
+ c.Assert(out, checker.Count, name, 4)
|
|
}
|
|
}
|
|
|
|
|
|
// Test case for #25375
|
|
// Test case for #25375
|