Commit graph

2168 commits

Author SHA1 Message Date
OpenShift Merge Robot
288ebec6e7
Merge pull request #6909 from rhatdan/podman
Switch all references to github.com/containers/libpod -> podman
2020-07-28 10:12:55 -04:00
OpenShift Merge Robot
6ed9868a34
Merge pull request #7098 from asottile/newline_on_error
add newline to output in error message
2020-07-28 09:23:19 -04:00
Daniel J Walsh
a5e37ad280
Switch all references to github.com/containers/libpod -> podman
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-28 08:23:45 -04:00
Anthony Sottile
7b248d9e3a add newline to output in error message
Signed-off-by: Anthony Sottile <asottile@umich.edu>
2020-07-27 16:12:58 -07:00
Daniel J Walsh
8f7ed50cb2
Cleanup handling of podman mount/unmount
We should default to the user name unmount rather then the internal
name of umount.

Also User namespace was not being handled correctly. We want to inform
the user that if they do a mount when in rootless mode that they have
to be first in the podman unshare state.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-27 16:53:02 -04:00
Paul Holzinger
8a45703f79 replace the html/template package with text/template
Currently some commands use the html/template package.
This can lead to invalid output.
e.g. `system df --verbose` will print `&lt;none&gt;`
instead of `<none>` with an untaged image.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-07-25 15:03:35 +02:00
OpenShift Merge Robot
c2deeff101
Merge pull request #7068 from mheon/start_attach_no_ctrid
The `podman start --attach` command should not print ID
2020-07-24 17:07:14 +02:00
Matthew Heon
099649ac1b The podman start --attach command should not print ID
Somewhere in the Podman v2 rewrite, we allowed
`podman start --attach` to print the container ID of the started
container after exiting from the attach session (via detach key
or the container exiting naturally). We should never print the ID
when `--attach` is given, which makes the fix simple - make the
print statement conditional on `--attach` not being present.

Wierdly, this only happened with `--interactive` was given to
`podman start`. I don't know why that is, but this resolves the
issue without having to dig any deeper, so I'm content.

Fixes #7055

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-23 12:02:28 -04:00
Jhon Honce
964d3300c6 [WIP] Refactor podman system connection
* Add support to manage multiple connections
  * Add connection
  * Remove connection
  * Rename connection
  * Set connection as default
  * Add markdown/man pages
* Fix recursion in hack/xref-helpmsgs-manpages

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-07-22 15:25:44 -07:00
OpenShift Merge Robot
1aac197f79
Merge pull request #7042 from rhatdan/remote
Enable --remote flag
2020-07-22 23:14:47 +02:00
Daniel J Walsh
4c4a00f63e
Support default profile for apparmor
Currently you can not apply an ApparmorProfile if you specify
--privileged.  This patch will allow both to be specified
simultaniosly.

By default Apparmor should be disabled if the user
specifies --privileged, but if the user specifies --security apparmor:PROFILE,
with --privileged, we should do both.

Added e2e run_apparmor_test.go

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-22 06:27:20 -04:00
OpenShift Merge Robot
59bad8bf71
Merge pull request #7006 from ashley-cui/umask
Add --umask flag for create, run
2020-07-22 05:40:32 -04:00
Daniel J Walsh
17ba396494
Enable --remote flag
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-21 15:22:15 -04:00
Ashley Cui
d4d3fbc155 Add --umask flag for create, run
--umask sets the umask inside the container
Defaults to 0022

Co-authored-by: Daniel J Walsh <dwalsh@redhat.com>
Signed-off-by: Ashley Cui <acui@redhat.com>
2020-07-21 14:22:30 -04:00
Daniel J Walsh
fc52aa6704
Add noop function disable-content-trust
People who use docker scripts with Podman see failures
if they use disable-content-trust flag.  This flag already
existed for podman build, adding it to pull/push/create/run.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-21 10:18:27 -04:00
Daniel J Walsh
841eac0af6
Switch references from libpod.conf to containers.conf
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-20 15:09:54 -04:00
Qi Wang
020d81f113 Add support for overlay volume mounts in podman.
Add support -v for overlay volume mounts in podman.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-07-20 09:48:55 -04:00
OpenShift Merge Robot
deff289a9f
Merge pull request #6934 from ParkerVR/tags-reference
using reference package to parse
2020-07-18 06:23:17 -04:00
Parker Van Roy
809a50f94d Used reference package with errors for parsing tag
Signed-off-by: Parker Van Roy <pvanroy@redhat.com>
2020-07-17 15:54:21 -04:00
Giuseppe Scrivano
65d382dc68
abi: set default umask and rlimits
the code got lost in the migration to podman 2.0, reintroduce it.

Closes: https://github.com/containers/podman/issues/6989

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-07-17 20:53:38 +02:00
OpenShift Merge Robot
d86bae2a01
Merge pull request #6965 from giuseppe/followup-pr6324
allow switching of port-forward approaches in rootless/using slirp4netns
2020-07-17 04:44:49 -04:00
Giuseppe Scrivano
9be7029cdd
libpod: pass down network options
do not pass network specific options through the network namespace.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-07-16 22:37:27 +02:00
Jhon Honce
74ca2716a8 Fix podman system connection panic
Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-07-15 14:20:54 -07:00
OpenShift Merge Robot
50cd21e181
Merge pull request #6939 from rhatdan/entrypoint
Fix handling of entrypoint
2020-07-14 21:53:47 +02:00
OpenShift Merge Robot
a9a751feef
Merge pull request #6931 from mheon/apply_sigproxy
Ensure sig-proxy default is propagated in start
2020-07-14 19:44:56 +02:00
Daniel J Walsh
6535c8b9e8
Fix handling of entrypoint
If a user specifies an entrypoint of "" then we should not use the images
entrypoint.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-14 13:10:03 -04:00
OpenShift Merge Robot
d86acf2cae
Merge pull request #6842 from rhatdan/pids-limit
Pids-limit should only be set if the user set it
2020-07-13 20:53:20 +02:00
OpenShift Merge Robot
e2a8e037d1
Merge pull request #6896 from mheon/fix_remote_createcommand
Fix container and pod create commands for remote create
2020-07-13 13:20:26 +02:00
OpenShift Merge Robot
88b8d2829c
Merge pull request #6932 from rhafer/aa_priv
Don't setup AppArmor provile for privileged pods
2020-07-11 13:21:15 +02:00
Daniel J Walsh
677ad10e07
Pids-limit should only be set if the user set it
Currently we are sending over pids-limits from the user even if they
never modified the defaults.  The pids limit should be set at the server
side unless modified by the user.

This issue has led to failures on systems that were running with cgroups V1.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-10 12:46:16 -04:00
Ralf Haferkamp
b3f15c09cd Don't setup AppArmor provile for privileged pods
This is essentially db218e7162 forward-ported to specgen

Signed-off-by: Ralf Haferkamp <rhafer@suse.com>
2020-07-10 17:55:18 +02:00
Matthew Heon
dd30e0a73a Ensure sig-proxy default is propagated in start
We properly determined what sig-proxy should be set to, but we
never passed that along to the backend. As such, cases where the
default swapped (mostly when `--attach` was specified but the
`--sig-proxy` flag was not) were not handled correctly

Fixes #6928

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-10 11:37:30 -04:00
Matthew Heon
c4627b5846 Fix container and pod create commands for remote create
In `podman inspect` output for containers and pods, we include
the command that was used to create the container. This is also
used by `podman generate systemd --new` to generate unit files.

With remote podman, the generated create commands were incorrect
since we sourced directly from os.Args on the server side, which
was guaranteed to be `podman system service` (or some variant
thereof). The solution is to pass the command along in the
Specgen or PodSpecgen, where we can source it from the client's
os.Args.

This will still be VERY iffy for mixed local/remote use (doing a
`podman --remote run ...` on a remote client then a
`podman generate systemd --new` on the server on the same
container will not work, because the `--remote` flag will slip
in) but at the very least the output of `podman inspect` will be
correct. We can look into properly handling `--remote` (parsing
it out would be a little iffy) in a future PR.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-10 11:22:23 -04:00
Valentin Rothberg
bb9d939155 version/info: format: allow more json variants
Allow more variants to yield json output for `podman version` and
`podman info`.  Instead of comparing strings, use a regex and add
unit and e2e tests.

Fixes: #6927
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-10 15:44:17 +02:00
Valentin Rothberg
d0ebea0643 logs: enable e2e tests
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-09 15:18:15 +02:00
Daniel J Walsh
6c6670f12a
Add username to /etc/passwd inside of container if --userns keep-id
If I enter a continer with --userns keep-id, my UID will be present
inside of the container, but most likely my user will not be defined.

This patch will take information about the user and stick it into the
container.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-07 08:34:31 -04:00
OpenShift Merge Robot
1a93857acc
Merge pull request #6693 from goochjj/libpod-sd-notify-cmdline
Implement --sdnotify cmdline option to control sd-notify behavior
2020-07-06 17:15:26 -04:00
OpenShift Merge Robot
fca3434ee7
Merge pull request #6868 from mheon/fix_mount_rootless
Fix bug where `podman mount` didn't error as rootless
2020-07-06 16:41:59 -04:00
Joseph Gooch
0b1c1ef461 Implement --sdnotify cmdline option to control sd-notify behavior
--sdnotify container|conmon|ignore
With "conmon", we send the MAINPID, and clear the NOTIFY_SOCKET so the OCI
runtime doesn't pass it into the container. We also advertise "ready" when the
OCI runtime finishes to advertise the service as ready.

With "container", we send the MAINPID, and leave the NOTIFY_SOCKET so the OCI
runtime passes it into the container for initialization, and let the container advertise further metadata.
This is the default, which is closest to the behavior podman has done in the past.

The "ignore" option removes NOTIFY_SOCKET from the environment, so neither podman nor
any child processes will talk to systemd.

This removes the need for hardcoded CID and PID files in the command line, and
the PIDFile directive, as the pid is advertised directly through sd-notify.

Signed-off-by: Joseph Gooch <mrwizard@dok.org>
2020-07-06 17:47:18 +00:00
OpenShift Merge Robot
9532509c50
Merge pull request #6836 from ashley-cui/tzlibpod
Add --tz flag to create, run
2020-07-06 13:28:20 -04:00
Matthew Heon
195d44bde6 Fix bug where podman mount didn't error as rootless
We require that rootless `podman mount` be run inside a shell
spawned by `podman unshare` (which gives us a mount namespace
which actually lets other commands use the mounted filesystem).

The fix is simple - we need to mark the command as requiring the
rootless user namespace not be configured, so we can test for it
later as part of the mount code and error if we needed to make
one.

Fixes #6856

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-06 12:56:52 -04:00
OpenShift Merge Robot
9eac75a967
Merge pull request #6864 from vrothberg/v2-module
move go module to v2
2020-07-06 10:58:38 -04:00
Valentin Rothberg
8489dc4345 move go module to v2
With the advent of Podman 2.0.0 we crossed the magical barrier of go
modules.  While we were able to continue importing all packages inside
of the project, the project could not be vendored anymore from the
outside.

Move the go module to new major version and change all imports to
`github.com/containers/libpod/v2`.  The renaming of the imports
was done via `gomove` [1].

[1] https://github.com/KSubedi/gomove

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-06 15:50:12 +02:00
OpenShift Merge Robot
4bdc11951e
Merge pull request #6790 from QiWang19/set_engine_env
Set engine env from common config
2020-07-06 09:36:08 -04:00
OpenShift Merge Robot
262843e1ce
Merge pull request #6855 from Luap99/ps-command-trunc
podman ps truncate the command
2020-07-06 09:33:23 -04:00
Valentin Rothberg
0ef5def0be auto-update: clarify systemd-unit requirements
Clarify in the help message and the man page that auto updates only work
with systemd units that are similar to the ones from `generate systemd
--new`.  Units that merely start/stop a container do not work as they
will use the same image.

Fixes: #6793
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-07-06 11:14:33 +02:00
Paul Holzinger
b3dd42a797 podman ps truncate the command
With a long create command the
output from ps is basically unreadable.

This is a regression that was introduced with Podman 2.0.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-07-05 18:14:04 +02:00
Qi Wang
4192298be3 Set engine env from common config
Set the env that is used by Podman.
related issue containers/common#31

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-07-03 15:29:38 -04:00
Ashley Cui
9a1543caec Add --tz flag to create, run
--tz flag sets timezone inside container
Can be set to IANA timezone as well as `local` to match host machine

Signed-off-by: Ashley Cui <acui@redhat.com>
2020-07-02 13:30:59 -04:00
Daniel J Walsh
50157b2d33
Created timestamp returned by imagelist should be in unix format
In the API, we are currently returning the image time of creation
as a string, in time.Time format. The API is for a 64 bit integer
representing Unix time.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-30 13:59:30 -04:00