Merge pull request #4275 from vrothberg/fix-4274
stats: list all running containers unless specified otherwise
This commit is contained in:
		
						commit
						ef556cfecf
					
				|  | @ -35,7 +35,7 @@ var ( | |||
| 
 | ||||
| 	statsDescription = "Display percentage of CPU, memory, network I/O, block I/O and PIDs for one or more containers." | ||||
| 	_statsCommand    = &cobra.Command{ | ||||
| 		Use:   "stats [flags] CONTAINER [CONTAINER...]", | ||||
| 		Use:   "stats [flags] [CONTAINER...]", | ||||
| 		Short: "Display a live stream of container resource usage statistics", | ||||
| 		Long:  statsDescription, | ||||
| 		RunE: func(cmd *cobra.Command, args []string) error { | ||||
|  | @ -44,9 +44,6 @@ var ( | |||
| 			statsCommand.Remote = remoteclient | ||||
| 			return statsCmd(&statsCommand) | ||||
| 		}, | ||||
| 		Args: func(cmd *cobra.Command, args []string) error { | ||||
| 			return checkAllAndLatest(cmd, args, false) | ||||
| 		}, | ||||
| 		Example: `podman stats --all --no-stream | ||||
|   podman stats ctrID | ||||
|   podman stats --no-stream --format "table {{.ID}} {{.Name}} {{.MemUsage}}" ctrID`, | ||||
|  | @ -92,8 +89,6 @@ func statsCmd(c *cliconfig.StatsValues) error { | |||
| 
 | ||||
| 	if ctr > 1 { | ||||
| 		return errors.Errorf("--all, --latest and containers cannot be used together") | ||||
| 	} else if ctr == 0 { | ||||
| 		return errors.Errorf("you must specify --all, --latest, or at least one container") | ||||
| 	} | ||||
| 
 | ||||
| 	runtime, err := libpodruntime.GetRuntime(getContext(), &c.PodmanCommand) | ||||
|  |  | |||
|  | @ -11,6 +11,8 @@ import ( | |||
| 	. "github.com/onsi/gomega" | ||||
| ) | ||||
| 
 | ||||
| // TODO: we need to check the output. Currently, we only check the exit codes
 | ||||
| // which is not enough.
 | ||||
| var _ = Describe("Podman stats", func() { | ||||
| 	var ( | ||||
| 		tempdir    string | ||||
|  | @ -61,6 +63,15 @@ var _ = Describe("Podman stats", func() { | |||
| 		Expect(session.ExitCode()).To(Equal(0)) | ||||
| 	}) | ||||
| 
 | ||||
| 	It("podman stats on all running containers", func() { | ||||
| 		session := podmanTest.RunTopContainer("") | ||||
| 		session.WaitWithDefaultTimeout() | ||||
| 		Expect(session.ExitCode()).To(Equal(0)) | ||||
| 		session = podmanTest.Podman([]string{"stats", "--no-stream"}) | ||||
| 		session.WaitWithDefaultTimeout() | ||||
| 		Expect(session.ExitCode()).To(Equal(0)) | ||||
| 	}) | ||||
| 
 | ||||
| 	It("podman stats only output cids", func() { | ||||
| 		session := podmanTest.RunTopContainer("") | ||||
| 		session.WaitWithDefaultTimeout() | ||||
|  |  | |||
|  | @ -55,10 +55,12 @@ function check_help() { | |||
| 
 | ||||
|         # If usage has required arguments, try running without them | ||||
|         if expr "$usage" : '.*\[flags\] [A-Z]' >/dev/null; then | ||||
|             if [ "$cmd" != "stats"]; then | ||||
|                 dprint "podman $@ $cmd (without required args)" | ||||
|                 run_podman 125 "$@" $cmd | ||||
|                 is "$output" "Error:" | ||||
|             fi | ||||
|         fi | ||||
| 
 | ||||
|         count=$(expr $count + 1) | ||||
|     done | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue