Commit Graph

580 Commits

Author SHA1 Message Date
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 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
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
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 606cee93bf Move handling of ReadOnlyTmpfs into new mounts code
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 30257cf073 Ensure that named volumes have their options parsed
This involves moving some code out of pkg/spec/ into util/ so it
can also be used by libpod.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 2698c82240 Add options parsing for tmpfs mounts
This ensures that all tmpfs mounts added by the user, even with
the --mount flag, share a few common options (nosuid, noexec,
nodev), and options for tmpfs mounts are properly validated to
ensure they are correct.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 7a421a807c Use EqualValues instead of reflect equality
Same result, but notably better error messages when things go
wrong.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 13451cab5c Hit a number of to-do comments in unified volumes code
As part of this, move bind mount option validity parsing and
modification (adding e.g. rbind on bind mounts that are missing
it), which requires test changes (expected values have changed).

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 70beb57faa Fix options for non-bind and non-tmpfs volumes
We were unconditionally resetting volume mount options for all
mount points (and by the looks of things, completely dropping
tmpfs mounts), which was causing runc to refuse to run containers
and all the tests to consequently fail.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04: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
Matthew Heon 71f65ab07f Always pass pod into MakeContainerConfig
Play kube was passing the pod, but CreateConfig was not. Unify it
so they both do, so we can remove some unnecessary duplicate
lookup code.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:16:23 -04:00
Matthew Heon 4540458a5e Remove non-config fields from CreateConfig
The goal here is to keep only the configuration directly used to
build the container in CreateConfig, and scrub temporary state
and helpers that we need to generate. We'll keep those internally
in MakeContainerConfig.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:16:23 -04:00
Matthew Heon 869466eb25 Add a new function for converting a CreateConfig
Right now, there are two major API calls necessary to turn a
filled-in CreateConfig into the options and OCI spec necessary to
make a libpod Container. I'm intending on refactoring both of
these extensively to unify a few things, so make a common
frontend to both that will prevent API changes from leaking out
of the package.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:16:23 -04:00
baude adbc41a3f7 podman-remote port
add the port command to the remote client.  this allows users to displa
port information about their host system from the remote client

Signed-off-by: baude <bbaude@redhat.com>
2019-05-01 09:13:18 -05:00
James Cassell 354d80626a auto pass http_proxy into container
Signed-off-by: James Cassell <code@james.cassell.me>
2019-04-30 17:29:29 -04:00
baude 0b6bb6a3d3 enable podman-remote on windows
build a podman-remote binary for windows that allows users to use the
remote client on windows and interact with podman on linux system.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-30 15:28:39 -05:00
OpenShift Merge Robot e509eb25e7
Merge pull request #2995 from jwhonce/wip/cleanup
Refactor container cleanup to use latest functions
2019-04-30 20:10:27 +02:00
OpenShift Merge Robot 75189d5b97
Merge pull request #3026 from baude/remotestartattach
Fix remote-client testing reports
2019-04-30 19:48:27 +02:00
Jhon Honce 1b2419ceb1 Refactor container cleanup to use latest functions
Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-04-30 08:21:14 -07:00
OpenShift Merge Robot 084e4e16a1
Merge pull request #2982 from baude/remotecontainerprune
podman-remote prune containers
2019-04-30 15:16:29 +02:00
OpenShift Merge Robot e0312334cc
Merge pull request #3025 from rhatdan/read-only
Add --read-only-tmpfs options
2019-04-29 02:38:14 -07:00
Giuseppe Scrivano f49e0c19ed
runtime: pass down the context
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-26 22:23:49 +02:00
Daniel J Walsh 3a4be4b66c
Add --read-only-tmpfs options
The --read-only-tmpfs option caused podman to mount tmpfs on /run, /tmp, /var/tmp
if the container is running int read-only mode.

The default is true, so you would need to execute a command like

--read-only --read-only-tmpfs=false to turn off this behaviour.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-04-26 12:29:10 -04:00
baude 4f2666bec0 Fix remote-client testing reports
Ensure when using remote attach --no-stdin a mock device is used to
prevent stdin and not nil.  This fixes issue #3009.

When starting a container with the remote client, if the container is
already running and the user asks to attach, we should just attach.
This fixes issue #3011

Signed-off-by: baude <bbaude@redhat.com>
2019-04-26 10:39:29 -05:00
baude 2e800d63aa podman-remote prune containers
enable the ability to prune containers from the remote-command.  this
also includes the system prune command.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-26 10:15:09 -05:00
baude c4dd7c5813 enable podman remote top
add the ability for the remote client to display a container's running
processes.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-25 14:44:14 -05:00
OpenShift Merge Robot 01e79477ca
Merge pull request #2850 from baude/eventsjournald
journald event logging
2019-04-25 12:20:39 -07:00
Nalin Dahyabhai 5c81a117f1 images: add context to GetParent/IsParent/Remove/Prune...
Add a context.Context parameter to Image.GetParent(), Image.IsParent(),
Image.GetChildren(), Image.Remove(), and Runtime.PruneImages().

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-04-25 08:57:58 -04:00
baude 7bf7c177ab journald event logging
add the ability for podman to read and write events to journald instead
of just a logfile.  This can be controlled in libpod.conf with the
`events_logger` attribute of `journald` or `file`.  The default will be
set to `journald`.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-24 16:00:04 -05:00
OpenShift Merge Robot b01fdcbbd5
Merge pull request #2973 from baude/remoterestart
podman remote-client restart containers
2019-04-24 13:59:06 -07:00
baude 18d66136c1 podman remote-client restart containers
add the ability to restart containers with the remote-client

Signed-off-by: baude <bbaude@redhat.com>
2019-04-24 13:30:18 -05:00
Matthew Heon 4f69c07996 Fix podman stop --all attempting to stop created ctrs
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-04-24 12:51:41 -04:00
Jhon Honce 69962682e9 Refactor of 'podman prune' to better support remote
* Push iterations into the service not the client
* Add e2e tests
* Refactor to use new frameworks

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-04-18 15:13:56 -07:00
OpenShift Merge Robot e4947e5fd6
Merge pull request #2948 from baude/remotepause
podman-remote pause|unpause
2019-04-18 14:17:41 -07:00
baude 55e630e787 podman-remote pause|unpause
Add the ability to pause and unpause containers with the remote client.

Also turned on the pause tests!

Signed-off-by: baude <bbaude@redhat.com>
2019-04-18 13:42:27 -05:00
Giuseppe Scrivano 0dfb61d806
rootless: not close more FDs than needed
we were previously closing as many FDs as they were open when we first
started Podman in the range (3-MAX-FD).  This would cause issues if
there were empty intervals, as these FDs are later on used by the
Golang runtime.  Store exactly what FDs were first open in a fd_set,
so that we can close exactly the FDs that were open at startup.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-18 14:32:46 +02:00
OpenShift Merge Robot bf5ffdafb4
Merge pull request #2917 from baude/remotestart
podman-remote start
2019-04-17 10:13:18 -07:00
baude 3c0147e559 podman-remote start
enable the ability to start containers from the remote-client.  also,
enable start integration tests for remote testing.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-17 11:08:54 -05:00
Peter Hunt 4319552cf8 Added remote pod prune
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-04-16 11:23:18 -04:00
Peter Hunt 0b34b4a59c Add podman pod prune
podman system prune would leave pods be, and not prune them if they were stopped.
Fix this by adding a `podman pod prune` command that prunes stopped pods similarly to containers.

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-04-16 11:23:18 -04:00
Giuseppe Scrivano 187de9f98e
cmd, pkg: drop commented code
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-15 13:00:54 +02:00
OpenShift Merge Robot eed8bbf3f9
Merge pull request #2927 from giuseppe/fix-tty-rootless
Revert "rootless: set controlling terminal for podman in the userns"
2019-04-14 06:21:41 -07:00
OpenShift Merge Robot f929b9e4d5
Merge pull request #2501 from mtrmac/fixed-hook-order
RFC: Make hooks sort order locale-independent
2019-04-14 03:09:41 -07:00
Giuseppe Scrivano 9e79530f8f
Revert "rootless: set controlling terminal for podman in the userns"
This reverts commit 531514e823.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-14 07:48:37 +02:00
OpenShift Merge Robot 4daf788022
Merge pull request #2830 from baude/remotecheckpoint
remote-client checkpoint/restore
2019-04-13 03:23:42 -07:00
OpenShift Merge Robot 37598ab896
Merge pull request #2915 from giuseppe/rootless-do-not-block-sigtstp
rootless: do not block SIGTSTP
2019-04-13 03:07:48 -07:00
OpenShift Merge Robot 852ca40665
Merge pull request #2910 from giuseppe/fix-create-2-containers
create: fix segfault if container name already exists
2019-04-13 01:32:37 -07:00
Giuseppe Scrivano 0a7b5b4e08
create: fix segfault if container name already exists
do not try to use ctr if there was an error.  It fixes a segfault when
there is already a container with the same name.

regression introduced by: ba65301c95

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-12 22:14:00 +02:00
OpenShift Merge Robot 89ffcf9df9
Merge pull request #2903 from baude/remotegenkube
podman-remote generate kube
2019-04-12 11:03:20 -07:00
baude 80b2c097fe podman-remote generate kube
Allow the ability to generate kube YAML from the podman remote-client.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-12 12:05:09 -05:00
Giuseppe Scrivano 814066ee3b
rootless: do not block SIGTSTP
we were previously proxying all the signals, but doing that for
SIGTSTP prevented the main process to be stopped by the tty.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-12 18:20:40 +02:00
Giuseppe Scrivano 531514e823
rootless: set controlling terminal for podman in the userns
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-12 18:20:28 +02:00
OpenShift Merge Robot 272f10f1bb
Merge pull request #2902 from baude/remoteattachfixes
Fixes for podman-remote run and attach
2019-04-11 13:06:39 -07:00
baude 495f2ce515 Fixes for podman-remote run and attach
Fixes the ability to run (create,start) a container and attach to its
console correctly.  We can now also exit from the console without
hanging the remote client.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-11 13:51:50 -05:00
baude 72d08d4c61 remote-client checkpoint/restore
add the ability for the remote client to be able to checkpoint and
restore containers.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-11 10:13:58 -05:00
Giuseppe Scrivano 2c9c40dc82
spec: mask /sys/kernel when bind mounting /sys
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-11 15:55:34 +02:00
Giuseppe Scrivano 42eb9eaf29
oci: add /sys/kernel to the masked paths
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-11 15:52:36 +02:00
baude fbcda7772d Add the ability to attach remotely to a container
Also, you can now podman-remote run -it.  There are some bugs that need
to be ironed out but I would prefer to merge this so we can make both
progress on start and exec as well as the bugs.

* when doing podman-remote run -it foo /bin/bash, you have to press
enter to get the prompt to display. with the localized podman, we had to
teach it connect to the console first and then start the container so we
did not miss anything.

* when executing "exit" in the console, we get a hard lockup likely
because nobody knows what to do.

* custom detach keys are not supported

* podman-remote run -it alpine ls does not currently work.  only
dropping to a shell works.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-10 08:59:28 -05:00
OpenShift Merge Robot 2f2c7660c3
Merge pull request #2882 from baude/remoteps
podman-remote ps
2019-04-10 04:24:56 -07:00
baude 23cd1928ec podman-remote ps
add the ability to run ps on containers using the remote client.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-09 15:00:35 -05:00
Miloslav Trmač 97c9115c02 Potentially breaking: Make hooks sort order locale-independent
Don't sort OCI hooks using the locale collation order; it does not
make sense for the same system-wide directory to be interpreted differently
depending on the user's LC_COLLATE setting, and the language-specific
collation order can even change over time.

Besides, the current collation order determination code has never worked
with the most common LC_COLLATE values like en_US.UTF-8.

Ideally, we would like to just order based on Unicode code points
to be reliably stable, but the existing implementation is case-insensitive,
so we are forced to rely on the unicode case mapping tables at least.

(This gives up on canonicalization and width-insensitivity, potentially
breaking users who rely on these previously documented properties.)

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2019-04-09 21:08:44 +02:00
Jhon Honce 09ff62429a Implement podman-remote rm
* refactor command output to use one function
* Add new worker pool parallel operations
* Implement podman-remote umount
* Refactored podman wait to use printCmdOutput()

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-04-09 11:55:26 -07:00
OpenShift Merge Robot c94903ab45
Merge pull request #2861 from baude/varlinkimagepanic
Correct varlink pull panic
2019-04-08 10:51:55 -07:00
OpenShift Merge Robot 8eb03d3e53
Merge pull request #2746 from baude/remotecreate
podman-remote create|run
2019-04-08 10:16:34 -07:00
OpenShift Merge Robot 60e5492743
Merge pull request #2841 from openSUSE/ginkgo-unit
Update registrar unit tests to match them of cri-o
2019-04-08 07:28:10 -07:00
baude ba65301c95 podman-remote create|run
add the ability to create and run containers via the podman-remote
client.

we now create an intermediate layer from the the create/run cli flags.
the intermediate layer can be converted into a createconfig or into a
varlink struct.  Once transported, the varlink struct can be converted
back to an intermediate layer and then to a createconfig.

remote terminals are not supported yet.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-08 09:05:31 -05:00
baude 340c6cfb72 Correct varlink pull panic
when pulling a non-existent image via varlink, we had a panic because
when we detected a pull error we sent the error over a channel but still
tried to deduce the image id on a nil object.

Fixes: #2860

Signed-off-by: baude <bbaude@redhat.com>
2019-04-08 08:37:36 -05:00
OpenShift Merge Robot bf3593ef8d
Merge pull request #2831 from baude/remotetree
podman-remote image tree
2019-04-04 13:00:25 -07:00
baude dc94dbd3c1 podman-remote image tree
add the ability for the podman-remote client to be able to print an
image tree.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-04 14:41:50 -05:00
Matthew Heon 1fdc89f616 Drop LocalVolumes from our the database
We were never using it. It's actually a potentially quite sizable
field (very expensive to decode an array of structs!). Removing
it should do no harm.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-04-04 12:27:20 -04:00
Matthew Heon 42c95eed2c Major rework of --volumes-from flag
The flag should be substantially more durable, and no longer
relies on the create artifact.

This should allow it to properly handle our new named volume
implementation.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-04-04 12:27:20 -04:00
Matthew Heon 7309e38ddd Add handling for new named volumes code in pkg/spec
Now that named volumes must be explicitly enumerated rather than
passed in with all other volumes, we need to split normal and
named volumes up before passing them into libpod. This PR does
this.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-04-04 12:26:29 -04:00
OpenShift Merge Robot 1759eb09e1
Merge pull request #2706 from giuseppe/rootless-single-usernamespace
rootless: single user namespace
2019-04-04 09:21:09 -07:00
OpenShift Merge Robot 756a11c26f
Merge pull request #2819 from openSUSE/cri-o-annotations
Update cri-o annotations
2019-04-04 00:47:46 -07:00
Sascha Grunert 88b0e74e0b
Update registrar unit tests to match them of cri-o
- Add the test framework abstraction
- Update the unit tests to run with ginkgo

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-04-04 08:53:32 +02:00
baude 576a80b0d7 add remote-client diff
the remote client now can run the diff command to report changes,
modifications, and deletions in an image or container.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-03 09:52:38 -05:00
Giuseppe Scrivano 72382a12a7
rootless: use a single user namespace
simplify the rootless implementation to use a single user namespace
for all the running containers.

This makes the rootless implementation behave more like root Podman,
where each container is created in the host environment.

There are multiple advantages to it: 1) much simpler implementation as
there is only one namespace to join.  2) we can join namespaces owned
by different containers.  3) commands like ps won't be limited to what
container they can access as previously we either had access to the
storage from a new namespace or access to /proc when running from the
host.  4) rootless varlink works.  5) there are only two ways to enter
in a namespace, either by creating a new one if no containers are
running or joining the existing one from any container.

Containers created by older Podman versions must be restarted.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-01 15:32:58 +02:00
Giuseppe Scrivano ed326206f2
rootless: remove SkipStorageSetup()
in the few places where we care about skipping the storage
initialization, we can simply use the process effective UID, instead
of relying on a global boolean flag.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-01 13:24:04 +02:00
Sascha Grunert 3600596b35
Update cri-o annotations
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-04-01 11:10:54 +02:00
OpenShift Merge Robot 284dea453d
Merge pull request #2797 from giuseppe/rootless-set-sticky
rootless: set sticky bit on rundir
2019-03-29 07:48:12 -07:00
OpenShift Merge Robot 6ab27c6355
Merge pull request #2796 from mheon/fix_cni_multinetwork
Ensure that we make a netns for CNI non-default nets
2019-03-29 04:26:30 -07:00
Giuseppe Scrivano ca38ca49b8
utils: call GetRootlessRuntimeDir once
use a sync.Once to potentially avoid multiple system calls everytime
the function is called.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-03-29 12:01:13 +01:00
OpenShift Merge Robot fdf979a791
Merge pull request #2786 from giuseppe/change-rootless-env-names
rootless: change env prefix
2019-03-28 17:00:31 -07:00
OpenShift Merge Robot df5b6e29a6
Merge pull request #2784 from QiWang19/digest
fix bug remote-podman images --digests
2019-03-28 16:51:31 -07:00
Matthew Heon e25924f31c Fix lint
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-03-28 18:01:36 -04:00
Matthew Heon beb263554e Ensure that we make a netns for CNI non-default nets
We accidentally patched this out trying to enable ns:/path/to/ns

This should restore the ability to configure nondefault CNI
networks with Podman, by ensuring that they request creation of a
network namespace.

Completely remove the WithNetNS() call when we do use an explicit
namespace from a path. We use that call to indicate that a netns
is going to be created - there should not be any question about
whether it actually does.

Fixes #2795

Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-03-28 17:39:56 -04:00
Giuseppe Scrivano ce0ca0d459
rootless: change env prefix
from _LIBPOD to _CONTAINERS.  The same change was done in buildah
unshare.

This is necessary for podman to detect we are running in a rootless
environment and work properly from a "buildah unshare" session.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-03-28 17:08:20 +01:00
Valentin Rothberg a5443a532b vendor buildah, image, storage, cni
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-03-28 15:12:26 +01:00
Qi Wang fd7a9c4a96 fix bug remote-podman images --digests
Add `digest` field to Image struct and update API.md
Show image digests when using --digests in podman-remote.

```
$ PODMAN_VARLINK_ADDRESS="tcp:127.0.0.1:1234" sudo bin/podman-remote images --digests
REPOSITORY                  TAG      DIGEST                                                                    IMAGE ID       CREATED       SIZE
docker.io/library/alpine    latest   sha256:d05ecd4520cab5d9e5d877595fb0532aadcd6c90f4bbc837bc11679f704c4c82   5cb3aa00f899   2 weeks ago   5.79 MB
docker.io/library/busybox   latest   sha256:4415a904b1aca178c2450fd54928ab362825e863c0ad5452fd020e92f7a6a47e   d8233ab899d4   5 weeks ago   1.42 MB
```

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-03-27 23:09:35 -04:00
Matthew Heon 5ed62991dc Remove ulele/deepcopier in favor of JSON deep copy
We have a very high performance JSON library that doesn't need to
perform code generation. Let's use it instead of our questionably
performant, reflection-dependent deep copy library.

Most changes because some functions can now return errors.

Also converts cmd/podman to use jsoniter, instead of pkg/json,
for increased performance.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-27 20:00:31 -04:00
Matthew Heon 0cd92eae65 Resolve review comments
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-27 10:12:18 -04:00
Matthew Heon 236300d028 Add --no-hosts flag to disable management of /etc/hosts
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-27 10:12:18 -04:00
Matthew Heon 16a7c7ff82 Add for --dns=none to disable creation of resolv.conf
Support in libpod was added in the previous commit. Wire it into
the frontend here.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-27 10:12:18 -04:00
baude 7f2221d48f size is optional for container inspection
on the remote client, if a user wants to know the rootfs size of a
container, a -s should be passed.  this corrects a behavior where size
was shown by default.

Fixes #2765

Signed-off-by: baude <bbaude@redhat.com>
2019-03-26 10:14:58 -05:00
baude e730fc6093 Add "died" event
We have a new event for container 'Exited' which has been renamed to
'died'.

also removed the stream bool from the varlink endpoint for events
because it can be determined by the varlink more value.

Signed-off-by: baude <bbaude@redhat.com>
2019-03-25 10:28:50 -05:00