Commit Graph

1583 Commits

Author SHA1 Message Date
Giuseppe Scrivano
9dabb16e65 system: migrate stops the pause process
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-17 20:48:25 +02:00
Giuseppe Scrivano
791d53a214 rootless: use a pause process
use a pause process to keep the user and mount namespace alive.

The pause process is created immediately on reload, and all successive
Podman processes will refer to it for joining the user&mount
namespace.

This solves all the race conditions we had on joining the correct
namespaces using the conmon processes.

As a fallback if the join fails for any reason (e.g. the pause process
was killed), then we try to join the running containers as we were
doing before.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-17 20:48:24 +02:00
OpenShift Merge Robot
144244aeed Merge pull request #3104 from giuseppe/initial-cgroup2
rootless: allow resource isolation with cgroup v2
2019-05-17 19:54:13 +02:00
Valentin Rothberg
8f7f86d8cd remote: version: fix nil dereference
Fix a nil dereference by passing the PodmanCommand to GetRuntime().

Fixes: #3145
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-05-17 11:32:30 +02:00
Jhon Honce
a1c654de94 Add connection information to podman-remote info
Refactor client code to break out building connection string from
making the connection.

Example:

client:
  Connection: unix:/run/podman/io.podman
  Connection Type: DirectConnection
  .
  :

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-05-16 11:03:22 -07:00
Giuseppe Scrivano
8b344065d2 unshare: define CONTAINERS_GRAPHROOT and CONTAINERS_RUNROOT
define two environment variables, that simplify the task of cleaning
up the storage, as we can do something like:

podman unshare sh -c 'rm -rf $CONTAINERS_GRAPHROOT $CONTAINERS_RUNROOT'

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-16 16:31:21 +02:00
Giuseppe Scrivano
4b48024057 unshare: use rootless from libpod
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-16 15:58:46 +02:00
Divyansh Kamboj
2a961a7113 Add unshare to podman
This command lets the user run a command in a new user namespace like `unshare -u`.
It uses the implementation of unshare in buildah. ( fixes #1388 )

Signed-off-by: Divyansh Kamboj <kambojdivyansh2000@gmail.com>
2019-05-16 13:38:31 +05:30
OpenShift Merge Robot
a261b60cc8 Merge pull request #3096 from edsantiago/varlink_usage
varlink: fix usage message, URI is now optional
2019-05-14 13:59:22 +02:00
Ed Santiago
6b15f01a61 varlink: fix usage message, URI is now optional
38199f4c made the URI argument to podman-varlink optional.
Fix the usage message to indicate this.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-05-13 08:26:14 -06:00
Giuseppe Scrivano
0cb11dec44 podman: fix events help string
make it uppercase as all the other ones.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-13 10:48:20 +02:00
Giuseppe Scrivano
0e8f4ddaa9 rootless: default --cgroup-manager=systemd in unified mode
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-13 10:48:17 +02:00
Giuseppe Scrivano
42e65c57c2 create: skip resources validation with cgroup v2
skip resources validation when cgroup v2 is detected, as we don't
support it yet.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-13 10:48:17 +02:00
OpenShift Merge Robot
d54a2d2f81 Merge pull request #3041 from QiWang19/cpdash
implement cp reads tar file from stdin/to stdout
2019-05-09 19:35:53 +02:00
OpenShift Merge Robot
d8a065dab3 Merge pull request #3087 from jwhonce/wip/version
Add information when running `podman version` on client
2019-05-09 17:02:58 +02:00
Qi Wang
4479b8eec3 implement cp reads tar file from stdin/stdout
enables podman cp uses - to stream a tar archive from STDIN or to STDOUT.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-05-09 10:12:39 -04:00
Jhon Honce
d202e010af Add information when running podman version on client
* Include service version information and headers

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-05-08 11:29:03 -07:00
baude
38199f4c28 add varlink bridge
allow the user to define a remote host and remote username for their
remote podman sessions.  this is then feed to the varlink "bridge" as
the ssh credentials and endpoint.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-08 13:12:08 -05:00
OpenShift Merge Robot
74dc9a45e3 Merge pull request #2977 from baude/makeitrain
enable integration tests for remote-client
2019-05-07 22:21:36 +02:00
baude
bc7b1ca03d enable integration tests for remote-client
first pass at enabling a swath of integration tests for the
remote-client.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-07 14:06:02 -05:00
baude
2dfb744d8c fix podman-remote ps --ns
the namespace for the remote client was being incorrectly derived from
the "remote" client.

fixes: #2938

Signed-off-by: baude <bbaude@redhat.com>
2019-05-07 12:38:58 -05:00
baude
d370f10efa remote-podman checkpoint and restore add to container submenu
the remote-podman checkpoint and restore commands were done some time
ago but for some reason not added to the container subcommand

Signed-off-by: baude <bbaude@redhat.com>
2019-05-06 14:54:02 -05:00
OpenShift Merge Robot
4aa90145bf Merge pull request #2826 from mheon/restart_policy
Add restart policy for containers
2019-05-03 23:14:12 +02:00
OpenShift Merge Robot
2658e870d2 Merge pull request #2971 from QiWang19/logoutcheck
fix logout message if login only with docker
2019-05-03 20:29:41 +02:00
Qi Wang
a6a3269c4e fix logout message if login only with docker
if checkAuth() success but not logged in with podman, assume it's logged in with docker and retrun the message.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-05-03 12:52:19 -04:00
Matthew Heon
d7c367aa61 Address review comments on restart policy
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-03 10:36:16 -04:00
Matthew Heon
948fb5ee64 Restart policy conflicts with the --rm flag
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-03 10:36:16 -04:00
Matthew Heon
0d73ee40b2 Add container restart policy to Libpod & Podman
This initial version does not support restart count, but it works
as advertised otherwise.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-03 10:36:16 -04:00
OpenShift Merge Robot
0eaba2d56a Merge pull request #3034 from vrothberg/top-fallback
top: fallback to execing ps(1)
2019-05-03 15:16:53 +02:00
OpenShift Merge Robot
a7809fabe5 Merge pull request #2905 from QiWang19/globalvar
Add variable for global flags to runlabel
2019-05-03 11:30:51 +02:00
OpenShift Merge Robot
4877e6a947 Merge pull request #3061 from baude/parsecleanup
clean up shared/parse/parse.go
2019-05-03 11:20:53 +02:00
Valentin Rothberg
0d2d523390 top: fallback to execing ps(1)
Fallback to executing ps(1) in case we hit an unknown psgo descriptor.
This ensures backwards compatibility with docker-top, which was purely
ps(1) driven.

Also support comma-separated descriptors as input.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-05-03 11:20:16 +02:00
OpenShift Merge Robot
f3c494eb28 Merge pull request #2959 from mheon/merge_volume_flags
Merge volume flags implementation
2019-05-03 01:30:13 +02:00
baude
3b247d0e20 clean up shared/parse/parse.go
prune unused functions and add unit tests for a number of the remaining
ones.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-02 16:13:26 -05:00
OpenShift Merge Robot
139eeb3eb3 Merge pull request #3051 from mheon/podman_migrate_fixes
Small fixes for #2950
2019-05-02 22:48:12 +02:00
baude
c18ad2bfd9 Generate systemd unit files for containers
the podman generate systemd command will generate a systemd unit file
based on the attributes of an existing container and user inputs.  the
command outputs the unit file to stdout for the user to copy or
redirect.  it is enabled for the remote client as well.

users can set a restart policy as well as define a stop timeout
override for the container.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-02 14:35:53 -05:00
OpenShift Merge Robot
ccf28a89bd Merge pull request #3039 from mheon/podman_init
Add podman init command
2019-05-02 20:45:44 +02:00
OpenShift Merge Robot
3cec403268 Merge pull request #3058 from TomSweeneyRedHat/dev/tsweeney/buidah1.8.1
Bump Buildah to v1.8.1, ImageBuilder to v1.1.0
2019-05-02 20:23:16 +02:00
OpenShift Merge Robot
f4f06be9f2 Merge pull request #3035 from baude/remoteport
podman-remote port
2019-05-02 19:58:19 +02:00
Matthew Heon
1e6413e3fd Add an InvalidState varlink error for Init
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-02 13:13:32 -04:00
TomSweeneyRedHat
9e620ba89e Bump Buildah to v1.8.1, ImageBuilder to v1.1.0
As the title suggests.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-05-02 12:27:50 -04:00
Qi Wang
a477a8ff75 Add variable for global flags to runlabel
use $GLOBAL_OPTS to pass global flags to the runlabel command.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-05-02 12:14:51 -04:00
OpenShift Merge Robot
bd5d029889 Merge pull request #3047 from jamescassell/http-proxy-fixup
http-proxy: improve docs
2019-05-02 17:47:29 +02:00
Chris Evich
7f157dbe46 Remove two bits of dead code
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-02 09:26:06 -04:00
James Cassell
cf982f1480 http-proxy: improve docs
Signed-off-by: James Cassell <code@james.cassell.me>
2019-05-01 20:56:57 -04:00
Matthew Heon
416cc20c68 Small fixes for #2950
We merged #2950 with some nits still remaining, as Giuseppe was
going on PTO. This addresses those small requested changes.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 15:07:30 -04:00
Matthew Heon
0b2c9c2acc Add basic structure of podman init command
As part of this, rework the number of workers used by various
Podman tasks to match original behavior - need an explicit
fallthrough in the switch statement for that block to work as
expected.

Also, trivial change to Podman cleanup to work on initialized
containers - we need to reset to a different state after cleaning
up the OCI runtime.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 11:12:24 -04:00
OpenShift Merge Robot
ad68036a88 Merge pull request #3031 from baude/remotewindows
enable podman-remote on windows
2019-05-01 16:20:41 +02:00
Matthew Heon
2e00d417dd Migrate unit tests from cmd/podman into pkg/spec
Several changes made in the interface of pkg/spec make
interacting with it without a runtime difficult to impossible,
so move the existing limited testing from cmd/podman (which
mostly tested pkg/spec) into pkg/spec itself where we can call
individual functions that don't break things.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon
9ee50fe2c7 Migrate to unified volume handling code
Unify handling for the --volume, --mount, --volumes-from, --tmpfs
and --init flags into a single file and set of functions. This
will greatly improve readability and maintainability.

Further, properly handle superceding and conflicting mounts. Our
current patchwork has serious issues when mounts conflict, or
when a mount from --volumes-from or an image volume should be
overwritten by a user volume or named volume.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00