Commit Graph

1685 Commits

Author SHA1 Message Date
OpenShift Merge Robot
69b011d3ac Merge pull request #5604 from jwhonce/wip/images
V2 podman images/image list
2020-03-25 01:26:21 +01:00
Jhon Honce
1d7cb7cc48 V2 podman images/image list
* Updated entities to support flags/options
* Updated bindings caused by entities changes
* Removed handlers.ImageSummary in favor of entities.ImageSummary

* Introduced StringSet() container object to simply error checking

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-24 16:06:01 -07:00
Brent Baude
ae614920bf podmanv2 volumes
add volume commands: create, inspect, ls, prune, and rm

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-24 16:03:49 -05:00
Jhon Honce
77a2af8817 Combine GlobalFlags and EngineFlags into EngineOptions
* EngineOptions obtained in command via
  `opt, err := registry.Options(cmd)`

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-24 11:03:13 -07:00
OpenShift Merge Robot
d6f8c3e07d Merge pull request #5596 from jwhonce/wip/history
Complete podmanV2 history command
2020-03-24 18:07:50 +01:00
Jhon Honce
2c698f0140 Complete podmanV2 history command
* All format options now implemented

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-24 07:40:34 -07:00
Brent Baude
2d4fa996ef podmanv2 exit code
add ability to set and get exit code.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-24 07:28:55 -05:00
OpenShift Merge Robot
3dbf2cb5af Merge pull request #5581 from baude/v2containers
podmanv2 add core container commands
2020-03-24 13:12:06 +01:00
OpenShift Merge Robot
02de8d576b Merge pull request #5560 from QiWang19/remote_ceds
Use creds form PullImage remote
2020-03-23 21:22:41 +01:00
Daniel J Walsh
31d14457a5 Merge pull request #5582 from kunalkushwaha/bugfix-5001
Improved readability in image json output
2020-03-22 17:40:20 -04:00
Brent Baude
9536560b4f podmanv2 add core container commands
add core container commands for podmanv2: kill, pause, restart, rm, stop, unpause

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-22 13:24:45 -05:00
Kunal Kushwaha
19bf7adedb Improved readability in image json output
Changes made in json output to improve readability of
podman images output.

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2020-03-22 21:38:07 +09:00
OpenShift Merge Robot
89a3e5979b Merge pull request #5579 from mtrmac/macOS-unit-tests
Make macOS unit tests runnable
2020-03-21 14:48:50 +01:00
OpenShift Merge Robot
195a82ffbc Merge pull request #5577 from baude/v2volumecreate
podmanv2 volume create
2020-03-21 14:46:39 +01:00
Brent Baude
c3a9ff1174 podmanv2 volume create
add volume create

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-20 18:27:08 -05:00
Miloslav Trmač
de7bcca7d5 Add stubs for cmd/podman in non-Linux local mode
This is _only_ to be able able to run unit tests.

I didn't even TRY running the result, I'm scared of what it would do.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-03-21 00:21:59 +01:00
Miloslav Trmač
bdfe8e699e Make cmd/podman/shared.GenerateCommand tests Linux-only
They rely on existence of /proc/self/exe .

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-03-21 00:21:59 +01:00
Brent Baude
0feec5de98 podmanv2 pod exists
add pod exists for podman v2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-20 17:07:57 -05:00
Brent Baude
c81e065149 podmanv2 enable remote wait
enable remote container wait with condition

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-20 14:33:33 -05:00
Brent Baude
baf3a9b3a7 use boolreport for containerexists response
in the case of exists, use a boolreport structure so that responses can be consistent pointer and error

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-20 13:01:24 -05:00
Brent Baude
87293028e6 podmanv2 container exists|wait
enable container exists and wait for podmanv2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-20 12:54:45 -05:00
OpenShift Merge Robot
ccc30c606e Merge pull request #5539 from sujil02/issue-5461
Implemented --iidfile for podman commit
2020-03-20 11:45:32 +01:00
Sujil02
5efa6dae90 Implemented --iidfile for podman commit
Added flag to Write the image ID to the file with podman commit command.
Fix to issue #5461

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-03-19 16:32:02 -04:00
Jhon Honce
46b338c77d Add guildline for writing podman V2 CLI commands
Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-19 11:54:27 -07:00
Qi Wang
9ac58fd78e Use creds form PullImage remote
fix #5511
Adds creds argument to PullImage API and Enables podman-remote to pull image with --creds

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-03-19 14:38:12 -04:00
Brent Baude
9e886d3a4a [CI:DOCS]remove podmanv2 binary
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-19 12:23:08 -05:00
OpenShift Merge Robot
093d9ef673 Merge pull request #5546 from jwhonce/wip/entities
V2 podman command
2020-03-19 18:19:43 +01:00
OpenShift Merge Robot
1be6178915 Merge pull request #5445 from sujil02/podFilter-new
Filter pods through pod list api
2020-03-19 15:50:50 +01:00
Jhon Honce
fbe743501e V2 podman command
Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-18 16:41:12 -07:00
Sujil02
15326f051d Filter pods through pod list api
Refactored current filter pods flow through the shared pod functions
so filter pod functionalities can be shared between api and cmd.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-03-17 17:46:20 -04:00
Valentin Rothberg
f4e873c4e1 auto updates
Add support to auto-update containers running in systemd units as
generated with `podman generate systemd --new`.

`podman auto-update` looks up containers with a specified
"io.containers.autoupdate" label (i.e., the auto-update policy).

If the label is present and set to "image", Podman reaches out to the
corresponding registry to check if the image has been updated.  We
consider an image to be updated if the digest in the local storage is
different than the one of the remote image.  If an image must be
updated, Podman pulls it down and restarts the container.  Note that the
restarting sequence relies on systemd.

At container-creation time, Podman looks up the "PODMAN_SYSTEMD_UNIT"
environment variables and stores it verbatim in the container's label.
This variable is now set by all systemd units generated by
`podman-generate-systemd` and is set to `%n` (i.e., the name of systemd
unit starting the container).  This data is then being used in the
auto-update sequence to instruct systemd (via DBUS) to restart the unit
and hence to restart the container.

Note that this implementation of auto-updates relies on systemd and
requires a fully-qualified image reference to be used to create the
container.  This enforcement is necessary to know which image to
actually check and pull.  If we used an image ID, we would not know
which image to check/pull anymore.

Fixes: #3575
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-17 17:18:56 +01:00
Brent Baude
9ca4b6c6f5 add os|arch attributes when building
when building images, we can now add the os and arch of the image using overrides from the commandline.  the commandline options set sane defaults so we use those as well.

Fixes: #5503

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-15 12:49:42 -05:00
Brent Baude
3aa58ccd0a remove imagefilter for varlink remote client
the api for getting images changed to use filters but back level podman versions cannot handle it.  so temporarily disabling the filtering for remote clients until the restful approach can be used.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-12 12:43:32 -05:00
OpenShift Merge Robot
235f367861 Merge pull request #5469 from giuseppe/no-size-create-container
create: do not calculate image size
2020-03-12 10:20:02 -04:00
Giuseppe Scrivano
8741eb8a92 create: do not calculate image size
calculating the image size can be an expensive operation.  Avoid doing
it when creating a new container since the size is not needed.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-03-12 09:51:17 +01:00
Ed Santiago
3d1bff6db9 man page cross-reference fixes: part 2
The other direction: fix or clean up elements documented in
man pages but which did/do not exist in actual podman:

  * runlabel: add missing "-n" alias for --name

And, remove man page entries for nonexistent options:

  * podman commit: --iidfile
  * podman container runlabel: --rootfs, --storage
  * podman create: --cpu-count

There are two problems I don't know how to deal with. Both
are related to main_local.go:rootCmd.PersistentFlags() :

  1) podman-build.1.md documents --cni-config-dir and
     --runtime options, but these are not actually options
     under podman build; they are global options. The
     documentation in this man page differs from that
     under podman-build.

  2) podman ps implements a binary --namespace option,
     but this option does not (cannot?) appear in --help
     because there's a global --namespace string option
     and Cobra somehow gets confused about this.

Do we really intend for global options to be parsed on
the right-hand side of subcommands? This strikes me as
unintuitive and potentially confusing, although the
fact that it has taken me this long to discover it
suggests that it's not _that_ confusing.

Suggestions welcome. I can file issues for 1/2 above,
or simply teach my script to special-case ignore them.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-11 11:05:37 -06:00
Ed Santiago
281def2647 man pages: fix inconsistencies
I wrote a script to cross-reference podman --help against
man pages. It found a bunch of inconsistencies fix them:

 * options missing from man pages
 * options misspelled or misformatted in man pages (usually
   misplaced asterisks or missing dashes, but see --dns-opt)
 * one spurious comma in the actual source file --help

This is a fix in which I iterate over 'podman CMD --help'
and check for presence in man pages. The other way around
(look for flags in man pages, check podman CMD --help)
is probably impossible: there are too many special cases

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-10 15:03:59 -06:00
Valentin Rothberg
7534f9dd1a hide --trace flag
The tracing flag is not really something users should worry about.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-10 08:33:39 +01:00
Valentin Rothberg
7b10b71445 podman --help: mention defaults of bools
While string variables are shown to expect a string argument, boolean
variables are not.  This easily tricks users into believing they are
simple switches without arguments.  Hence, explicitly mention the
default to clarify it a bit more.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-10 08:33:39 +01:00
Valentin Rothberg
6f1ba67300 use storage/pkg/homedir
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-09 08:57:23 +01:00
OpenShift Merge Robot
f378e82e2d Merge pull request #5412 from rhatdan/tmpdir
Allow users to set TMPDIR environment
2020-03-08 17:03:59 +01:00
Daniel J Walsh
ac354ac94a Fix spelling mistakes in code found by codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-07 10:30:44 -05:00
Brent Baude
8b5e2a6297 add default network for apiv2 create
during container creation, if no network is provided, we need to add a default value so the container can be later started.

use apiv2 container creation for RunTopContainer instead of an exec to the system podman. RunTopContainer now also returns the container id and an error.

added a libpod commit endpoint.

also, changed the use of the connections and bindings slightly to make it more convenient to write tests.

Fixes: 5366
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-06 14:31:45 -06:00
Daniel J Walsh
cb51707f91 Allow users to set TMPDIR environment
Some users have small /var/tmp directories and need to be able to specify a different location
for temporary files, which includes more space.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-06 10:21:37 -05:00
Valentin Rothberg
593eb7625a golangci: enable goimports
Enable the goimports linter and fix reports.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-05 20:03:44 +01:00
OpenShift Merge Robot
834f397db2 Merge pull request #5389 from openSUSE/fix-image-sign-help
Fix podman image sign help output
2020-03-04 22:48:58 -05:00
OpenShift Merge Robot
797da2a57b Merge pull request #5381 from vrothberg/ENVFIX
env: set "container" to current binary
2020-03-04 13:26:48 -05:00
Valentin Rothberg
6d2d6898f8 env: don't set "container" env
Leave setting the "container" variable to consumers of pkg/env.
Podman is now hard-setting it to "podman" while "libpod" will
set it internally to "libpod" if it's unset.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-04 17:07:47 +01:00
OpenShift Merge Robot
90eef95cb1 Merge pull request #4772 from boaz0/closes_4628
Add the rmi flag to podman-run to delete container image
2020-03-04 10:58:10 -05:00
Sascha Grunert
6e1de159eb Fix podman image sign help output
Adjust the help output to mention `podman image sign` instead of just
`podman sign`.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-03-04 09:22:53 +01:00