Commit Graph

2924 Commits

Author SHA1 Message Date
OpenShift Merge Robot f613a2a8d5
Merge pull request #10119 from rhatdan/timeout
Add podman run --timeout option
2021-04-27 16:47:32 -04:00
OpenShift Merge Robot ba9c1f3f17
Merge pull request #10149 from rhatdan/volume
Allow docker volume create API to pass without name
2021-04-27 12:02:31 -04:00
Daniel J Walsh 825c84efe1
Allow docker volume create API to pass without name
The Docker API does not require Volume name to be specified when
creating a volume.

Fixes: https://github.com/containers/podman/issues/9803

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-27 10:32:06 -04:00
Andrej Shadura 09e640d1b5
rootless: Tell the user what was led to the error, not just what it is
Users coming e.g. from Docker do not always read the manual and
expect podman to not require sudo or uidmap, for them the default
message is not very helpful:

    Error: Cannot connect to the Podman socket, make sure there is a Podman REST API service running.:
    cannot find newuidmap: exec: "newuidmap": executable file not found in $PATH

Adding a bit more context to this would help to nudge them into the
right direction and tell them what to look for in the documentation:

    command required for rootless mode with multiple IDs: exec: "newuidmap": executable file not found in $PATH

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>

[NO TESTS NEEDED]
2021-04-27 11:20:43 +02:00
OpenShift Merge Robot 54344d3a64
Merge pull request #10074 from flouthoc/ancestor-truncate-bug
Fix podman ps --filter ancestor to match exact ImageName/ImageID
2021-04-26 20:23:54 -04:00
OpenShift Merge Robot 258a490fe4
Merge pull request #10125 from ashley-cui/machenabled
[NO TESTS NEEDED] Add machine-enabled to containers.conf for machine
2021-04-26 17:28:12 -04:00
OpenShift Merge Robot fef3ea80aa
Merge pull request #10081 from sjug/cdi_device_lib
Add support for CDI device configuration
2021-04-26 09:31:06 -04:00
OpenShift Merge Robot 333817a187
Merge pull request #10079 from giuseppe/create-userns-for-root-without-CAP_SYS_ADMIN
runtime: create userns when CAP_SYS_ADMIN is not present
2021-04-26 09:19:00 -04:00
Giuseppe Scrivano 722ea2f1f8
runtime: create userns when CAP_SYS_ADMIN is not present
when deciding to create a user namespace, check for CAP_SYS_ADMIN
instead of looking at the euid.

[NO TESTS NEEDED] Needs nested Podman

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-04-26 08:58:55 +02:00
Giuseppe Scrivano e4c269e2d0
rootless: attempt to copy current mappings first
when creating a user namespace, attempt to create it first by copying
the current mappings and then fallback to the other methods:

1) use newidmap tools and ...
2) create a user namespace with a single user mapped.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-04-26 08:58:54 +02:00
flouthoc b0ea40f551 Fix podman ps --filter ancestor to match exact ImageName/ImageID
Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2021-04-25 13:49:40 +05:30
Ashley Cui bd76701e89 Add machine-enabled to containers.conf for machine
Add machine-enabled=true into /etc/containers/containers.conf when
initing a VM. This field should tell Podman it's being run in a
podman-machine and it will be used in future to tell podman to set up
other necessary machine stuff such as networking

[NO TESTS NEEDED]

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-04-23 16:30:54 -04:00
Daniel J Walsh 3538815c5b
Add podman run --timeout option
This option allows users to specify the maximum amount of time to run
before conmon sends the kill signal to the container.

Fixes: https://github.com/containers/podman/issues/6412

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-23 11:18:05 -04:00
SoMuchForSubtlety 2df5c6383f Fix removal race condition in ListContainers
It is possible that a container is removed between fetching the
initial list of containers and the second access during conversion.

Closes #10120

[NO TESTS NEEDED]

Signed-off-by: Jakob Ahrer <jakob@ahrer.dev>
2021-04-23 10:14:19 +02:00
Giuseppe Scrivano 24f00e4695
rootless: if root is not sub?id raise a debug message
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-04-22 15:32:36 +02:00
Daniel J Walsh 9c8277247d
Fixes from make codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-21 13:16:33 -04:00
OpenShift Merge Robot 544c315665
Merge pull request #10080 from rhatdan/remote
podman-remote should show podman.sock info
2021-04-21 08:05:35 -04:00
Daniel J Walsh 659dc7843c
podman-remote should show podman.sock info
Currently podman-remote info does not show socket information.

Fixes: https://github.com/containers/podman/issues/10077

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-20 15:56:45 -04:00
Nalin Dahyabhai fd9dd7065d rmi: don't break when the image is missing a manifest
In libpod/image.Image.Remove(), if the attempt to find the image's
parent fails for any reason, log a warning and proceed as though it
didn't have one instead of failing, which would leave us unable to
remove the image without resetting everything.

In libpod/Runtime.RemoveImage(), if we can't determine if an image has
children, log a warning, and assume that it doesn't have any instead of
failing, which would leave us unable to remove the image without
resetting everything.

In pkg/domain/infra/abi.ImageEngine.Remove(), when attempting to remove
all images, if we encounter an error checking if a given image has
children, log a warning, and assume that it doesn't have any instead of
failing, which would leave us unable to remove the image without
resetting everything.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2021-04-20 15:44:39 -04:00
Sebastian Jug db7cff8c86
Add support for CDI device configuration
- Persist CDIDevices in container config
- Add e2e test
- Log HasDevice error and add additional condition for safety

Signed-off-by: Sebastian Jug <seb@stianj.ug>
2021-04-20 09:18:52 -04:00
OpenShift Merge Robot a94360a3f7
Merge pull request #10041 from chenk008/add_pidfile_flag
Add flag "--pidfile" for podman create/run
2021-04-19 16:22:05 -04:00
OpenShift Merge Robot a917bae67d
Merge pull request #10025 from zhangguanzhang/remote-save-dir
Fixes podman-remote save to directories does not work
2021-04-19 10:22:52 -04:00
Eduardo Vega 18d462c41b Ensure mount destination is clean, no trailing slash
Signed-off-by: Eduardo Vega <edvegavalerio@gmail.com>
2021-04-18 09:57:04 -06:00
OpenShift Merge Robot 6ff56ab50a
Merge pull request #10018 from jmguzik/more-network-bindings-tests
Add network bindings tests: remove and list
2021-04-17 06:35:49 -04:00
OpenShift Merge Robot 676c33f079
Merge pull request #10043 from Luap99/play-kube-ip
add --ip to podman play kube
2021-04-17 05:52:51 -04:00
Paul Holzinger d7292dbf27 add --ip to podman play kube
Add a new --ip flag to podman play kube. This is used to specify a
static IP address which should be used for the pod. This option can be
specified several times because play kube can create more than one pod.

Fixes #8442

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-04-16 09:55:03 +02:00
wuhua.ck 8fbe06b8cb add flag "--pidfile" for podman create/run
Signed-off-by: chenkang <kongchen28@gmail.com>
2021-04-16 13:43:14 +08:00
Jakub Guzik 1af1c35efb Add network bindings tests: remove and list
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-04-15 22:41:06 +02:00
OpenShift Merge Robot 373f15f617
Merge pull request #10010 from lsm5/GO111MODULE-OFF-fix-build
fix build with with GO111MODULE=off
2021-04-15 16:03:10 -04:00
Lokesh Mandvekar 501b4751a3 Fix build with GO111MODULE=off
Distro builds on Fedora and Kubic projects use GO111MODULE=off
by default which are currently failing. This commit fixes it and
going forward, podman CI will also indicate failures in rpm builds.

The additional LDFLAGS have been removed  from the spec file
which is not ideal. But, currently we only use the spec file
to check if the rpm builds fine. We can fix the LDFLAGS in a
later commit when we're working on packit integration.

conmon build has also been removed from podman.spec.in because the COPR
for which it was provided has been discontinued.

[NO TESTS NEEDED]

Fixes: #10009

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-04-15 14:24:39 -04:00
Paul Holzinger 1685c2dc36 podman play kube apply correct log driver
The --log-driver flag was silently ignored by podman play kube. This
regression got introduced during the play kube rework.
Unfortunately the test for this was skipped for no good reason.

Fixes #10015

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-04-15 18:24:22 +02:00
OpenShift Merge Robot 405331ff90
Merge pull request #10032 from nalind/trace-level
Recognize "trace" logging, and use it for lone errors at exit
2021-04-15 09:08:37 -04:00
zhangguanzhang 21827f6a0c Fixes podman-remote save to directories does not work
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2021-04-15 19:24:46 +08:00
Daniel J Walsh 855a5a89dd
Fix flake on failed podman-remote build : try 2
This time we are checking if the function actually succeeded,
otherwise we will report an error.

Also if we did not get the id, report unexpected failure.

[NO TESTS NEEDED] Still no good way to test this, but manually.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-14 16:51:13 -04:00
Nalin Dahyabhai 9b3226a80a pkg/errorhandling.JoinErrors: don't throw away context for lone errors
When our multierror contains just one error, don't extract its text only
to rewrap it, because doing so discards any stack trace information that
might have been added closer to where the error actually originated.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2021-04-14 13:45:36 -04:00
Daniel J Walsh 4347a62e08
Fix flake on failed podman-remote build
We have a race condition where podman build can fail
but still return an exit code of 0.  This PR ensures
that as soon as the build fails, the failed flag is set
eliminating the race.

Fixes: https://github.com/containers/podman/issues/10029

[NO TESTS NEEDED] Tests of failed builds are already in place, and
the elimination of the race should be enough.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-14 12:05:59 -04:00
OpenShift Merge Robot 4ee203dde7
Merge pull request #9945 from rhatdan/runlabel
Fix handling of $NAME and $IMAGE in runlabel
2021-04-14 10:47:50 -04:00
Matthew Heon 40e5ae30d5 Remove in-memory state implementation
We originally added this in the *very early* days of Podman,
before a proper persistent state was written, so we had something
to test with. It was retained after the original SQLite state
(and current BoltDB state) were written so it could be used for
testing Libpod in unit tests with no requirement for on-disk
storage. Well, such unit tests never materialized, and if we were
to write some now the requirement to have a temporary directory
for storing data on disk is not that bad. I can basically
guarantee there are no users of this in the wild because, even if
you managed to figure out how to configure it when we don't
document it, it's completely unusable with Podman since all your
containers and pods will disappear every time Podman exits.

Given all this, and since it's an ongoing maintenance burden I no
longer wish to deal with, let's just remove it.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-04-13 14:00:38 -04:00
Jakub Guzik 9d74825c7e Reflect current state of prune implementation in docs
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-04-13 09:16:25 +02:00
Jhon Honce 59283322e7 [CI:DOCS] Correct status code for /pods/create
Swagger documentation reported that the API endpoint /pods/create
returned 200 while the as-built code returned 201. 201 is more
correct so documentation updated.

Tests already checked for 201 so no updated needed.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-04-12 09:33:51 -07:00
OpenShift Merge Robot bd3dcb9ec4
Merge pull request #9969 from jwhonce/wip/manifests
Update manifest API endpoints
2021-04-12 16:17:22 +02:00
OpenShift Merge Robot 0ac73f25eb
Merge pull request #9988 from jmguzik/prune-filters-bindings-net
Add network prune filters support to bindings
2021-04-12 15:50:22 +02:00
Daniel J Walsh 8f16742187
Fix handling of $NAME and $IMAGE in runlabel
Fixes: https://github.com/containers/podman/issues/9405

Add system runlabel tests.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-12 08:41:08 -04:00
OpenShift Merge Robot 9d3e310710
Merge pull request #9935 from EduardoVega/5788-kube-volume
Add support for play/generate kube PersistentVolumeClaims and Podman volumes
2021-04-12 12:36:20 +02:00
OpenShift Merge Robot 3b03ff7d1e
Merge pull request #9950 from Luap99/unshare-rootless-cni
podman unshare: add --rootless-cni to join the ns
2021-04-12 12:33:20 +02:00
Jakub Guzik 94b9726306 Add network prune filters support to bindings
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-04-10 00:21:35 +02:00
Eduardo Vega 61cb6d61dd Add support for play/generate kube volumes
Signed-off-by: Eduardo Vega <edvegavalerio@gmail.com>
2021-04-09 14:01:13 -06:00
Jhon Honce d41c33eb91 Update manifest API endpoints
* Add validation for manifest name
* Always return an array for manifests even if empty
* Add missing return in df handler when returning error. Caused an
  additional null to be written to client crashing python decoder.

When c/image is refactored to include manifests, manifest endpoints should
be revisited.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-04-09 11:00:06 -07:00
Giuseppe Scrivano ce747466a9
cgroups: force 64 bits to ParseUint
[NO TESTS NEEDED]

force bitsSize==64 so that the string is always parsed to a uint64
instead of using the native int size, that could be not big enough on
32 bits arches.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-04-09 10:09:54 +02:00
OpenShift Merge Robot 002180f02a
Merge pull request #9971 from jwhonce/wip/df
Add missing return
2021-04-08 17:15:22 -04:00