diff options
-rw-r--r-- | cmd/podman/common/completion.go | 8 | ||||
-rw-r--r-- | cmd/podman/machine/machine.go | 35 | ||||
-rw-r--r-- | cmd/podman/machine/rm.go | 5 | ||||
-rw-r--r-- | cmd/podman/machine/ssh.go | 5 | ||||
-rw-r--r-- | cmd/podman/machine/start.go | 5 | ||||
-rw-r--r-- | cmd/podman/machine/stop.go | 5 | ||||
-rw-r--r-- | docs/source/image.rst | 2 | ||||
-rw-r--r-- | pkg/api/handlers/compat/images_build.go | 1 | ||||
-rw-r--r-- | pkg/bindings/test/containers_test.go | 9 | ||||
-rw-r--r-- | test/e2e/build_test.go | 17 |
10 files changed, 62 insertions, 30 deletions
diff --git a/cmd/podman/common/completion.go b/cmd/podman/common/completion.go index 6bed5e0c6..bc106263c 100644 --- a/cmd/podman/common/completion.go +++ b/cmd/podman/common/completion.go @@ -1092,11 +1092,3 @@ func AutocompleteVolumeFilters(cmd *cobra.Command, args []string, toComplete str } return completeKeyValues(toComplete, kv) } - -// AutocompleteMachineSSH - Autocomplete machine ssh command. -func AutocompleteMachineSSH(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - if len(args) == 0 { - return nil, cobra.ShellCompDirectiveNoFileComp - } - return nil, cobra.ShellCompDirectiveDefault -} diff --git a/cmd/podman/machine/machine.go b/cmd/podman/machine/machine.go index 9a2377d12..d8cdf5568 100644 --- a/cmd/podman/machine/machine.go +++ b/cmd/podman/machine/machine.go @@ -3,9 +3,13 @@ package machine import ( + "strings" + "github.com/containers/podman/v3/cmd/podman/registry" "github.com/containers/podman/v3/cmd/podman/validate" "github.com/containers/podman/v3/pkg/domain/entities" + "github.com/containers/podman/v3/pkg/machine" + "github.com/containers/podman/v3/pkg/machine/qemu" "github.com/spf13/cobra" ) @@ -30,3 +34,34 @@ func init() { Command: machineCmd, }) } + +// autocompleteMachineSSH - Autocomplete machine ssh command. +func autocompleteMachineSSH(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { + if len(args) == 0 { + return getMachines(toComplete) + } + return nil, cobra.ShellCompDirectiveDefault +} + +// autocompleteMachine - Autocomplete machines. +func autocompleteMachine(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { + if len(args) == 0 { + return getMachines(toComplete) + } + return nil, cobra.ShellCompDirectiveNoFileComp +} + +func getMachines(toComplete string) ([]string, cobra.ShellCompDirective) { + suggestions := []string{} + machines, err := qemu.List(machine.ListOptions{}) + if err != nil { + cobra.CompErrorln(err.Error()) + return nil, cobra.ShellCompDirectiveNoFileComp + } + for _, m := range machines { + if strings.HasPrefix(m.Name, toComplete) { + suggestions = append(suggestions, m.Name) + } + } + return suggestions, cobra.ShellCompDirectiveNoFileComp +} diff --git a/cmd/podman/machine/rm.go b/cmd/podman/machine/rm.go index 002a793a3..e05b5f7a8 100644 --- a/cmd/podman/machine/rm.go +++ b/cmd/podman/machine/rm.go @@ -8,7 +8,6 @@ import ( "os" "strings" - "github.com/containers/common/pkg/completion" "github.com/containers/podman/v3/cmd/podman/registry" "github.com/containers/podman/v3/pkg/domain/entities" "github.com/containers/podman/v3/pkg/machine" @@ -18,13 +17,13 @@ import ( var ( rmCmd = &cobra.Command{ - Use: "rm [options] [NAME]", + Use: "rm [options] [MACHINE]", Short: "Remove an existing machine", Long: "Remove an existing machine ", RunE: rm, Args: cobra.MaximumNArgs(1), Example: `podman machine rm myvm`, - ValidArgsFunction: completion.AutocompleteNone, + ValidArgsFunction: autocompleteMachine, } ) diff --git a/cmd/podman/machine/ssh.go b/cmd/podman/machine/ssh.go index 586c4267d..aec68d2a4 100644 --- a/cmd/podman/machine/ssh.go +++ b/cmd/podman/machine/ssh.go @@ -3,7 +3,6 @@ package machine import ( - "github.com/containers/podman/v3/cmd/podman/common" "github.com/containers/podman/v3/cmd/podman/registry" "github.com/containers/podman/v3/pkg/domain/entities" "github.com/containers/podman/v3/pkg/machine" @@ -14,7 +13,7 @@ import ( var ( sshCmd = &cobra.Command{ - Use: "ssh [options] [NAME] [COMMAND [ARG ...]]", + Use: "ssh [options] [MACHINE] [COMMAND [ARG ...]]", Short: "SSH into a virtual machine", Long: "SSH into a virtual machine ", RunE: ssh, @@ -22,7 +21,7 @@ var ( Example: `podman machine ssh myvm podman machine ssh -e myvm echo hello`, - ValidArgsFunction: common.AutocompleteMachineSSH, + ValidArgsFunction: autocompleteMachineSSH, } ) diff --git a/cmd/podman/machine/start.go b/cmd/podman/machine/start.go index 40800160e..959fa21d2 100644 --- a/cmd/podman/machine/start.go +++ b/cmd/podman/machine/start.go @@ -3,7 +3,6 @@ package machine import ( - "github.com/containers/common/pkg/completion" "github.com/containers/podman/v3/cmd/podman/registry" "github.com/containers/podman/v3/pkg/domain/entities" "github.com/containers/podman/v3/pkg/machine" @@ -13,13 +12,13 @@ import ( var ( startCmd = &cobra.Command{ - Use: "start [NAME]", + Use: "start [MACHINE]", Short: "Start an existing machine", Long: "Start an existing machine ", RunE: start, Args: cobra.MaximumNArgs(1), Example: `podman machine start myvm`, - ValidArgsFunction: completion.AutocompleteNone, + ValidArgsFunction: autocompleteMachine, } ) diff --git a/cmd/podman/machine/stop.go b/cmd/podman/machine/stop.go index 7d655f0ba..36b434d8e 100644 --- a/cmd/podman/machine/stop.go +++ b/cmd/podman/machine/stop.go @@ -3,7 +3,6 @@ package machine import ( - "github.com/containers/common/pkg/completion" "github.com/containers/podman/v3/cmd/podman/registry" "github.com/containers/podman/v3/pkg/domain/entities" "github.com/containers/podman/v3/pkg/machine" @@ -13,13 +12,13 @@ import ( var ( stopCmd = &cobra.Command{ - Use: "stop [NAME]", + Use: "stop [MACHINE]", Short: "Stop an existing machine", Long: "Stop an existing machine ", RunE: stop, Args: cobra.MaximumNArgs(1), Example: `podman machine stop myvm`, - ValidArgsFunction: completion.AutocompleteNone, + ValidArgsFunction: autocompleteMachine, } ) diff --git a/docs/source/image.rst b/docs/source/image.rst index 2b0ef3d43..0552df929 100644 --- a/docs/source/image.rst +++ b/docs/source/image.rst @@ -40,6 +40,6 @@ Image :doc:`trust <markdown/podman-image-trust.1>` Manage container image trust policy -:doc:`unmount <markdown/podman-unmount.1>` Unmount an image's root filesystem +:doc:`unmount <markdown/podman-image-unmount.1>` Unmount an image's root filesystem :doc:`untag <markdown/podman-untag.1>` Removes one or more names from a locally-stored image diff --git a/pkg/api/handlers/compat/images_build.go b/pkg/api/handlers/compat/images_build.go index fd310711f..6dac789d6 100644 --- a/pkg/api/handlers/compat/images_build.go +++ b/pkg/api/handlers/compat/images_build.go @@ -349,6 +349,7 @@ func BuildImage(w http.ResponseWriter, r *http.Request) { Jobs: &jobs, Labels: labels, Layers: query.Layers, + LogRusage: query.LogRusage, Manifest: query.Manifest, MaxPullPushRetries: 3, NamespaceOptions: nsoptions, diff --git a/pkg/bindings/test/containers_test.go b/pkg/bindings/test/containers_test.go index cb9e0721b..4f049d18b 100644 --- a/pkg/bindings/test/containers_test.go +++ b/pkg/bindings/test/containers_test.go @@ -568,15 +568,6 @@ var _ = Describe("Podman containers ", func() { Expect(err).To(BeNil()) Expect(len(reports.PruneReportsIds(pruneResponse))).To(Equal(0)) Expect(len(reports.PruneReportsErrs(pruneResponse))).To(Equal(0)) - - // Valid filter params container should be pruned now. - filters := map[string][]string{ - "until": {"0s"}, - } - pruneResponse, err = containers.Prune(bt.conn, new(containers.PruneOptions).WithFilters(filters)) - Expect(err).To(BeNil()) - Expect(len(reports.PruneReportsErrs(pruneResponse))).To(Equal(0)) - Expect(len(reports.PruneReportsIds(pruneResponse))).To(Equal(1)) }) It("podman prune running containers", func() { diff --git a/test/e2e/build_test.go b/test/e2e/build_test.go index 95ed23313..4f337116e 100644 --- a/test/e2e/build_test.go +++ b/test/e2e/build_test.go @@ -549,4 +549,21 @@ RUN echo hello`, ALPINE) inspect.WaitWithDefaultTimeout() Expect(inspect.OutputToString()).To(Equal("1970-01-01 00:00:00 +0000 UTC")) }) + + It("podman build --log-rusage", func() { + targetPath, err := CreateTempDirInTempDir() + Expect(err).To(BeNil()) + + containerFile := filepath.Join(targetPath, "Containerfile") + content := `FROM scratch` + + Expect(ioutil.WriteFile(containerFile, []byte(content), 0755)).To(BeNil()) + + session := podmanTest.Podman([]string{"build", "--log-rusage", "--pull-never", targetPath}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + Expect(session.OutputToString()).To(ContainSubstring("(system)")) + Expect(session.OutputToString()).To(ContainSubstring("(user)")) + Expect(session.OutputToString()).To(ContainSubstring("(elapsed)")) + }) }) |