Commit Graph

1604 Commits

Author SHA1 Message Date
Brent Baude cf502b99fe enable podman v2 networking for remote client
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-12 13:23:43 -05:00
OpenShift Merge Robot 38c4b9bcc0
Merge pull request #6182 from baude/v2remotedf
add podman remote system df
2020-05-12 09:05:03 -07:00
OpenShift Merge Robot d6d94cfdd7
Merge pull request #6154 from baude/v2sign
v2podman image sign
2020-05-12 09:02:30 -07:00
Brent Baude 03c29c357f add podman remote system df
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-12 08:35:48 -05:00
OpenShift Merge Robot 46cf421ed7
Merge pull request #6181 from baude/v2remoteport
add port to podman remote command
2020-05-12 06:34:26 -07:00
OpenShift Merge Robot caf46abd3a
Merge pull request #6101 from sujil02/systemreset-v2
Adds tunnel routes for system reset.
2020-05-12 03:32:20 -07:00
Valentin Rothberg 1c3bd95b81 auto-update: support authfiles
Support using custom authfiles for auto updates by adding a new
`--authfile` flag and passing it down into the backend.

Also do some minor fixes in the help text and the man page.

Fixes: #6159
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-12 10:20:48 +02:00
Sujil02 1c6ae73a89 Adds tunnel routes for system reset.
Adds tunnel routes for system reset.
Makes forces flag local as options are not propogated down the stack.
Adds relevant test cases and swagger docs.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-05-11 17:03:32 -04:00
Brent Baude a36e8d8eaa add port to podman remote command
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-11 14:09:41 -05:00
Brent Baude fbd0fccf89 v2podman image sign
this is a straight port to add the podman image sign command. no improvements or refactoring done

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-11 09:18:56 -05:00
Giuseppe Scrivano 76f8efc0d0
spec: fix order for setting rlimits
also make sure that the limits we set for rootless are not higher than
what we'd set for root containers.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-05-11 13:02:33 +02:00
OpenShift Merge Robot bd80b00d5d
Merge pull request #6151 from lsm5/tests-apiv2-inspect-remove
bindings tests for container remove and inspect
2020-05-10 13:33:29 +02:00
OpenShift Merge Robot 3ff96383f3
Merge pull request #6148 from jwhonce/wip/version
V2 Implement tunnelled podman version
2020-05-09 23:04:23 +02:00
Daniel J Walsh e81f8008a3
Merge pull request #6147 from mheon/fix_inspect_annotations
Add remaining annotations for `podman inspect`
2020-05-09 05:11:18 -04:00
Jhon Honce 931bd5ace6 V2 Impliment tunnelled podman version
Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-05-08 15:57:26 -07:00
Lokesh Mandvekar 1ca263bdfc bindings tests for container remove and inspect
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-05-08 15:50:24 -04:00
Matthew Heon 26f48139ce Add remaining annotations for `podman inspect`
This should finish support for `podman inspect` in APIv2.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-05-08 14:45:32 -04:00
Brent Baude 1074a02ff8 v2 podman unshare command
add unshare command

add cp and init to container sub-command

allow mount to run as rootless

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-08 13:28:11 -05:00
Matthew Heon 7989e422b4 Fix `podman pod create --infra=false`
We were accidentally setting incorrect defaults for the network
namespace for rootless `pod create` when infra containers were
not being created. This should resolve that issue.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-05-08 13:25:41 -04:00
OpenShift Merge Robot 13db0f2b61
Merge pull request #6118 from baude/v2bindingsenforce
set binding tests to required
2020-05-08 17:57:10 +02:00
OpenShift Merge Robot dd7e3615ec
Merge pull request #6141 from giuseppe/rootless-fix
abi: do not attempt to setup rootless if euid==0
2020-05-08 17:28:58 +02:00
OpenShift Merge Robot d3826d6eb3
Merge pull request #6124 from mheon/fix_rootless_podcreate
Fix parsing of --network for `podman pod create`
2020-05-08 16:35:33 +02:00
Giuseppe Scrivano 817f86c734
abi: do not attempt to setup rootless if euid==0
if the process has already euid==0 do not attempt to setup rootless.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-05-08 16:25:12 +02:00
OpenShift Merge Robot bacfae646a
Merge pull request #6121 from vrothberg/v2-auto-update
auto-update
2020-05-08 16:08:11 +02:00
Brent Baude a4c607cc71 set binding tests to required
some small fix ups for binding tests and then make them required.

update containers-common

V2 bindings tests were failing because of changes introduced in commit
a2ad5bb.

Fix some typos.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>

in the case where the specgen attribute for Env and Labels are nil, we should should then make the map IF we have labels and envs that need to be added.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-08 09:05:37 -05:00
OpenShift Merge Robot 7c63059287
Merge pull request #6117 from vrothberg/v2-runlabel
container runlabel
2020-05-08 15:17:26 +02:00
Valentin Rothberg 051a2bf437 auto-update
Add the `podman auto-update` command. There have been no tests in v1, so
there are no in v2 either ... for now :)

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-08 11:13:42 +02:00
Matthew Heon 2d68dc776d Fix parsing of --network for `podman pod create`
Interpreting CNI networks was a bit broken, and it was causing
rootless `podman pod create` to fail. Also, we were missing the
`--net` alias for `--network`, so add that.

Fixes #6119

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-05-07 17:58:50 -04:00
Giuseppe Scrivano 99bdafba99
podman: split env variables in env and overrides
There are three different priorities for applying env variables:

1) environment/config file environment variables
2) image's config
3) user overrides (--env)

The third kind are known to the client, while the default config and image's
config is handled by the backend.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-07 14:16:50 -04:00
OpenShift Merge Robot 1d3cdf9a46
Merge pull request #5961 from QiWang19/manifest-remove-push
Manifest remove, push
2020-05-07 19:10:32 +02:00
baude e9a17da1c5 v2trust set and show
add podman image trust set and show

Signed-off-by: baude <bbaude@redhat.com>
Signed-off-by: bbaude <bbaude@DESKTOP-SH5EG3J.localdomain>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-07 09:55:52 -05:00
Valentin Rothberg 61828cf480 container runlabel
Implement container runlabel for v2.  Local client only.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-07 16:18:39 +02:00
Valentin Rothberg f269be3a31 add {generate,play} kube
Add the `podman generate kube` and `podman play kube` command.  The code
has largely been copied from Podman v1 but restructured to not leak the
K8s core API into the (remote) client.

Both commands are added in the same commit to allow for enabling the
tests at the same time.

Move some exports from `cmd/podman/common` to the appropriate places in
the backend to avoid circular dependencies.

Move definitions of label annotations to `libpod/define` and set the
security-opt labels in the frontend to make kube tests pass.

Implement rest endpoints, bindings and the tunnel interface.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-06 17:08:22 +02:00
Qi Wang 5621f5199d Manifest remove, push
Implements podman manifest remove and podman manifest push.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-05-06 10:54:28 -04:00
OpenShift Merge Robot 0eb905ff2c
Merge pull request #6096 from mheon/fix_small_issues
Add small fixes for 'podman run' from diffing inspect
2020-05-06 11:27:05 +02:00
OpenShift Merge Robot 7885b5cd52
Merge pull request #6063 from QiWang19/manifest-annotate
manifest annotate
2020-05-06 03:41:09 +02:00
Matthew Heon f7c3cfde77 Add small fixes for 'podman run' from diffing inspect
To try and identify differences between Podman v1.9 and master,
I ran a series of `podman run` commands with various flags
through each, then inspecting the resulting containers and diffed
the inspect JSON between each. This identified a number of issues
which are fixed in this PR.

In order of discovery:
- Podman v2 gave short names for images, where Podman v1 gave the
  fully-qualified name. Simple enough fix (get image tags and use
  the first one if they're available)
- The --restart flag was not being parsed correctly when a number
  of retries was specified. Parsing has been corrected.
- The -m flag was not setting the swap limit (simple fix to set
  swap in that case if it's not explicitly set by the user)
- The --cpus flag was completely nonfunctional (wired in its
  logic)

Tests have been added for all of these to catch future
regressions.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-05-05 20:21:01 -04:00
Qi Wang 1090d4d5d9 manifest annotate
Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-05-05 15:01:32 -04:00
OpenShift Merge Robot 864aec8bb0
Merge pull request #6081 from baude/v2system
v2 system subcommand
2020-05-05 20:49:17 +02:00
baude 25312bb5b4 v2 system subcommand
add system df, info, load, renumber, and migrate

Refactor for specialized libpod engines

add the ability to prune images, volumes, containers, and pods

Signed-off-by: baude <bbaude@redhat.com>
2020-05-05 12:24:33 -05:00
OpenShift Merge Robot 9db97dbab8
Merge pull request #6080 from baude/v2stats
v2 podman stats
2020-05-05 17:29:56 +02:00
OpenShift Merge Robot e6235ef8f1
Merge pull request #6076 from vrothberg/rmi-v2.2
image removal: refactor part 2
2020-05-05 17:25:04 +02:00
baude b5a235df90 v2 podman stats
Signed-off-by: baude <bbaude@redhat.com>
2020-05-05 08:46:51 -05:00
Matthew Heon 7ac3d906b5 Rework port parsing to support --expose and -P
As part of this, make a major change to the type we use to
represent port mappings in SpecGen (from using existing OCICNI
structs to using our own custom one). This struct has the
advantage of supporting ranges, massively reducing traffic over
the wire for Podman commands using them (for example, the
`podman run -p 5000-6000` command will now send only one struct
instead of 1000). This struct also allows us to easily validate
which ports are in use, and which are not, which is necessary for
--expose.

Once we have parsed the ports from the new struct, we can produce
an accurate map including all currently requested ports, and use
that to determine what ports need to be exposed (some requested
exposed ports may already be included in a mapping from --publish
and will be ignored) and what open ports on the host we can map
them to.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-05-04 20:57:27 -04:00
Valentin Rothberg 7f97896c59 image removal: refactor part 2
Continue the refactoring of image removal.  I didn't manage to break all
the following changes into smaller and easier to digest commits due to
time constraints:

 * Return an error slice instead of a single error. Use multierror only
   in the client/frontend.  Reflect that in the types.

 * Use the batch image removal in the client while preserving the more
   rest-idiomatic single-image removal endpoint.

 * Add a new handler for the single-image removal endpoint to make it
   share the same code as the batch endpoint.

 * Expose bindings for the single and batch endpoints, so we can
   properly test them.

 * Add several convenience functions for error handling to
   pkg/errorhandling.

 * Set the correct error type in libpod to set the exit code to 2 when
   one or more containers are using an image.

 * Massage the bindings tests a bit and tackle compilation errors.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-04 16:01:45 +02:00
OpenShift Merge Robot 51d0be4204
Merge pull request #6051 from rhatdan/containers.conf
Fixes for test/e2e/containers_conf_test.go
2020-05-04 11:08:43 +02:00
OpenShift Merge Robot 0fd8242f91
Merge pull request #6058 from rhatdan/coverity
Fix errors found in coverity scan
2020-05-01 21:32:22 +02:00
OpenShift Merge Robot bffd3f5134
Merge pull request #6060 from sujil02/systemprune-v2
And system prune feature for v2.
2020-05-01 21:08:50 +02:00
Daniel J Walsh 7d37f4bbfe
Fix errors found in coverity scan
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-01 15:00:33 -04:00
Daniel J Walsh 97fcbfcbec
cgroupsns was not following containers.conf
Implement ParseCgroupsNamespace to handle defaults.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-01 15:00:33 -04:00