Commit Graph

2622 Commits

Author SHA1 Message Date
Lokesh Mandvekar
ce35fe3730 add tests for kill and exists
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-04-08 10:46:57 -04:00
Brent Baude
8ce23775a6 v2podman ps alter formats
in order to get the go templating to work for custom input, we now use structure methods instead of template map funcs.  this requires some manipulation of fields so that the funcs can have the proper names.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-08 09:11:26 -05:00
Jhon Honce
e0847f5457 V2 podman system service
* Added support for system service
* Enabled linting on the varlinkapi source, needed to support V2
  service command
* Added support for PODMAN_SOCKET

Skip linting deprecated code

Rather than introduce bugs by correcting deprecated code, linting the
code is being skipped. Code that is being ported into V2 is being
checked.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-07 19:22:10 -07:00
OpenShift Merge Robot
11c8b01e1d Merge pull request #5739 from jwhonce/wip/diff
V2 Podman diff(changes) support
2020-04-07 21:49:24 +02:00
OpenShift Merge Robot
8289805f5d Merge pull request #5738 from baude/v2info
podmanv2 info
2020-04-07 19:00:57 +02:00
Jhon Honce
8ae28a55ac V2 podman diff(changes) support
* Ported CLI command
* Added API endpoint
* Added bindings
* Updated swagger (TODO: n endpoints, one handler)

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-07 09:39:46 -07:00
OpenShift Merge Robot
44f910c28c Merge pull request #5728 from openSUSE/pids.current
Do not error on pids.current stats if ctr.path is empty
2020-04-07 15:56:50 +02:00
Brent Baude
013ecca895 podmanv2 info
add ability to run info for v2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-07 07:15:09 -05:00
OpenShift Merge Robot
c0e29b4a31 Merge pull request #5734 from baude/v2run
v2podman run
2020-04-07 13:01:47 +02:00
Sascha Grunert
7864afd6b2 Do not error on pids.current stats if ctr.path is empty
If the ctr.path is empty, then we do not try to access
`/sys/fs/cgroup/pids/pids.current` any more because this path will be
wrong in any case. We now return and do not set the PIDs stats.

Refers to https://github.com/cri-o/cri-o/issues/3522

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-04-07 09:03:30 +02:00
OpenShift Merge Robot
64b6a19733 Merge pull request #5478 from giuseppe/auto-userns
userns: support --userns=auto
2020-04-06 23:08:36 +02:00
Brent Baude
1bfb96b540 v2podman run
add the ability to run a container

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-06 15:23:04 -05:00
OpenShift Merge Robot
843fa25890 Merge pull request #5716 from baude/v2ps
podmanv2 ps
2020-04-06 22:04:16 +02:00
Brent Baude
e20ecc733c refactor info
the current implementation of info, while typed, is very loosely done so.  we need stronger types for our apiv2 implmentation and bindings.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-06 12:45:42 -05:00
Brent Baude
b22254dc8b podmanv2 ps
add the ability to list containers

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-06 12:12:59 -05:00
OpenShift Merge Robot
e318b09b68 Merge pull request #5620 from cfelder/play-kube-networking
Add support for specifying CNI networks in podman play kube
2020-04-06 18:45:25 +02:00
Giuseppe Scrivano
3a0a727110 userns: support --userns=auto
automatically pick an empty range and create an user namespace for the
container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-06 16:32:36 +02:00
Brent Baude
5e0b449736 podmanv2 start
add the ability to start containers

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-06 09:26:11 -05:00
OpenShift Merge Robot
ba64186750 Merge pull request #5689 from sujil02/v2-pod-inspect
podmanv2 pod inspect
2020-04-06 15:23:19 +02:00
OpenShift Merge Robot
8dea3c3419 Merge pull request #5714 from baude/v2attach
v2podman attach
2020-04-06 14:52:25 +02:00
OpenShift Merge Robot
0b1b1710d3 Merge pull request #5713 from baude/v2version
podmanv2 version
2020-04-06 14:49:56 +02:00
Brent Baude
4d895dcb54 v2podman attach and exec
add the ability to attach to a running container.  the tunnel side of this is not enabled yet as we have work on the endpoints and plumbing to do yet.

add the ability to exec a command in a running container.  the tunnel side is also being deferred for same reason.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-05 15:54:51 -05:00
Brent Baude
6514a5c80e v2podman container create
create a container in podmanv2 using specgen approach.  this is the core implementation and still has quite a bit of code commented out specifically around volumes, devices, and namespaces.  need contributions from smes on these parts.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-03 15:43:03 -05:00
OpenShift Merge Robot
35f5867833 Merge pull request #5672 from baude/v2save
podmanv2 save image
2020-04-03 22:41:18 +02:00
Brent Baude
837aad724f podmanv2 save image
add ability to save an image for podman v2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-03 13:07:35 -05:00
OpenShift Merge Robot
64cade0f71 Merge pull request #5638 from baude/v2containercheck
podmanv2 checkpoint and restore
2020-04-03 20:05:30 +02:00
Brent Baude
9894fde732 podmanv2 version
this is only for the abi side and does not print out the remote information yet.  the remote information will need to be worked on and agreed upon later.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-03 12:45:57 -05:00
OpenShift Merge Robot
2d9b9e81a3 Merge pull request #5676 from kolyshkin/volume-flags-alt
Fix/improve pkg/storage.InitFSMounts
2020-04-03 18:34:01 +02:00
OpenShift Merge Robot
a89d62ac3a Merge pull request #5701 from vrothberg/v2-push
podmanV2: implement push
2020-04-03 18:11:54 +02:00
Brent Baude
8a16674722 podmanv2 checkpoint and restore
add the ability to checkpoint and restore containers on v2podman

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-03 09:32:06 -05:00
Daniel J Walsh
1f8569f7d7 Fix environment handling from containers.conf
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-02 13:10:08 -04:00
Valentin Rothberg
44a515015c podmanV2: implement push
* Implement `podman-push` and `podman-image-push` for the podmanV2
  client.

* Tests for `pkg/bindings` are not possible at the time of writing as we
  don't have a local registry running.

* Implement `/images/{name}/push` compat endpoint. Tests are not
  implemented for this v2 endpoint.  It has been tested manually.

General note: The auth config extraction from the http header is not
implement for push.  Since it's not yet supported for other endpoints
either, I deferred it to future work.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-02 17:01:32 +02:00
Kir Kolyshkin
e0614367ca pkg/spec.InitFSMounts: optimize
Instead of getting mount options from /proc/self/mountinfo, which is
very costly to read/parse (and can even be unreliable), let's use
statfs(2) to figure out the flags we need.

[v2: move getting default options to pkg/util, make it linux-specific]

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-04-02 07:52:34 -07:00
OpenShift Merge Robot
82610d657d Merge pull request #5688 from baude/v2import
podmanv2 import
2020-04-02 14:20:57 +02:00
Kir Kolyshkin
f2c42a3958 pkg/spec.InitFSMounts: fix mount opts in place
... rather than create a new slice and then make the caller
replace the original with the new one.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-04-01 15:30:59 -07:00
Brent Baude
bb39051616 podmanv2 export
add ability to export a container to a tarball

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-01 16:02:53 -05:00
Brent Baude
0433081983 podmanv2 import
add the ability to import a container image from a container export

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-01 15:56:26 -05:00
Brent Baude
8500ce6b9a podmanv2 load
enable podman load for v2

add reexec into main

add systemd build flag to v2 makefile

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-01 14:10:57 -05:00
Sujil02
7cbc09971a podmanv2 pod inspect
Add the ability to inspect pod in podmanv2

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-04-01 15:10:49 -04:00
Jhon Honce
46e3b2efb8 V2 podman inspect
* Expose podman container inspect
* Expose podman image inspect

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-01 08:07:43 -07:00
OpenShift Merge Robot
82cbebcbea Merge pull request #5656 from baude/v2imagetag
podman v2 image tag and untag
2020-04-01 16:10:10 +02:00
Brent Baude
26644d7cb8 podman v2 image tag and untag
add the ability to tag and untag images in podmanv2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-31 19:36:26 -05:00
Brent Baude
7def91910c podmanv2 pod ps
add the ability to list pods in podmanv2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-31 19:32:37 -05:00
OpenShift Merge Robot
9f5fcc3565 Merge pull request #5655 from baude/v2hcrun
podmanv2 enable healthcheck run
2020-03-31 23:01:19 +02:00
OpenShift Merge Robot
6e8f6cab60 Merge pull request #5675 from vrothberg/v2-pull
podmanV2: implement pull
2020-03-31 21:12:49 +02:00
OpenShift Merge Robot
56ab9e4cc8 Merge pull request #5649 from jwhonce/wip/varlink
V2 Move varlink home
2020-03-31 20:34:36 +02:00
Daniel J Walsh
3449b27cd1 Switch to using --time as opposed to --timeout to better match Docker.
We need to consistently use --time rather then --timeout throughout the code.
Fix locations where timeout defaults are not set correctly as well.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-31 08:50:32 -04:00
Valentin Rothberg
3bdad6fa2a podmanV2: implement pull
Implement pulling images for the v2 client.  What I _really_ don't like
is the fact that we are now having a near identical code clone among
`pkg/domain/infra/abi` and `pkg/api/handlers/libpod`.  Partly because we
don't yet have a higher-level pull function and partly because we have
redudancy among `pkg/domain` and `pkg/api`.  Pull might be a high
outlier but I am concerned already by the potential of introducing more
redundancy.  I'd love to `infra/abi` and `pkg/abi` to really use the
same code in the future.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-31 13:01:27 +02:00
Kir Kolyshkin
c11c5e180a pkg/spec/initFSMounts: fix
> $ ./bin/podman run -v /tmp:/tmp alpine true; echo $?
> 0
> $ ./bin/podman run -v /tmp:/tmp:ro alpine true; echo $?
> 0
> $ ./bin/podman run -v /tmp:/w0w:ro alpine true; echo $?
> Error: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/tmp\\\" to rootfs \\\"/home/kir/.local/share/containers/storage/overlay/7636ef3650fc91ee4996ccc026532bb3cff7182c0430db662fffb933e0bcadc9/merged\\\" at \\\"/home/kir/.local/share/containers/storage/overlay/7636ef3650fc91ee4996ccc026532bb3cff7182c0430db662fffb933e0bcadc9/merged/w0w\\\" caused \\\"operation not permitted\\\"\"": OCI runtime permission denied error
> 126

The last command is not working because in-container mount point
is used to search for a parent mount in /proc/self/mountinfo.

And yet the following

> $ ./bin/podman run -v /tmp:/run/test:ro alpine true; echo $?
> 0

still works fine! Here's why:

> $ mount | grep -E '/run |/tmp '
> tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
> tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel)

This is the reason why previous commit modified in-container mount
point.

Fixes: 0f5ae3c5af
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-03-31 01:56:10 -07:00
Ed Santiago
11e79bcd95 fix more swagger inconsistencies
I'm getting really tired of doing this manually.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-30 09:45:34 -06:00