Commit Graph

1583 Commits

Author SHA1 Message Date
OpenShift Merge Robot
1ba6d0f883 Merge pull request #4722 from giuseppe/drop-arbitrary-limit
libpod: drop arbitrary memory limit of 4M
2019-12-19 19:57:58 +01:00
Giuseppe Scrivano
b7e6566906 libpod: drop arbitrary memory limit of 4M
drop the arbitrary limit of 4M for creating a container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-12-17 15:07:43 +01:00
Valentin Rothberg
437bc61f4e container config: add CreateCommand
Store the full command plus arguments of the process the container has
been created with.  Expose this data as a `Config.CreateCommand` field
in the container-inspect data as well.

This information can be useful for debugging, as we can find out which
command has created the container, and, if being created via the Podman
CLI, we know exactly with which flags the container has been created
with.

The immediate motivation for this change is to use this information for
`podman-generate-systemd` to generate systemd-service files that allow
for creating new containers (in contrast to only starting existing
ones).

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-12-13 14:39:45 +01:00
OpenShift Merge Robot
f81f15f422 Merge pull request #4677 from baude/execenvfile
allow exec to read files of environment variables
2019-12-11 21:22:59 +01:00
baude
a332825ff5 allow exec to read files of environment variables
we want the ability to define environment variables in files for the
exec command.

Fixes: #1782408

Signed-off-by: baude <bbaude@redhat.com>
2019-12-11 09:21:24 -06:00
baude
8be7b466d8 move image filters under libpod/images
to make things more effecient for the api work we are doing, we should
process image filters internally (as opposed to in main).  this allows
for better api responses and more closely affiliated functions.

Signed-off-by: baude <bbaude@redhat.com>
2019-12-10 13:05:18 -06:00
OpenShift Merge Robot
c2dab75f0e Merge pull request #4517 from baude/macvlan
macvlan networks
2019-12-09 07:53:55 -08:00
baude
ef872dcd21 macvlan networks
add the ability to a macvlan network with podman network create.

Signed-off-by: baude <bbaude@redhat.com>
2019-12-09 08:40:40 -06:00
Marco Vedovati
7fa5d9b39d Use terminal detach keys sequence specified in the config file
Fixes: #4556

Signed-off-by: Marco Vedovati <mv@sba.lat>
2019-12-06 09:30:26 +01:00
OpenShift Merge Robot
c9696c451d Merge pull request #4596 from kunalkushwaha/container-prune
container prune command fixed as per docker prune command
2019-12-02 18:33:58 -08:00
OpenShift Merge Robot
8d00c838fb Merge pull request #4608 from rhatdan/vendor
Fix podman-remote version to print client and server
2019-12-02 17:57:44 +01:00
OpenShift Merge Robot
e4275b3453 Merge pull request #4493 from mheon/add_removing_state
Add ContainerStateRemoving
2019-12-02 16:31:11 +01:00
Daniel J Walsh
b9b2ab5e5f Fix podman-remote version to print client and server
If the user specifies .Server.* on a non podman-remote,
substitute .Client for .Server and return the value.
This is for compatability with Docker.

Since prior versions documented --format {{ .Version }}, we
have to continue to support that.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-12-02 15:50:00 +01:00
OpenShift Merge Robot
39c705e940 Merge pull request #4558 from rhatdan/reset
Add podman system reset command
2019-11-29 15:05:03 +01:00
Daniel J Walsh
79bf5010ed Add podman system reset command
This command will destroy all data created via podman.
It will remove containers, images, volumes, pods.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-11-29 05:34:52 -05:00
Sascha Grunert
d264dc1c0a Do not initialize store on rootless podman
This fixes a double-locking issue of the container storage when running
rootless podman.

Closes #4591

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-11-29 08:59:38 +01:00
Kunal Kushwaha
10c37a2c93 filter added to container prune command
filter flag helps to filter the containers based on
labels, until(time), name, etc for prune command.

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2019-11-29 15:28:55 +09:00
Kunal Kushwaha
0602ce4dc0 command output fixed as per docker equivalent
container prune command ask for confirmation by default.

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2019-11-28 11:45:26 +09:00
OpenShift Merge Robot
2178875fa7 Merge pull request #4568 from openSUSE/history
Add support for image name history
2019-11-27 15:31:22 +01:00
Sascha Grunert
63e46cc85c Add support for image name history
We leverage the containers/storage image history tracking feature to
show the previously used image names when running:
`podman images --history`

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-11-27 13:42:06 +01:00
OpenShift Merge Robot
27a09f8fab Merge pull request #4443 from QiWang19/prune_pod
Remove containers when pod prune & pod rm.
2019-11-26 20:43:28 +01:00
OpenShift Merge Robot
07c63583dd Merge pull request #4475 from rhatdan/tmpdir
Add missing information to podman.1 man page
2019-11-26 19:42:36 +01:00
Qi Wang
d9400cced2 Remove containers when pruning a stopped pod.
This path allows pod prune & pod rm to remove stopped containers in the pod before deleting the pod.
PrunePods and RemovePod should be able to remove containers without force removal of stopped pods.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-11-26 13:19:31 -05:00
OpenShift Merge Robot
aef38585ed Merge pull request #4514 from mheon/discard_cleanup_errors
Discard errors from Shutdown in `system renumber`
2019-11-26 05:36:30 +01:00
Valentin Rothberg
a3d13fb286 podman {pod,} rm/stop: add --ignore flag
Add an --ignore flag to podman rm and stop. When specified, Podman will
ignore "no such {container,pod}" errors that occur when a specified
container/pod is not present in the store (anymore).  The motivation
behind adding this flag is to write more robust systemd services using
Podman.  A user might have manually decided to remove a container/pod
which would lead to a failure during the `ExecStop` directive of a
systemd service referencing that container/pod.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-11-25 09:48:13 +01:00
Matthew Heon
e953828d0d Discard errors from Shutdown in system renumber
Every other Podman command discards errors from Shutdown, which
will error if containers are running. Mirror that behavior, just
ignore the errors.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-11-22 17:27:06 -05:00
OpenShift Merge Robot
ef240f4cd0 Merge pull request #4512 from kunalkushwaha/prune-filter
image prune command fixed as per docker image prune.
2019-11-22 21:56:12 +01:00
Kunal Kushwaha
5082496cc0 filter added to image pruge command.
filter option accepts two filters.
- label
- until
label supports "label=value" or "label=key=value" format
until supports all golang compatible time/duration formats.

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2019-11-22 17:36:27 +09:00
Matthew Heon
25cc43c376 Add ContainerStateRemoving
When Libpod removes a container, there is the possibility that
removal will not fully succeed. The most notable problems are
storage issues, where the container cannot be removed from
c/storage.

When this occurs, we were faced with a choice. We can keep the
container in the state, appearing in `podman ps` and available for
other API operations, but likely unable to do any of them as it's
been partially removed. Or we can remove it very early and clean
up after it's already gone. We have, until now, used the second
approach.

The problem that arises is intermittent problems removing
storage. We end up removing a container, failing to remove its
storage, and ending up with a container permanently stuck in
c/storage that we can't remove with the normal Podman CLI, can't
use the name of, and generally can't interact with. A notable
cause is when Podman is hit by a SIGKILL midway through removal,
which can consistently cause `podman rm` to fail to remove
storage.

We now add a new state for containers that are in the process of
being removed, ContainerStateRemoving. We set this at the
beginning of the removal process. It notifies Podman that the
container cannot be used anymore, but preserves it in the DB
until it is fully removed. This will allow Remove to be run on
these containers again, which should successfully remove storage
if it fails.

Fixes #3906

Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-11-19 15:38:03 -05:00
OpenShift Merge Robot
f3f219a67c Merge pull request #4523 from vrothberg/systemd-improvements
podman rm/stop --cidfile
2019-11-19 13:13:51 +01:00
Valentin Rothberg
061bf77588 podman rm/stop --cidfile
Add a --cidfile flag to podman rm/stop to pass a container ID via a
file.  Podman run already provides the functionaly to store the ID
in a specified file which we now complete with rm/stop.  This allows
for a better life-cycle management in systemd services.  Note that
--cdifile can be specified multiple times to rm/stop.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-11-18 14:44:08 +01:00
OpenShift Merge Robot
c6f2383213 Merge pull request #4505 from vrothberg/arch
container create: os/arch check
2019-11-16 17:36:12 +01:00
OpenShift Merge Robot
51c08f3be6 Merge pull request #4368 from haircommander/pod-annotations
Add pod annotations to container
2019-11-15 19:41:39 +01:00
Valentin Rothberg
96ab0c64b4 container create: os/arch check
Unless explicitely overridden, check if the image's OS and architecture
and throw an errors in case of a mismatch.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-11-12 17:57:31 -05:00
Dmitry Smirnov
8d928d525f codespell: spelling corrections
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
2019-11-13 08:15:00 +11:00
Kunal Kushwaha
472a721bdd warning added before image prune command
Warning message added before executing image prune
Added a force option, to execute without user input.

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2019-11-12 14:13:49 +09:00
OpenShift Merge Robot
b713e5371f Merge pull request #4408 from slimjim2234/master
Fixed issue #4391; podman info --format '{{ json . }}'
2019-11-08 23:16:03 +01:00
OpenShift Merge Robot
f456ce90f9 Merge pull request #4337 from QiWang19/check_auth_path
fix bug check nonexist authfile
2019-11-08 22:06:34 +01:00
OpenShift Merge Robot
651d6ebe52 Merge pull request #4427 from rst0git/docs-rm-v
docs: Update "podman container rm -v" description
2019-11-08 21:49:15 +01:00
Peter Hunt
900a04fcfd Add pod annotations to container
We have the annotations SandboxID, let's use them. This also allows kata containers to be created in pods and share a VM with the infra container. Note: as of now, this sharing only works if the pod has an infra container

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-11-08 13:53:38 -05:00
Daniel J Walsh
2087e92ff3 Add missing information to podman.1 man page
Add missing options.
Define the use of the TMPDIR environment variable for the storing of container images
when they are being pulled to the system.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-11-08 08:48:57 -05:00
Peter Hunt
dcf3c742b1 Split up create config handling of namespaces and security
As it stands, createconfig is a huge struct. This works fine when the only caller is when we create a container with a fully created config. However, if we wish to share code for security and namespace configuration, a single large struct becomes unweildy, as well as difficult to configure with the single createConfigToOCISpec function.

This PR breaks up namespace and security configuration into their own structs, with the eventual goal of allowing the namespace/security fields to be configured by the pod create cli, and allow the infra container to share this with the pod's containers.

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-11-07 21:23:23 -05:00
OpenShift Merge Robot
d919961f62 Merge pull request #4451 from giuseppe/set-mac
podman: add support for specifying MAC
2019-11-07 20:26:14 +01:00
OpenShift Merge Robot
769d4218ff Merge pull request #4468 from nalind/image-digests
podman images --digest: always list a digest
2019-11-07 18:16:41 +01:00
OpenShift Merge Robot
a889fd397a Merge pull request #4441 from rhatdan/detach
Allow users to disable detach keys
2019-11-07 15:16:36 +01:00
Nalin Dahyabhai
5e3e41daee podman images --digest: always list a digest
When we're asked to display image digests, always provide them if we
have values that we can provide.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-11-06 17:36:04 -05:00
Jakub Filak
2497b6c77b podman: add support for specifying MAC
I basically copied and adapted the statements for setting IP.

Closes #1136

Signed-off-by: Jakub Filak <jakub.filak@sap.com>
2019-11-06 16:22:19 +01:00
Valentin Rothberg
eb9235fc63 help message: don't parse the config for cgroup-manager default
Do not generate an entire `config.Config` for displaying the default
value for the --cgroup-manager flag and just default to systemd. Not
using the `config.Config` is okay as 1) the value may change at runtime
in any case (rootless, DBUS access, etc.), 2) it avoids to redundantly
parse the system config files and to generate the hard-coded default
config, and 3) the log-level and other attributes are not yet set during
init() causing undesirable side effects.

Fixes: #4456
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-11-06 09:00:12 +01:00
Qi Wang
d7c0f968ca fix bug check nonexist authfile
Use GetDefaultAuthFile() from buildah.
For podman command(except login), if authfile does not exist returns error.

close #4328

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-11-05 21:32:18 -05:00
Daniel J Walsh
7c623bd41f Allow users to disable detach keys
If user specifies --detach-keys="", this will disable the feature.

Adding define.DefaultDetachKeys to help screen to help identify detach keys.

Updated man pages with additonal information.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-11-05 14:10:43 -05:00