mirror of
https://github.com/moby/moby.git
synced 2025-07-30 18:23:29 +03:00
Merge pull request #25234 from yongtang/25228-service-ps-multiple-ID
Support multiple service IDs on "docker service ps"
This commit is contained in:
@ -1555,3 +1555,73 @@ func (s *DockerSwarmSuite) TestSwarmNetworkCreateDup(c *check.C) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (s *DockerSwarmSuite) TestSwarmServicePsMultipleServiceIDs(c *check.C) {
|
||||
d := s.AddDaemon(c, true, true)
|
||||
|
||||
name1 := "top1"
|
||||
out, err := d.Cmd("service", "create", "--name", name1, "--replicas=3", "busybox", "top")
|
||||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "")
|
||||
id1 := strings.TrimSpace(out)
|
||||
|
||||
name2 := "top2"
|
||||
out, err = d.Cmd("service", "create", "--name", name2, "--replicas=3", "busybox", "top")
|
||||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "")
|
||||
id2 := strings.TrimSpace(out)
|
||||
|
||||
// make sure task has been deployed.
|
||||
waitAndAssert(c, defaultReconciliationTimeout, d.CheckActiveContainerCount, checker.Equals, 6)
|
||||
|
||||
out, err = d.Cmd("service", "ps", name1)
|
||||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(out, checker.Contains, name1+".1")
|
||||
c.Assert(out, checker.Contains, name1+".2")
|
||||
c.Assert(out, checker.Contains, name1+".3")
|
||||
c.Assert(out, checker.Not(checker.Contains), name2+".1")
|
||||
c.Assert(out, checker.Not(checker.Contains), name2+".2")
|
||||
c.Assert(out, checker.Not(checker.Contains), name2+".3")
|
||||
|
||||
out, err = d.Cmd("service", "ps", name1, name2)
|
||||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(out, checker.Contains, name1+".1")
|
||||
c.Assert(out, checker.Contains, name1+".2")
|
||||
c.Assert(out, checker.Contains, name1+".3")
|
||||
c.Assert(out, checker.Contains, name2+".1")
|
||||
c.Assert(out, checker.Contains, name2+".2")
|
||||
c.Assert(out, checker.Contains, name2+".3")
|
||||
|
||||
// Name Prefix
|
||||
out, err = d.Cmd("service", "ps", "to")
|
||||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(out, checker.Contains, name1+".1")
|
||||
c.Assert(out, checker.Contains, name1+".2")
|
||||
c.Assert(out, checker.Contains, name1+".3")
|
||||
c.Assert(out, checker.Contains, name2+".1")
|
||||
c.Assert(out, checker.Contains, name2+".2")
|
||||
c.Assert(out, checker.Contains, name2+".3")
|
||||
|
||||
// Name Prefix (no hit)
|
||||
out, err = d.Cmd("service", "ps", "noname")
|
||||
c.Assert(err, checker.NotNil)
|
||||
c.Assert(out, checker.Contains, "no such services: noname")
|
||||
|
||||
out, err = d.Cmd("service", "ps", id1)
|
||||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(out, checker.Contains, name1+".1")
|
||||
c.Assert(out, checker.Contains, name1+".2")
|
||||
c.Assert(out, checker.Contains, name1+".3")
|
||||
c.Assert(out, checker.Not(checker.Contains), name2+".1")
|
||||
c.Assert(out, checker.Not(checker.Contains), name2+".2")
|
||||
c.Assert(out, checker.Not(checker.Contains), name2+".3")
|
||||
|
||||
out, err = d.Cmd("service", "ps", id1, id2)
|
||||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(out, checker.Contains, name1+".1")
|
||||
c.Assert(out, checker.Contains, name1+".2")
|
||||
c.Assert(out, checker.Contains, name1+".3")
|
||||
c.Assert(out, checker.Contains, name2+".1")
|
||||
c.Assert(out, checker.Contains, name2+".2")
|
||||
c.Assert(out, checker.Contains, name2+".3")
|
||||
}
|
||||
|
Reference in New Issue
Block a user