Commit graph

6464 commits

Author SHA1 Message Date
Maximilian Müller
48d83482db Use the libpod.conf cni_config_dir option for inspect and delete
The pkg/network/files.go methods currently use the constant '/etc/cni/net.d'
for network handling. This results in the unability of podman-network-inspect
and podman-network-rm to locate the cni network configuration files.
This commit propagates the libpod.Runtime through the networking methods and
finally makes use of its configuration (config.Network.NetworkConfigDir).
Closes #6212

Signed-off-by: Maximilian Müller <maxm123@techie.com>
2020-05-14 22:15:32 +02:00
Jhon Honce
d34e5a142a V2 Update attach bindings to use Readers/Writers vs chan
* Change function call to use readers/writers in place channels
* Support stdin for pushing data from client to container
* Add bindings test

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-05-14 10:53:46 -07:00
Adrian Reber
7c7f4dbb51
Fix checkpoint --leave-running
There was typo in the variable name and in one place it was not
correctly passed to the next layer.

Signed-off-by: Adrian Reber <areber@redhat.com>
2020-05-14 14:29:04 +02:00
OpenShift Merge Robot
fa5b33e70b
Merge pull request #6211 from baude/v2remoteimagetree
enable remote image tree
2020-05-13 13:38:47 -07:00
OpenShift Merge Robot
71f66f03c5
Merge pull request #6203 from jwhonce/wip/attach
V2 attach bindings and test
2020-05-13 12:30:14 -07:00
OpenShift Merge Robot
886b2cc4b1
Merge pull request #6197 from baude/v2remotenetwork
enable podman v2 networking for remote client
2020-05-13 12:24:05 -07:00
Jhon Honce
b6113e2b9e WIP V2 attach bindings and test
* Add ErrLostSync to report lost of sync when de-mux'ing stream
* Add logus.SetLevel(logrus.DebugLevel) when `go test -v` given
* Add context to debugging messages

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-05-13 11:49:17 -07:00
Brent Baude
3fea2f0a91 enable remote image tree
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-13 09:41:39 -05:00
Peter Hunt
f4b59c74a7 cgroup: skip unified if we are using v1
There exists a chance for a node to be booted in v1, but have reminents of v2. An example is this CRI-O ci run: https://deck-ci.apps.ci.l2s4.p1.openshiftapps.com/view/gcs/origin-federated-results/pr-logs/pull/cri-o_cri-o/3565/test_pull_request_crio_critest_fedora/11243/

We fail because we are incorrectly writing to the unified path, because we are v1. We should not write to the unified path if we are v1

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2020-05-12 15:36:33 -04:00
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
Matthew Heon
50487832c6 Add HairpinMode to our CNI configs
This may resolve some issues with routing traffic between
containers using the host's IP.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-05-11 13:57:19 -04: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