Commit Graph

4730 Commits

Author SHA1 Message Date
Daniel J Walsh
43e307b84f Add podman buildx version support
Fixes: https://github.com/containers/podman/issues/16793

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-09 12:03:22 -05:00
OpenShift Merge Robot
859f40a2eb Merge pull request #16776 from Luap99/http-proxy
remote: allow --http-proxy for remote clients
2022-12-09 05:23:38 -05:00
OpenShift Merge Robot
7d2a19ce67 Merge pull request #16631 from andrei-n-cosma/fix-secret-unmarshal
Fixes secret marshaling for kube play. Merge stringData with data for secrets.
2022-12-09 04:48:42 -05:00
OpenShift Merge Robot
15fca66e78 Merge pull request #16777 from Luap99/build-remote-volume
podman-remote build add --volume support
2022-12-09 04:32:57 -05:00
Paul Holzinger
9f6cf50d52 podman-remote build add --volume support
Just like podman-remote run users should still be able to set volumes,
of course the source must be on the server machine but this is already
the case for podman machine for example.

Fixes #16694

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-12-08 17:10:46 +01:00
Paul Holzinger
2dde30b93a remote: allow --http-proxy for remote clients
The remote client should be allowed to specify if the container should
be run with the proxy env vars. It will still use the proxy vars from
the server process and not the client. This makes podman-remote more
consistent with the local version and easier to use in environments
where a proxy is required.

Fixes #16520

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-12-08 17:08:37 +01:00
Urvashi Mohnani
2f29639bd3 Cleanup kube play workloads if error happens
If an error happening while playing a kube yaml,
clean up any pods, containers, and volumes that might
have been created before the error was hit.
This improves the user experience for when they go to
re-run the same yaml with their fixes and podman doesn't
complain about any existing workloads from the previously
failed run.

Suppress the clean up output when clean up happens after an
error as the user doesn't need to see or know about that.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2022-12-08 10:30:44 -05:00
Andrei Natanael Cosma
db4d018711 Fixes secret (un)marshaling for kube play.
Fixes e2e tests, remove '\n' from base64 encoded data.
Correct test to check that data in secret mounted file is decoded.

Closes #16269
Closes #16625

Signed-off-by: Andrei Natanael Cosma <andrei@intersect.ro>
2022-12-08 10:33:44 +01:00
OpenShift Merge Robot
6e2e9ab227 Merge pull request #16709 from vrothberg/fix-16515
kube sdnotify: run proxies for the lifespan of the service
2022-12-07 18:10:31 -05:00
OpenShift Merge Robot
4096d04123 Merge pull request #16569 from rst0git/run-checkpoint-image-v2
Add support for checkpoint images with 'podman run'
2022-12-07 11:39:37 -05:00
OpenShift Merge Robot
5b6a03fbab Merge pull request #16763 from sstosh/e2e-http_proxy
e2e: keeps the http_proxy value
2022-12-07 09:30:08 -05:00
dependabot[bot]
1bfaf51941 build(deps): bump golang.org/x/tools from 0.3.0 to 0.4.0 in /test/tools
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-07 12:09:43 +00:00
Valentin Rothberg
97c56eef6f [CI:DOCS] test/README.md: run tests with podman-remote
Drop a note on how to run single tests with the remote client.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-12-07 09:25:32 +01:00
Toshiki Sonoda
8b87665f23 e2e: keeps the http_proxy value
In a proxy environment, http_proxy needs to keep
the value to use a proxy.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-12-07 16:30:32 +09:00
OpenShift Merge Robot
7784f1d165 Merge pull request #16758 from Luap99/nv-ipam-none
test/e2e: enable "podman run with ipam none driver" for nv
2022-12-06 20:02:43 -05:00
OpenShift Merge Robot
1b62e9049e Merge pull request #16684 from sstosh/e2e-proxy
e2e: fix e2e tests in proxy environment
2022-12-06 19:57:10 -05:00
OpenShift Merge Robot
883ff665b2 Merge pull request #16748 from ygalblum/quadlet_kube_userns
Quadlet Kube: Add support for userns flag
2022-12-06 18:03:41 -05:00
OpenShift Merge Robot
2e9eb170c6 Merge pull request #16668 from karta0807913/main
fix an override logic in Inherit function
2022-12-06 17:58:31 -05:00
Paul Holzinger
c7b936a415 test/e2e: enable "podman run with ipam none driver" for nv
This should work since nv v1.1.

Fixes #13931

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-12-06 18:25:34 +01:00
OpenShift Merge Robot
7cdf37624e Merge pull request #16747 from Luap99/ipvlan-parent
network create: support "-o parent=XXX" for ipvlan
2022-12-06 10:54:11 -05:00
OpenShift Merge Robot
4a8d953425 Merge pull request #16371 from alexlarsson/transient-store
Support transient store mode
2022-12-06 09:39:19 -05:00
OpenShift Merge Robot
293f1cd14d Merge pull request #16713 from alexlarsson/quadlet-drop-cid-remove
quadlet: Drop ExecStartPre=rm %t/%N.cid
2022-12-06 09:00:57 -05:00
Valentin Rothberg
4fa307f149 kube sdnotify: run proxies for the lifespan of the service
As outlined in #16076, a subsequent BARRIER *may* follow the READY
message sent by a container.  To correctly imitate the behavior of
systemd's NOTIFY_SOCKET, the notify proxies span up by `kube play` must
hence process messages for the entirety of the workload.

We know that the workload is done and that all containers and pods have
exited when the service container exits.  Hence, all proxies are closed
at that time.

The above changes imply that Podman runs for the entirety of the
workload and will henceforth act as the MAINPID when running inside of
systemd.  Prior to this change, the service container acted as the
MAINPID which is now not possible anymore; Podman would be killed
immediately on exit of the service container and could not clean up.

The kube template now correctly transitions to in-active instead of
failed in systemd.

Fixes: #16076
Fixes: #16515
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-12-06 14:15:11 +01:00
Toshiki Sonoda
86f4bd4f54 e2e: fix e2e tests in proxy environment
- podman generate kube inheritents the proxy environment valiable by default.
  Therefore, Env field is not empty if it is set.

- systemd-socket-acrivate needs to pass an proxy environment variable.

- busybox wget with an proxy doesn't work.
  Network tests should use not wget but curl.
  https://gitlab.alpinelinux.org/alpine/aports/-/issues/10446

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-12-06 11:14:19 +09:00
Ygal Blum
1ea00ebda1 Quadlet Kube: Add support for userns flag
Move the handling of userns keys from ConvertContainer to a separate method
Adjust the method according to the different supported values
Use the new method in both ConvertContainer and ConvertKube
Pass isUser to ConvertKube as well
Add tests

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2022-12-05 21:26:23 +02:00
OpenShift Merge Robot
68e51834a9 Merge pull request #16738 from ygalblum/quadlet_kube_relative_path
Quadlet Kube: Add support for relative path for YAML file
2022-12-05 14:21:10 -05:00
OpenShift Merge Robot
2f2df58fc9 Merge pull request #16745 from Luap99/docker-compose-mac
compat API: allow MacAddress on container config
2022-12-05 13:57:53 -05:00
OpenShift Merge Robot
c942f77887 Merge pull request #16581 from mtrmac/modified-test
Update c/storage after https://github.com/containers/storage/pull/1436
2022-12-05 13:16:57 -05:00
Alexander Larsson
93d2ec148c Add podman system prune --external
This just calls GC on the local storage, which will remove any leftover
directories from previous containers that are not in the podman db anymore.
This is useful primarily for transient store mode, but can also help in
the case of an unclean shutdown.

Also adds some e2e test to ensure prune --external works.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-05 18:09:21 +01:00
Alexander Larsson
f1dbfda807 Add some tests for transient store
Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-05 18:09:21 +01:00
Paul Holzinger
c9961e18c0 network create: support "-o parent=XXX" for ipvlan
Just like macvlan the ipvlan driver accepts a specific parent interface.

Fixes #16621

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-12-05 18:02:46 +01:00
Paul Holzinger
2f5025a2d7 compat API: allow MacAddress on container config
docker-compose sets the mac address in the container config and not the
network endpoint config. This is ugly when you have more than one
network, in this case docker just chooses the first network.

Fixes #16411

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-12-05 16:52:36 +01:00
Ygal Blum
a55413c802 Quadlet Kube: Add support for relative path for YAML file
If the provided path is relative, turn path to absolute
Add regex verification option in tests

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2022-12-05 16:08:50 +02:00
Valentin Rothberg
8c3af71862 notify k8s system test: move sending message into exec
The flake in #16076 is likely related to the notify message not being
delivered/read correctly.  Move sending the message into an exec session
such that flakes will reveal an error message.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-12-05 14:32:06 +01:00
Giuseppe Scrivano
a651cdfbc3 runtime: do not chown idmapped volumes
do not chown a volume when idmap is used.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-12-05 14:10:43 +01:00
OpenShift Merge Robot
a9c1fe2f4c Merge pull request #16731 from ygalblum/quadlet_syslogidentifier
Quadlet Kube: Set SyslogIdentifier if was not set
2022-12-05 04:46:40 -05:00
Alexander Larsson
f3c5b0f9d1 quadlet: Drop ExecStartPre=rm %t/%N.cid
Since https://github.com/containers/podman/pull/16394 was merged
we now always delete the cid file if --replace=true was specified,
so we can avoid this extra command being launched.

[NO NEW TESTS NEEDED] Already tested in above PR.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-05 08:26:03 +01:00
Ygal Blum
d61618ad44 Quadlet Kube: Set SyslogIdentifier if was not set
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2022-12-04 15:53:44 +02:00
Daniel J Walsh
af86b4f62a Fix handling of readonly containers when defined in kube.yaml
The containers should be able to write to tmpfs mounted directories.

Also cleanup output of podman kube generate to not show default values.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-03 07:05:58 -05:00
Alexander Larsson
16cf34dc3a quadlet: Use same default capability set as podman run
Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-02 16:37:22 +01:00
Alexander Larsson
b34ab8b5fa quadlet: Drop --pull=never
This is to match podman run default behaviour.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-02 16:33:09 +01:00
Alexander Larsson
098ad52ecb quadlet: Change default of ReadOnly to no
This matches the default podman run behaviour.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-02 16:30:15 +01:00
Alexander Larsson
1c3fddfaf7 quadlet: Change RunInit default to no
This matches the default of podman run.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-02 16:25:47 +01:00
Alexander Larsson
d19ea6a60d quadlet: Change NoNewPrivileges default to false
This matches the default of podman run.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-02 16:24:47 +01:00
Radostin Stoyanov
a93a390b8c test: podman run with checkpoint image
Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2022-12-02 14:39:33 +00:00
Radostin Stoyanov
3a362462c1 test: Add tests for checkpoint images
These tests were unintentionally removed in commit
b47b48f (Revert "Add checkpoint image tests"). They
verify the functionality of the `--create-image` option for
`podman container checkpoint`.

Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2022-12-02 14:34:59 +00:00
Miloslav Trmač
c83efd0f07 Update c/storage after https://github.com/containers/storage/pull/1436
... and update to remove the now-deprecated Locker interface.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2022-12-01 16:05:13 +01:00
karta0807913
d19e1526d3 add friendly comment
Signed-off-by: karta0807913 <karta0807913@gmail.com>
2022-12-01 11:35:51 +08:00
karta0807913
1d84f0adb9 fix an overriding logic and load config problem
Fix an overriding logic in Inhearit function.
Alos, ToSpecGen function doesn't load the cgroup/image volume config from containers.conf.

Signed-off-by: karta0807913 <karta0807913@gmail.com>
2022-12-01 08:01:02 +08:00
OpenShift Merge Robot
c00d8a27d9 Merge pull request #13909 from mheon/startup_probe
Add support for startup healthchecks
2022-11-30 15:23:15 -05:00