Commit graph

23873 commits

Author SHA1 Message Date
OpenShift Merge Robot
96c4dd7302
Merge pull request #1906 from baude/addpsp
add pod short option to ps
2018-11-30 07:49:27 -08:00
baude
82bcef3895 add pod short option to ps
podman ps has a flag --pod; simply adding a short option of -p

Signed-off-by: baude <bbaude@redhat.com>
2018-11-30 09:15:11 -06:00
Yiqiao Pu
e5518e268d Add create test with --mount flag
Signed-off-by: Yiqiao Pu <ypu@redhat.com>
2018-11-29 19:01:22 +08:00
Jhon Honce
57f7b79400 Only include container SizeRootFs when requested
* API always returns value, so we remove it if not asked for

Fixes #1876

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2018-11-28 15:44:46 -07:00
OpenShift Merge Robot
3af62f620a
Merge pull request #1890 from baude/disablecheckpointtests
disable checkpoint tests on f29
2018-11-28 13:31:40 -08:00
OpenShift Merge Robot
4f8ea99603
Merge pull request #1714 from giuseppe/fix-rootless-tests
tests: fix rootless tests with an updated runc
2018-11-28 13:19:04 -08:00
OpenShift Merge Robot
39a8cc7558
Merge pull request #1852 from rhatdan/completions
Cleaning up completions.
2018-11-28 13:02:48 -08:00
Daniel J Walsh
a5be3ffa4d
/dev/shm should be mounted even in rootless mode.
Currently we are mounting /dev/shm from disk, it should be from a tmpfs.
User Namespace supports tmpfs mounts for nonroot users, so this section of
code should work fine in bother root and rootless mode.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-11-28 15:48:25 -05:00
baude
dd81a8fe7d disable checkpoint tests on f29
temporarily disabling checkpoint tests on f29 as they don't currently pass.

Signed-off-by: baude <bbaude@redhat.com>
2018-11-28 14:39:47 -06:00
Giuseppe Scrivano
6e04ec783b
test, rootless: specify USER env variable
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 21:31:28 +01:00
Giuseppe Scrivano
87bf117417
Revert "downgrade runc due a rootless bug"
This reverts commit 803efd4d38.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 21:31:27 +01:00
OpenShift Merge Robot
4bb2fdeebc
Merge pull request #1888 from baude/hidekube
hide kube command for now
2018-11-28 11:08:34 -08:00
Daniel J Walsh
6e0f10f19b
Fix completions to work with podman run command
Also add missing --help  and -h and add some consistency to the
usage of boolean_options.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-11-28 14:05:33 -05:00
baude
8e30d685b7 hide kube command for now
until the kube commands are ironed out, we dont want it drawing
attention in any release

Signed-off-by: baude <bbaude@redhat.com>
2018-11-28 12:30:53 -06:00
Ed Santiago
3d0cdd898c pypod create/run: ignore args for container command
Don't try to argparse command-line arguments on the right-hand
side of the image; those are intended for the container command:

   pypodman create fedora ls -l
   pypodman run fedora find / -name foo
   pypodman run fedora bash -c 'echo hi'

If/when `pypodman exec` gets implemented, it should use this too.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2018-11-28 11:27:52 -07:00
OpenShift Merge Robot
d3bc70d5d0
Merge pull request #1851 from jwhonce/wip/cmd
Add support for --all in pypodman ps command
2018-11-28 09:27:11 -08:00
OpenShift Merge Robot
22d53e2b54
Merge pull request #1798 from giuseppe/fix-notify-socket
systemd: fix NOTIFY_SOCKET with patched runc
2018-11-28 09:16:27 -08:00
OpenShift Merge Robot
88c23b0632
Merge pull request #1885 from edsantiago/split_token_none
_split_token(): handle None
2018-11-28 08:57:21 -08:00
OpenShift Merge Robot
8c15a1e067
Merge pull request #1881 from jwhonce/bug/1867
Fixes #1867
2018-11-28 08:57:10 -08:00
OpenShift Merge Robot
f3289fed2e
Merge pull request #1880 from baude/f29fixes
Fix golang formatting issues
2018-11-28 08:18:24 -08:00
Jhon Honce
2a6b683673 Add support for --all in pypodman ps command
* Updated field widths to match changes in go code

Fixes #1654

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2018-11-28 08:59:28 -07:00
OpenShift Merge Robot
ade0b30844
Merge pull request #1846 from cgwalters/netns-dns-localhost
Use host's resolv.conf if no network namespace enabled
2018-11-28 07:58:55 -08:00
Jhon Honce
f8c5e75a10 Fixes #1867
* Some items included in the CLI and currently not supported by the API.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2018-11-28 08:56:24 -07:00
OpenShift Merge Robot
7ae37dcafc
Merge pull request #1879 from mheon/stop_stopped_is_valid
Stopping a stopped container is not an error for Podman
2018-11-28 07:39:37 -08:00
Giuseppe Scrivano
180d0c6f62
tests: fix NOTIFY_SOCKET test
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 16:33:51 +01:00
baude
61d4db4806 Fix golang formatting issues
Whe running unittests on newer golang versions, we observe failures with some
formatting types when no declared correctly.

Signed-off-by: baude <bbaude@redhat.com>
2018-11-28 09:26:24 -06:00
Giuseppe Scrivano
fe919e4914
oci: propagate NOTIFY_SOCKET on runtime start
with https://github.com/opencontainers/runc/pull/1807 we moved the
systemd notify initialization from "create" to "start", so that the
OCI runtime doesn't hang while waiting on reading from the notify
socket.  This means we also need to set the correct NOTIFY_SOCKET when
start'ing the container.

Closes: https://github.com/containers/libpod/issues/746

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 16:25:12 +01:00
Giuseppe Scrivano
f7d972a70f
test: fix test for NOTIFY_SOCKET
do not make any assumption on the path inside of the container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 16:25:12 +01:00
OpenShift Merge Robot
effd63d6d5
Merge pull request #1848 from adrianreber/master
Add tcp-established to checkpoint/restore
2018-11-28 07:00:24 -08:00
Matthew Heon
841f47d728 Add test to ensure stopping a stopped container works
We regressed on this at some point. Adding a new test should help
ensure that doesn't happen again.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-11-28 09:35:30 -05:00
Matthew Heon
fc774ac0e5 Stopping a stopped container is not an error for Podman
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-11-28 09:35:30 -05:00
OpenShift Merge Robot
d346996e15
Merge pull request #1849 from giuseppe/report-rootless-netmode
rootless: add new netmode "slirp4netns"
2018-11-28 06:18:28 -08:00
OpenShift Merge Robot
2a496aea30
Merge pull request #1833 from giuseppe/remove-exec-polling
exec: remove polling for PID file
2018-11-28 05:10:49 -08:00
Daniel J Walsh
3beacb73bc
Disable mount options when running --privileged
We now default to setting storage options to "nodev", when running
privileged containers, we need to turn this off so the processes can
manipulate the image.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-11-28 07:53:28 -05:00
Daniel J Walsh
193e619756
Vendor in latest containers/storage
This allows us to modify the containers mount option on a per/container basis

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-11-28 07:53:28 -05:00
OpenShift Merge Robot
a7df0bc1fa
Merge pull request #1839 from giuseppe/storage-save-only-subset
rootless: store only subset of storage.conf
2018-11-28 04:43:41 -08:00
OpenShift Merge Robot
6688e9bc14
Merge pull request #1837 from giuseppe/vndr-selinux
vendor: update selinux
2018-11-28 04:43:36 -08:00
OpenShift Merge Robot
dd315cc043
Merge pull request #1861 from giuseppe/fix-rootless-cleanup
rootless: fix cleanup
2018-11-28 04:27:37 -08:00
Giuseppe Scrivano
fc3047322a
util: use fsnotify to wait for file
prefer a fsnotify watcher to polling the file, we take advantage of
inotify on Linux and react more promptly to the PID file being
created.

If the watcher cannot be created, then fallback to the old polling
mechanism.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 10:53:41 +01:00
Giuseppe Scrivano
c4a592b632
vendor: update selinux
inherit a change for not failing a recursive relabelling if the file
is removed between the directory is read and the lsetxattr syscall.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 10:51:37 +01:00
Giuseppe Scrivano
078cb630d3
rootless: store only subset of storage.conf
do not store the entire file but only the subset of what we have
modified.  Also, we were not writing the correct data.  Since it is
not trivial to serialize storage.conf correctly and all the various
supported options, serialize only what we care about.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 10:48:30 +01:00
Giuseppe Scrivano
0365f57371
rootless: fix cleanup
The conmon exit command is running inside of a namespace where the
process is running with uid=0.  When it launches again podman for the
cleanup, podman is not running in rootless mode as the uid=0.

Export some more env variables to tell podman we are in rootless
mode.

Closes: https://github.com/containers/libpod/issues/1859

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 10:19:13 +01:00
Giuseppe Scrivano
95f22a2ca0
network: allow slirp4netns mode also for root containers
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-28 09:21:59 +01:00
Adrian Reber
d3cde7cefe
Added more checkpoint/restore test cases
This adds checkpoint/restore test cases for the newly added options
 * --leave-running
 * --tcp-established
 * --all
 * --latest

Signed-off-by: Adrian Reber <areber@redhat.com>
2018-11-28 08:00:38 +01:00
Adrian Reber
fbe8e23ce6
Fix podman container restore -a
podman container restore -a was using the wrong filter to restore
checkpointed containers. This switches from 'running' containers to
'exited' containers.

Restoring with -a only works if all exited containers have been
checkpointed. Maybe it would make sense to track which containers have
been really checkpointed. This is just to fix '-a' to work at least
if all exited containers have been checkpointed.

Signed-off-by: Adrian Reber <areber@redhat.com>
2018-11-28 08:00:38 +01:00
Adrian Reber
4ed10c5c7a
Update bash completion for checkpoint/restore
This brings all the recent changes to checkpoint/restore to the bash
completion.

Signed-off-by: Adrian Reber <areber@redhat.com>
2018-11-28 08:00:38 +01:00
Adrian Reber
af7d67771b
Add '--tcp-established' to checkpoint/restore man page
Signed-off-by: Adrian Reber <areber@redhat.com>
2018-11-28 08:00:38 +01:00
Adrian Reber
03c88a3deb
Added tcp-established to checkpoint/restore
CRIU can checkpoint and restore processes/containers with established
TCP connections if the correct option is specified. To implement
checkpoint and restore with support for established TCP connections with
Podman this commit adds the necessary options to runc during checkpoint
and also tells conmon during restore to use 'runc restore' with
'--tcp-established'.

For this Podman feature to work a corresponding conmon change is
required.

Example:

$ podman run --tmpfs /tmp --name podman-criu-test -d docker://docker.io/yovfiatbeb/podman-criu-test
$ nc `podman inspect -l | jq -r '.[0].NetworkSettings.IPAddress'` 8080
GET /examples/servlets/servlet/HelloWorldExample
Connection: keep-alive

1
GET /examples/servlets/servlet/HelloWorldExample
Connection: keep-alive

2
$ # Using HTTP keep-alive multiple requests are send to the server in the container
$ # Different terminal:
$ podman container checkpoint -l
criu failed: type NOTIFY errno 0
$ # Looking at the log file would show errors because of established TCP connections
$ podman container checkpoint -l --tcp-established
$ # This works now and after the restore the same connection as above can be used for requests
$ podman container restore -l --tcp-established

The restore would fail without '--tcp-established' as the checkpoint image
contains established TCP connections.

Signed-off-by: Adrian Reber <areber@redhat.com>
2018-11-28 08:00:38 +01:00
Adrian Reber
a2bcb6d8bf
Remove unused CRIU_COMMIT variable
Signed-off-by: Adrian Reber <areber@redhat.com>
2018-11-28 08:00:38 +01:00
Adrian Reber
a40f5c0aba
Point CRIU_COMMIT to CRIU release 3.11
The old commit points to the development branch and is not stable.

Signed-off-by: Adrian Reber <areber@redhat.com>
2018-11-28 08:00:38 +01:00