Commit Graph

4330 Commits

Author SHA1 Message Date
OpenShift Merge Robot 72f4c77139
Merge pull request #15360 from m0duspwnens/api_compat_containers
api: return imageID instead of imageName, for "Image" when Podman api is queried
2022-09-01 10:58:33 +02:00
Urvashi Mohnani 84352a81c9 Set enableServiceLinks to false in generated yaml
Since podman doesn't set/use the needed service env
variable, always set enableServiceLinks to false in
the generated kube yaml.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2022-08-31 14:02:13 -04:00
OpenShift Merge Robot 8266dbe7a9
Merge pull request #15473 from umohnani8/empty-dir
Add emptyDir volume support to kube play
2022-08-31 09:36:04 -04:00
OpenShift Merge Robot 6bda96ab18
Merge pull request #15510 from vrothberg/fix-15485
podman rmi: emit untag events
2022-08-31 09:19:10 -04:00
Jason Ertel 368fa6074d
Merge branch 'containers:main' into api_compat_containers 2022-08-30 14:12:01 -04:00
Urvashi Mohnani 98169c20dd Add emptyDir volume support to kube play
When a kube yaml has a volume set as empty dir, podman
will create an anonymous volume with the empty dir name and
attach it to the containers running in the pod. When the pod
is removed, the empy dir volume created is also removed.

Add tests and docs for this as well.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2022-08-30 10:34:45 -04:00
Giuseppe Scrivano e015c9e3f7
podman: add uid and gid options to keep-id
add two new options to the keep-id user namespace option:

- uid: allow to override the UID used inside the container.
- gid: allow to override the GID used inside the container.

For example, the following command will map the rootless user (that
has UID=0 inside the rootless user namespace) to the UID=11 inside the
container user namespace:

$ podman run --userns=keep-id:uid=11 --rm -ti  fedora cat /proc/self/uid_map
         0          1         11
        11          0          1
        12         12      65525

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-30 14:39:27 +02:00
Ed Santiago a240146a2d e2e tests: try to deflake 5000
We keep getting flakes in tests that use port 5000. Try to
find and fix, by switching ports where possible, and locking
5000 when not possible (or not easy) to switch.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-29 14:11:46 -06:00
Josh Patterson 0e53c8c735 Merge remote-tracking branch 'upstream/main' into api_compat_containers 2022-08-29 15:48:02 -04:00
Jason Ertel 08af95f635
updated apiv2 tests to reflect hash compat fix
Signed-off-by: Jason Ertel <jason.ertel@securityonionsolutions.com>
2022-08-29 14:10:33 -04:00
OpenShift Merge Robot cf20e6ed39
Merge pull request #15481 from edsantiago/test_cleanup_apiv2
APIv2 test cleanup, part 2 of 2
2022-08-29 07:08:51 -04:00
OpenShift Merge Robot e78363d24c
Merge pull request #15516 from kubealex/handle-connected-network
Handle an already connected network in libpod API
2022-08-29 06:56:15 -04:00
Alessandro Rossi 78aec21302 Fix #15499 already connected network
Compat: Treat already attached networks as a no-op
Applies only to containers in created state. Maintain error in running state.

Co-authored-by: Alessandro Rossi <al.rossi87@gmail.com>
Co-authored-by: Brent Baude <bbaude@redhat.com>
Co-authored-by: Jason T. Greene <jason.greene@redhat.com>
Signed-off-by: Alessandro Rossi <al.rossi87@gmail.com>
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-08-27 20:03:40 -05:00
Valentin Rothberg 0ee9a3129b podman rmi: emit untag events
Emit untag events for each tag when removing an image.

Fixes: #15485
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-27 13:40:50 +02:00
Aditya R e00272cd99
remote: fix implementation of build with --userns=auto for API
`podman-remote` and Libpod API does not supports build with
`--userns=auto` since `IDMappingOptions` were not implemented for API
and bindings, following PR implements passing `IDMappingOptions` via
bindings to API.

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

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-26 16:53:40 +05:30
OpenShift Merge Robot 339797c016
Merge pull request #15490 from rhatdan/codespell
Run codespell
2022-08-26 05:20:40 -04:00
Matthew Heon c7fda06f66 Compat API image remove events now have 'delete' status
Change only the compat API, so we don't force a breaking change
on Libpod API users.

Partial fix for #15485

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2022-08-25 16:59:26 -04:00
Daniel J Walsh 9553f3bafa
Run codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-25 16:32:31 -04:00
Ed Santiago e634470fae APIv2 test cleanup, part 2 of 2
This finishes the removal of curls and exits.

Please please please, everyone, if you see a 'curl' or 'exit'
in any new PR, reject the PR and tell me immediately so I can
help the developer do it the proper way.

Also, removed some very-very-wrong USER/UID code. Both are
reserved variables in bash. You cannot override them.

Also, added a cleanup to a system-connection test. I wasted
a lot of time because my podman-remote stopped working, all
because I had run this test as part of something unrelated.

Also, found and fixed dangerously-broken timeout code.
Implemented a new mechanism for requiring a timeout.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-25 11:07:11 -06:00
OpenShift Merge Robot e652eec438
Merge pull request #15468 from edsantiago/test_cleanup_bats
System test cleanup
2022-08-25 10:29:33 -04:00
Valentin Rothberg d122aa4935
Merge pull request #15469 from edsantiago/test_cleanup_apiv2
APIv2 test cleanup
2022-08-25 10:23:33 +02:00
Ed Santiago 010d495a34 APIv2 test cleanup
Whole slew of bugs that got introduced while I wasn't paying
attention. Most of them are of the form "let's use hand-crafted
curl commands and do our own error checking and exit uncleanly
on error and leave the system in an unstable state". To be
fair, those were done because there was no existing mechanism
for uploading JSON files or somesuch. So, add one.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-24 15:15:00 -06:00
Ed Santiago a933269ba5 System test cleanup
Misspellings, broken code, missing tests

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-24 14:48:13 -06:00
Giuseppe Scrivano 35b4f26c70
test: use private instead of slave for the mount
using "slave" means that every mount operation on the host that
happens between the mount creation for `/host` and running `findmnt`
will be propagated to the container mount.  To prevent new mounts on
the host to appear in the container thus invalidating the test we
have, just create the mount as private and use `/sys` as source as it
has multiple mounts on the top but less likely to get new mounts once
it is configured.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-24 22:24:09 +02:00
Daniel J Walsh 46bfd3d0cf
Merge pull request #15454 from vrothberg/bump-psgo
vendor containers/psgo@v1.7.3
2022-08-24 14:27:37 -04:00
OpenShift Merge Robot 361eb42619
Merge pull request #15434 from rhatdan/manifest1
Allow podman to run in an environment with keys containing spaces
2022-08-24 13:29:20 -04:00
Giuseppe Scrivano ea67d84f5a
test: fix comment
it is not a kernel bug.

Rootless users are not allowed to use non recursive bind mounts,
otherwise they would be able to uncover mounts that were not visible
before to them.

[CI:DOCS] it is just a comment fix.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-24 17:39:15 +02:00
Valentin Rothberg 88e4e4c82e vendor containers/psgo@v1.7.3
Add three new capabilities that would otherwise be reported as unknown.

Also add an e2e test making sure that `podman top` knows all
capabilities of the current kernel.  I refrained from adding a system
test since this may blow up in gating tests.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-24 17:13:58 +02:00
OpenShift Merge Robot 082388a159
Merge pull request #15439 from rhatdan/service
Fix documentation of use of tcp connections
2022-08-24 09:59:31 -04:00
OpenShift Merge Robot 0f92cf22a6
Merge pull request #15437 from mheon/default_volume_timeout
Add support for containers.conf volume timeouts
2022-08-24 09:35:57 -04:00
OpenShift Merge Robot 67c4068bb3
Merge pull request #15443 from flouthoc/env-merge-support
run,create: add support for `--env-merge` for preprocessing default environment variables
2022-08-24 09:14:42 -04:00
OpenShift Merge Robot e4cbbe7862
Merge pull request #15447 from sstosh/e2e-memswap
e2e: Add run --memory-swap test
2022-08-24 08:48:57 -04:00
OpenShift Merge Robot d4e54fa999
Merge pull request #15351 from marshall-lee/images-pull-simple
Simplify ImagesPull for when Quiet flag is on
2022-08-24 06:00:03 -04:00
Toshiki Sonoda e1c206d982 e2e: Add run --memory-swap test
There is not e2e/system test of --memory-swap option.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-24 18:15:21 +09:00
Aditya R b4584ea854
run,create: add support for --env-merge for preprocessing vars
Allow end users to preprocess default environment variables before
injecting them into container using `--env-merge`

Usage
```
podman run -it --rm --env-merge some=${some}-edit --env-merge
some2=${some2}-edit2 myimage sh
```

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

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-24 14:06:25 +05:30
Daniel J Walsh 8b1e88bf80
Fix documentation of use of tcp connections
Fixes: https://github.com/containers/podman/issues/15430

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-23 16:12:08 -04:00
Matthew Heon 0f73935563 Add support for containers.conf volume timeouts
Also, do a general cleanup of all the timeout code. Changes
include:
- Convert from int to *uint where possible. Timeouts cannot be
  negative, hence the uint change; and a timeout of 0 is valid,
  so we need a new way to detect that the user set a timeout
  (hence, pointer).
- Change name in the database to avoid conflicts between new data
  type and old one. This will cause timeouts set with 4.2.0 to be
  lost, but considering nobody is using the feature at present
  (and the lack of validation means we could have invalid,
  negative timeouts in the DB) this feels safe.
- Ensure volume plugin timeouts can only be used with volumes
  created using a plugin. Timeouts on the local driver are
  nonsensical.
- Remove the existing test, as it did not use a volume plugin.
  Write a new test that does.

The actual plumbing of the containers.conf timeout in is one line
in volume_api.go; the remainder are the above-described cleanups.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2022-08-23 15:42:00 -04:00
Daniel J Walsh 65efcdf709
Allow podman to run in an environment with keys containing spaces
Fixes: https://github.com/containers/podman/issues/15251

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-23 14:44:23 -04:00
OpenShift Merge Robot 5dea1218a0
Merge pull request #15426 from nicrowe00/14955
podman kube play/down --read from URL
2022-08-23 11:12:50 -04:00
OpenShift Merge Robot 8a32e516f7
Merge pull request #15415 from cdoern/clone
pass environment variables to container clone
2022-08-23 11:04:31 -04:00
OpenShift Merge Robot 5948320951
Merge pull request #15384 from sstosh/options-cgroupsv1-rootless
Warning messages are printed and ignored if we use an unsupported option on cgroups V1 rootless systems
2022-08-23 09:42:47 -04:00
Niall Crowe 5f719b533e podman kube play/down --read from URL
`podman kube play` can create pods and containers from YAML
read from a URL poiniting to a YAML file.
For example: `podman kube play https://example.com/demo.yml`.
`podman kube down` can also teardown pods and containers created
from that YAML file by also reading YAML from a URL, provided the
YAML file the URL points to has not been changed or altered since
it was used to create pods and containers

Closes #14955
Signed-off-by: Niall Crowe <nicrowe@redhat.com>
2022-08-23 12:55:53 +01:00
Aditya R 70e103c04c
inspect, image: alias .Config.HealthCheck to .HealthCheck for compatibility
Support inspecting image healthcheck using docker supported
`.Config.HealthCheck` by aliasing field to `.HealthCheck`

Now supports

```Console
podman image inspect -f "{{.Config.Healthcheck}}" imagename
```

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

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-23 13:39:01 +05:30
Toshiki Sonoda 64339d47c1 Warning messages are printed and ignored if we use an unsupported option
When an unsupported limit on cgroups V1 rootless systems
is requested, podman prints an warning message and
ignores the option/flag.

```
  Target options/flags:
    --cpu-period, --cpu-quota, --cpu-rt-period, --cpu-rt-runtime,
    --cpus, --cpu-shares, --cpuset-cpus, --cpuset-mems, --memory,
    --memory-reservation, --memory-swap, --memory-swappiness,
    --blkio-weight, --device-read-bps, --device-write-bps,
    --device-read-iops, --device-write-iops, --blkio-weight-device
```

Related to https://github.com/containers/podman/discussions/10152

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-23 11:54:31 +09:00
OpenShift Merge Robot 51d4b88ce9
Merge pull request #15392 from ashley-cui/quiet
Add quiet/q flag to podman secret ls
2022-08-22 15:46:47 -04:00
Charlie Doern 53369aaa15 pass environment variables to container clone
the env vars are held in the spec rather than the config, so they need to be mapped manually. They are also of a different format so special handling needed to be added. All env from the parent container will now be passed to the clone.

resolves #15242

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-22 14:27:42 -04:00
OpenShift Merge Robot e9fe85d53a
Merge pull request #15363 from rhatdan/secret
podman secret create -d alias --driver, inspect -f alias --format: Docker compatibity
2022-08-22 13:36:05 -04:00
Ashley Cui eee0ec97e8 Add quiet/q flag to podman secret ls
Add quiet/q flag to podman secret ls, which will print only the secret
ID.

Signed-off-by: Ashley Cui <acui@redhat.com>
2022-08-22 09:13:00 -04:00
Valentin Rothberg 1f76ad40a9 fix CI: remove hardcodeded alpine version
The apiv2 test hardcoded the tag of the alpine image.
Remove it to unblock CI.

Fixes: #15388
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-22 10:12:25 +02:00
Vladimir Kochnev 3bf52aa338
Add ProgressWriter to PullOptions
Signed-off-by: Vladimir Kochnev <hashtable@yandex.ru>
2022-08-19 00:41:22 +03:00
Ed Santiago 09ef6fc66c podman generate kube - add actual tests
This exposed a nasty bug in our system-test setup: Ubuntu (runc)
was writing a scratch containers.conf file, and setting CONTAINERS_CONF
to point to it. This was well-intentionedly introduced in #10199 as
part of our long sad history of not testing runc. What I did not
understand at that time is that CONTAINERS_CONF is **dangerous**:
it does not mean "I will read standard containers.conf and then
override", it means "I will **IGNORE** standard containers.conf
and use only the settings in this file"! So on Ubuntu we were
losing all the default settings: capabilities, sysctls, all.

Yes, this is documented in containers.conf(5) but it is such
a huge violation of POLA that I need to repeat it.

In #14972, as yet another attempt to fix our runc crisis, I
introduced a new runc-override mechanism: create a custom
/etc/containers/containers.conf when OCI_RUNTIME=runc.
Unlike the CONTAINERS_CONF envariable, the /etc file
actually means what you think it means: "read the default
file first, then override with the /etc file contents".
I.e., we get the desired defaults. But I didn't remember
this helpers.bash workaround, so our runc testing has
actually been flawed: we have not been testing with
the system containers.conf. This commit removes the
no-longer-needed and never-actually-wanted workaround,
and by virtue of testing the cap-drops in kube generate,
we add a regression test to make sure this never happens
again.

It's a little scary that we haven't been testing capabilities.

Also scary: this PR requires python, for converting yaml to json.
I think that should be safe: python3 'import yaml' and 'json'
works fine on a RHEL8.7 VM from 1minutetip.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-18 09:43:55 -06:00
OpenShift Merge Robot f63da351f2
Merge pull request #15364 from rhatdan/stats
Add podman stats --no-trunc option
2022-08-17 21:46:21 +00:00
Daniel J Walsh 0dd2fcf715
Add podman manifest create -a. Alias for --amend:Docker compatibility
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-17 15:02:53 -04:00
Daniel J Walsh 546bb3548c
Add podman stats --no-trunc option
This is for compatibility with Docker.

Partial fix for https://github.com/containers/podman/issues/14917

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-17 13:16:01 -04:00
Daniel J Walsh f6e7b0b59d
Add podman secret inspect -f alias for --format: Docker compatibility
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-17 12:49:30 -04:00
Daniel J Walsh d50ff4f512
Add podman secret create -d as alias for --driver for Docker compatibility
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-17 12:44:42 -04:00
OpenShift Merge Robot 5de215e144
Merge pull request #15341 from rhatdan/kube
Fix podman kube generate --help to show correct help message
2022-08-17 16:35:34 +00:00
Lokesh Mandvekar 2a6daa1e31
Cirrus: add podman_machine_aarch64
Run machine tests on every PR as label-driven machine test
triggering is currently hard to predict and debug.

Co-authored-by: Ed Santiago <santiago@redhat.com>
Co-authored-by: Miloslav Trmač <mitr@redhat.com>
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2022-08-17 09:11:06 -04:00
OpenShift Merge Robot c90eec2700
Merge pull request #14999 from sstosh/restart-option
Add restart --cidfile, --filter
2022-08-17 09:41:54 +00:00
Nalin Dahyabhai 7e7a79b075 podman manifest create: accept --amend and --insecure flags
Accept a --amend flag in `podman manifest create`, and treat
`--insecure` as we would `--tls-verify=false` in `podman manifest`'s
"add", "create", and "push" subcommands.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2022-08-16 19:45:36 -04:00
Daniel J Walsh 5f09d9b60d
Fix podman kube generate --help to show correct help message
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-16 16:03:48 -04:00
Ed Santiago 06b3a4c1cf system tests: fix broken runc test
Followup to #14613, which was never actually tested until this
week in RHEL8 gating tests (see issue #15337).

 * add missing backslash in '|' expression
 * allow extra text after error (e.g., "invalid argument")

No way to test this until it makes its way into RHEL8,
so, fingers crossed.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-16 10:53:05 -06:00
OpenShift Merge Robot 3dace12777
Merge pull request #15317 from rhatdan/debug
Add compatibility support for --debug flag from docker
2022-08-16 15:09:12 +00:00
OpenShift Merge Robot d0567dd078
Merge pull request #15270 from nicrowe00/kubegenerate
Add "podman kube generate" command
2022-08-16 13:04:41 +00:00
Daniel J Walsh 2d30b4dee5
Add compatibility support for --debug -D flag from docker
This is another fix for https://github.com/containers/podman/issues/14917

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-15 08:21:15 -04:00
Daniel J Walsh b9c094a5d4
Add Docker compatibility for --dns-option to --dns-opt
Fixes one of the issues found in https://github.com/containers/podman/issues/14917
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-15 07:38:08 -04:00
Toshiki Sonoda 0dbbb1cb3f Add restart --cidfile, --filter
--cidfile : Read container ID from the specified file and restart the container.
--filter : restart the filtered container.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-12 09:22:53 +09:00
OpenShift Merge Robot 57387da27e
Merge pull request #15285 from YoitoFes/fix-15210
remote manifest push: show copy progress
2022-08-11 19:53:17 +00:00
Niall Crowe d856fb43e1 Add "podman kube generate" command
"podman kube generate" creates Kubernetes YAML from Podman containers,
pods or volumes. Users will still be able to use "podman generate
kube" as an alias of "kube generate".

Signed-off-by: Niall Crowe <nicrowe@redhat.com>
2022-08-11 16:58:24 +01:00
Naoto Kobayashi a4efd401cd remote manifest push: show copy progress
`podman-remote manifest push` has shown absolutely no progress at all.
Fix that by doing the same as the remote-push code does.

Like remote-push, `quiet` parameter is true by default for backwards
compatibility.

Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2022-08-11 20:35:13 +09:00
Valentin Rothberg 79e21b5b16 kube play: sd-notify integration
Integrate sd-notify policies into `kube play`.  The policies can be
configured for all contianers via the `io.containers.sdnotify`
annotation or for indidivual containers via the
`io.containers.sdnotify/$name` annotation.

The `kube play` process will wait for all containers to be ready by
waiting for the individual `READY=1` messages which are received via
the `pkg/systemd/notifyproxy` proxy mechanism.

Also update the simple "container" sd-notify test as it did not fully
test the expected behavior which became obvious when adding the new
tests.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-10 21:12:39 +02:00
Valentin Rothberg 3fc126e152 libpod: allow the notify socket to be passed programatically
The notify socket can now either be specified via an environment
variable or programatically (where the env is ignored).  The
notify mode and the socket are now also displayed in `container inspect`
which comes in handy for debugging and allows for propper testing.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-10 21:10:17 +02:00
OpenShift Merge Robot 89ab5c9fab
Merge pull request #12865 from rhatdan/crun
I believe that these tests will now run with crun.
2022-08-10 10:38:46 +00:00
OpenShift Merge Robot aa13c73f71
Merge pull request #14926 from cdoern/generateSpec
podman generate spec
2022-08-10 10:23:18 +00:00
Daniel J Walsh 25f6fc9c6a
I believe that these tests will now run with crun.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-09 15:41:33 -04:00
Charlie Doern 280f5d8cb0 podman ssh work, using new c/common interface
implement new ssh interface into podman

this completely redesigns the entire functionality of podman image scp,
podman system connection add, and podman --remote. All references to golang.org/x/crypto/ssh
have been moved to common as have native ssh/scp execs and the new usage of the sftp package.

this PR adds a global flag, --ssh to podman which has two valid inputs `golang` and `native` where golang is the default.
Users should not notice any difference in their everyday workflows if they continue using the golang option. UNLESS they have been using an improperly verified ssh key, this will now fail. This is because podman was incorrectly using the
ssh callback method to IGNORE the ssh known hosts file which is very insecure and golang tells you not yo use this in production.

The native paths allows for immense flexibility, with a new containers.conf field `SSH_CONFIG` that specifies a specific ssh config file to be used in all operations. Else the users ~/.ssh/config file will be used.
podman --remote currently only uses the golang path, given its deep interconnection with dialing multiple clients and urls.

My goal after this PR is to go back and abstract the idea of podman --remote from golang's dialed clients, as it should not be so intrinsically connected. Overall, this is a v1 of a long process of offering native ssh, and one that covers some good ground with podman system connection add and podman image scp.

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-09 14:00:58 -04:00
OpenShift Merge Robot 097cc6eb6d
Merge pull request #15225 from unknowndevQwQ/update_logo
[CI:DOCS]: update the podman logo
2022-08-09 14:28:59 +00:00
OpenShift Merge Robot a7af6ef632
Merge pull request #15246 from TomSweeneyRedHat/dev/tsweeney/buildah1.27.0
Bump to Buildah v1.27.0
2022-08-09 13:32:07 +00:00
OpenShift Merge Robot 7992d86ab3
Merge pull request #15134 from sstosh/improve-output
Output messages display rawInput
2022-08-09 06:13:10 +00:00
Aditya R 3738221c52
test: update apply-podman-deltas for new tests
Skip some newly added test for remote and modify error output of a test
case which is reporter early in case of podman.

[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-09 09:13:14 +05:30
Giuseppe Scrivano 2e3a192bb0
cmd: refuse --userns if a mapping is specified
if an explicit mapping is specified, do not accept `--userns` since it
overriden to "private".

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-08 14:57:23 +02:00
unknowndevQwQ f4c53a41cf docs: update the podman logo
for podman/#15222

Signed-off-by: unknowndevQwQ <unknowndevQwQ@pm.me>
2022-08-07 09:11:53 +08:00
openshift-ci[bot] 2477a68b43
Merge pull request #15205 from sstosh/ci-run-cleanup-rootless
e2e: Add rootless mount cleanup test
2022-08-06 18:56:57 +00:00
openshift-ci[bot] 66c246d2c1
Merge pull request #15093 from karthikelango137/rmiNoPrune1
remove image podman no prune
2022-08-05 14:48:18 +00:00
openshift-ci[bot] 49ee311950
Merge pull request #15092 from karthikelango137/startFilter
start --filter flag changes
2022-08-05 06:43:56 +00:00
Toshiki Sonoda 83bd7a5c28 e2e: Add rootless mount cleanup test
`podman run -d mount cleanup test` adapt to rootless environment.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-05 12:01:51 +09:00
Karthik Elango cc8e4d5fec remove image podman no prune
Signed-off-by: Karthik Elango <kelango@redhat.com>
2022-08-04 14:55:03 -04:00
Charlie Doern 842c6c7c67 podman generate spec
implement a new command `podman generate spec` which can formulate a json specgen to be consumed by both the pod
and container creation API.

supported flags are

--verbose (default true) print output to the terminal
--compact print the json output in a single line format to be piped to the API
--filename put the output in a file
--clone rename the pod/ctr in the spec so it won't conflict w/ an existing entity

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-04 13:59:58 -04:00
openshift-ci[bot] e9f1eb28c4
Merge pull request #15197 from vrothberg/fix-15006
podman rmi: improve error message for build containers
2022-08-04 17:47:03 +00:00
Valentin Rothberg 3102194f03 podman rmi: improve error message for build containers
Improve the error message when attempting to remove an image that is in
use by an external/build container.  Prior, the error only indicated
that the image was in use but did not aid in resolving the issue.

Fixes: #15006
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 16:42:02 +02:00
Karthik Elango 9964366f69 start filter flag changes
Tying filtering logic for podman stop and start to same place in getContainersAndInputByContext() to reduce code redundancy

Signed-off-by: Karthik Elango <kelango@redhat.com>
2022-08-04 09:08:14 -04:00
Valentin Rothberg f8b6a81ae4 test/system/255-auto-update.bats: add an SELinux comment
Drop a comment on using `chcon` to let the local rollback test pass.
It took me a while to understand why the test failed and future souls
may appreciated the extra breadcrumb.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:07:58 +02:00
Charlie Doern 7df8d80508 add omitempty to Secret in k8s VolumeSource
Secret was populating a generated kube as `null`. Add omitempty
so that when the volume source is not a secret, we do not print unnecessary info

resolves #15156

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-03 16:42:28 -04:00
openshift-ci[bot] 5fc7339aa1
Merge pull request #15084 from sstosh/rm-filter
Add rm --filter option
2022-08-03 17:23:07 +00:00
openshift-ci[bot] c1a38eb773
Merge pull request #15161 from lsm5/switch-to-dnf
Cirrus: use dnf instead of rpm to install packages
2022-08-03 15:14:22 +00:00
openshift-ci[bot] e54dac4dc6
Merge pull request #15166 from sstosh/ci-mount-rootless
Cirrus: Fix e2e tests for "mount_rootless_test"
2022-08-03 13:55:25 +00:00
Lokesh Mandvekar 50981cb846
skip pod resource limits test on aarch64
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2022-08-03 08:29:59 -04:00
Toshiki Sonoda 1dbd61653d Cirrus: Fix e2e tests for "mount_rootless_test"
e2e `mount_rootless_test` did not load `podman binary path` successfully.
This PR fix this problem.

[It] podman unshare podman mount:
```
[+1596s] Running: ... unshare  mount <cid>
[+1596s] Error: exec: no command
[+1596s] output:
```

[It] podman unshare image podman mount:
```
[+1599s] Running: ... unshare  image mount quay.io/libpod/alpine:latest
[+1599s] Error: exec: no command
[+1599s] output:
```

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-03 17:01:18 +09:00
Niall Crowe 1249cbb75f add "podman kube down" command
The "podman kube down" reads in a structured file of
Kubernetes YAML and removes pods based on the Kubernetes kind described in the YAML,
similiar to "podman play kube --down". Users will still be able to use
"podman play kube --down" and "podman kube play --down" to
perform the same function.

Signed-off-by: Niall Crowe <nicrowe@redhat.com>
2022-08-02 16:27:01 +01:00
Toshiki Sonoda 2685c8dc43 Output messages display rawInput
`init`, `checkpint/restore` and `cleanup` command now display
output messages which is rawInput instead of a container ID.

Example:
```
$ podman init <container name>
<container name>

$ podman init <short container ID>
<short container ID>
```

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-02 18:28:37 +09:00