Commit Graph

2963 Commits

Author SHA1 Message Date
OpenShift Merge Robot
54bed1025d Merge pull request #10265 from matejvasek/fix-get-multiple-imgs-compat
fix: compat API "images/get" for multiple images
2021-05-08 06:20:19 -04:00
OpenShift Merge Robot
141d3f1ac3 Merge pull request #10259 from rhatdan/pull
Report Download complete in Compatibility mode
2021-05-07 15:06:51 -04:00
Matej Vasek
c8deab8296 fix: compat API "images/get" for multiple images
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-05-07 20:35:03 +02:00
OpenShift Merge Robot
0ce6a65b39 Merge pull request #10230 from matejvasek/fix-compat-img-get
fix: docker APIv2 `images/get`
2021-05-07 12:28:26 -04:00
Daniel J Walsh
3757d8820d Report Download complete in Compatibility mode
Fixes: https://github.com/containers/podman/issues/10258

[NO TESTS NEEDED] Difficult to create tests for this.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-07 11:53:19 -04:00
OpenShift Merge Robot
0c411278ce Merge pull request #10202 from EduardoVega/9763-kube-auto-update
Add support to preserve auto-update labels in play / generate kube
2021-05-07 05:36:26 -04:00
OpenShift Merge Robot
141ba94f97 Merge pull request #10221 from ashley-cui/envsec
Add support for environment variable secrets
2021-05-07 05:34:26 -04:00
Eduardo Vega
72f4f389f0 Adds support to preserve auto update labels in generate and play kube
In the case of generate kube the auto-update labels will be converted into kube annotations and for play kube they will be converted back to labels since that's what podman understands

Signed-off-by: Eduardo Vega <edvegavalerio@gmail.com>
2021-05-06 21:21:43 -06:00
OpenShift Merge Robot
034470e5be Merge pull request #9689 from boaz0/boaz-1
add restart-policy to container filters & --filter to podman start
2021-05-06 14:50:26 -04:00
Ashley Cui
2634cb234f Add support for environment variable secrets
Env var secrets are env vars that are set inside the container but not
commited to and image. Also support reading from env var when creating a
secret.

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-05-06 14:00:57 -04:00
Matej Vasek
9da542a78b fix pre review request
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-05-06 19:36:36 +02:00
OpenShift Merge Robot
8cc96bddc9 Merge pull request #10243 from giuseppe/simplify-channel
channel: simplify implementation
2021-05-06 09:23:04 -04:00
Boaz Shuster
efdc7d8465 Add restart-policy to container filters & --filter to podman start
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2021-05-06 14:35:15 +03:00
Giuseppe Scrivano
4fe9dc2fbc channel: simplify implementation
do not use recover() to prevent writing to a closed channel.  There is
already a lock, use it as well for Close and let Write check if the
channel is still active.

[NO TESTS NEEDED] it is a refactoring

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-06 11:51:15 +02:00
Giuseppe Scrivano
68accbf8e3 build: improve regex for iidfile
improve the regex to match only at the beginning of the line.

It prevents matching "Copying %s $CHECKSUM" messages returned by the
containers/image copy process.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-06 11:33:59 +02:00
OpenShift Merge Robot
ed6f399770 Merge pull request #10193 from rhatdan/runlabel
Fix handling of runlabel IMAGE and NAME
2021-05-05 16:47:59 -04:00
Matej Vasek
c58feddb7b fix: docker APIv2 images/get
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-05-05 22:03:11 +02:00
OpenShift Merge Robot
404bc2684e Merge pull request #10185 from rhatdan/volume
Add filepath glob support to --security-opt unmask
2021-05-05 15:38:11 -04:00
Daniel J Walsh
f8846bd17b Fix handling of runlabel IMAGE and NAME
Fixes: https://github.com/containers/podman/issues/10192

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-05 14:46:18 -04:00
OpenShift Merge Robot
dbc4a5d85b Merge pull request #10220 from giuseppe/rm-volatile
podman: set volatile storage flag for --rm containers
2021-05-05 14:28:10 -04:00
OpenShift Merge Robot
9d6588bc86 Merge pull request #10223 from giuseppe/improve-rootless-automatic-range-split
rootless: improve automatic range split
2021-05-05 13:22:10 -04:00
Giuseppe Scrivano
c2c0d50582 rootless: improve automatic range split
sort.Search returns the smallest index, so provide the available IDs
in decreasing order.

It fixes an issue when splitting the current mappings over multiple
available IDs.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-05 18:03:10 +02:00
Giuseppe Scrivano
68fe1950fe podman: set volatile storage flag for --rm containers
volatile containers are a storage optimization that disables *sync()
syscalls for the container rootfs.

If a container is created with --rm, then automatically set the
volatile storage flag as anyway the container won't persist after a
reboot or machine crash.

[NO TESTS NEEDED]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-05 17:58:39 +02:00
OpenShift Merge Robot
120e1b78ef Merge pull request #10208 from Luap99/play-kube-mac
add --mac-address to podman play kube
2021-05-05 10:10:16 -04:00
Valentin Rothberg
0f7d54b026 migrate Podman to containers/common/libimage
Migrate the Podman code base over to `common/libimage` which replaces
`libpod/image` and a lot of glue code entirely.

Note that I tried to leave bread crumbs for changed tests.

Miscellaneous changes:

 * Some errors yield different messages which required to alter some
   tests.

 * I fixed some pre-existing issues in the code.  Others were marked as
   `//TODO`s to prevent the PR from exploding.

 * The `NamesHistory` of an image is returned as is from the storage.
   Previously, we did some filtering which I think is undesirable.
   Instead we should return the data as stored in the storage.

 * Touched handlers use the ABI interfaces where possible.

 * Local image resolution: previously Podman would match "foo" on
   "myfoo".  This behaviour has been changed and Podman will now
   only match on repository boundaries such that "foo" would match
   "my/foo" but not "myfoo".  I consider the old behaviour to be a
   bug, at the very least an exotic corner case.

 * Futhermore, "foo:none" does *not* resolve to a local image "foo"
   without tag anymore.  It's a hill I am (almost) willing to die on.

 * `image prune` prints the IDs of pruned images.  Previously, in some
   cases, the names were printed instead.  The API clearly states ID,
   so we should stick to it.

 * Compat endpoint image removal with _force_ deletes the entire not
   only the specified tag.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-05 11:30:12 +02:00
Daniel J Walsh
4fd1965ab4 Add filepath glob support to --security-opt unmask
Want to allow users to specify --security-opt unmask=/proc/*.
This allows us to run podman within podman more securely, then
specifing umask=all, also gives the user more flexibilty.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-04 14:40:43 -04:00
Paul Holzinger
fb7d16c7a8 add --mac-address to podman play kube
Add a new --mac-address flag to podman play kube. This is used to specify
a static MAC 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 #9731

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-05-04 20:14:13 +02:00
OpenShift Merge Robot
af2418018b Merge pull request #8828 from boaz0/closes_8779
Add --all to podman start
2021-05-04 16:44:19 +02:00
Paul Holzinger
f185666da8 compat api: Networks must be empty instead of null
The compat endpoint for container inspect must return {} instead of null
for NetworkSettings.Networks.

Fixes #9837

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-05-04 11:25:12 +02:00
Boaz Shuster
0c116f40d3 is this a bug?
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2021-05-04 00:32:51 +03:00
Boaz Shuster
a726a3d79c Add --all to podman start
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
Co-authored-by: Ed Santiago <santiago@redhat.com>
2021-05-03 22:17:06 +03:00
OpenShift Merge Robot
6013692424 Merge pull request #10174 from rhatdan/volume
Remove unused VolumeList* structs
2021-04-30 17:20:06 +02:00
Daniel J Walsh
456f4052e5 Remove unused VolumeList* structs
[NO TESTS NEEDED] since we are just removing unused code.

Replaces: https://github.com/containers/podman/pull/9558

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-29 15:04:42 -04:00
OpenShift Merge Robot
4d2ba323f2 Merge pull request #10063 from ParkerVR/autoupdate-local
Autoupdate Local
2021-04-29 13:37:50 -04:00
OpenShift Merge Robot
c01b1cbfcd Merge pull request #10170 from ashley-cui/machineone
[NO TESTS NEEDED] Check if another VM is running on machine start
2021-04-29 09:52:14 -04:00
Parker Van Roy
caf19efdab TODO complete
changed struct to policyMapper
change "image" to "registry" in multiple locations

Updated documentation with registry alias & autoupdate local

Added relevant test

Signed-off-by: Parker Van Roy <pvanroy@redhat.com>
2021-04-29 02:40:11 -04:00
Daniel J Walsh
92371d6382 Docker returns 'die' status rather then 'died' status
In order to be more compatible with Docker, we should return a
container die status rather then a "container died", Too late to
change this for Podman.

Partially fixes: https://github.com/containers/podman/issues/10168

[NO TESTS NEEDED] No easy way to test this.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-28 15:56:19 -04:00
Ashley Cui
53057d5c20 Check if another VM is running on machine start
Only one VM can be up at a time. If another VM is running, or the current VM is running, error out on a podman machine start

[NO TESTS NEEDED]

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-04-28 15:09:10 -04:00
Parker Van Roy
14b9f9ad7e Autoupdate local label functional
Digests were used to compare local image and container image

Registry alias added for Image Policy

Refactored to integrate new feature + change some naming conventions

Tested this using a modified version of the docs autoupdate instructions & it worked successfully

Signed-off-by: Parker Van Roy <pvanroy@redhat.com>
2021-04-28 01:54:03 -04:00
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