16486 Commits

Author SHA1 Message Date
d014dca81f libpod: Move isBridgeNetMode and reloadContainerNetwork to networking_common.go
[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 16:28:47 +01:00
1dd0eb4679 libpod: Move teardownNetwork and teardownCNI to networking_common.go
[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 16:28:47 +01:00
2bf050f1d1 libpod: Move setUpNetwork and getCNIPodName to networking_common.go
[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 16:28:36 +01:00
3d7f9f67a7 libpod: Move convertPortMappings and getNetworkOptions to networking_common.go
[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 16:28:36 +01:00
d1414adbbb libpod: Add FreeBSD implementation of container networking
This uses a jail to manage the container's network. Container jails for
all containers in a pod are nested within this and share the network
resources.

There is some code in networking_freebsd.go which is common with
networking_linux.go. Subsequent commits will move the shared code to
networking_common.go to reduce this duplication.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 16:28:35 +01:00
c5f64d9f58 libpod: Re-work the container's network state to help code sharing
This replaces the NetworkJail string field with a struct pointer named
NetNS. This does not try to emulate the complete NetNS interface but does
help to re-use code that just refers to c.state.NetNS.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 16:11:25 +01:00
36cfd05a7d libpod: Move platform-specific bind mounts to a per-platform method
This adds a new per-platform method makePlatformBindMounts and moves the
/etc/hostname mount. This file is only needed on Linux.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 16:11:25 +01:00
369d86040e libpod: Avoid a nil dereference when generating resolv.conf on FreeBSD
The code which generates resolv.conf dereferenced c.config.Spec.Linux
and this field is not set for FreeBSD containers.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 16:08:56 +01:00
5abc08df25 Merge pull request #15511 from rhatdan/codespell
Fix stutters
2022-09-12 16:52:08 +02:00
3b9e31c9bb Merge pull request #15747 from vrothberg/docs-volume
[CI:DOCS] --volume: consistent wording
2022-09-12 15:46:38 +02:00
4d202f067d Merge pull request #15744 from dfr/vendor
update c/storage to latest
2022-09-12 13:35:11 +02:00
050ae61817 [CI:DOCS] --volume: consistent wording
Make sure that the wording of mounting something _from_ the source
_into_ the destination is consistent.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-09-12 10:04:29 +02:00
d935e97994 update c/storage to latest
Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-09-12 08:11:46 +01:00
1635fe8620 Merge pull request #15737 from Juneezee/refactor/os.ReadDir
refactor: use `os.ReadDir` for lightweight directory reading
2022-09-12 06:50:48 +02:00
940d3d8892 Merge pull request #15734 from KenMacD/add-path
Include PATH in conmon env.
2022-09-12 00:38:03 +02:00
6091ff42dc Include more environment variables in conmon env.
Include the path and helper binary dir so that the podman
environment more closely matches when conmon calls it as an
exit command.

Also match the CONTAINERS_CONF lookup to the codestyle of other
environment lookups.

[NO NEW TESTS NEEDED]

Resolves #15707

Signed-off-by: Kenny MacDermid <kenny@macdermid.ca>
2022-09-11 11:49:35 -03:00
118546c6a7 refactor: use os.ReadDir for lightweight directory reading
`os.ReadDir` was added in Go 1.16 as part of the deprecation of `ioutil`
package. It is a more efficient implementation than `ioutil.ReadDir`.

Reference: https://pkg.go.dev/io/ioutil#ReadDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-09-11 15:58:31 +08:00
b9cbc0c09a Merge pull request #15728 from tyler92/fix-cpu-millis-limit
Fix CPU usage limitation in play kube for non integer values
2022-09-10 17:40:01 +02:00
2c63b8439b Fix stutters
Podman adds an Error: to every error message.  So starting an error
message with "error" ends up being reported to the user as

Error: error ...

This patch removes the stutter.

Also ioutil.ReadFile errors report the Path, so wrapping the err message
with the path causes a stutter.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-09-10 07:52:00 -04:00
b8108d06b4 Fix CPU usage limitation in play kube for non integer values
This logic has been broken by commit 9c6c981928c3e020ff6eef9454c7ee86aa8c83d1
(kube: fix conversion from milliCPU to period/quota).

[NO NEW TESTS NEEDED]
Fixes: #15726

Signed-off-by: Mikhail Khachayants <tyler92@inbox.ru>
2022-09-10 10:53:50 +03:00
2d8417d86a Merge pull request #15725 from cevich/no_multiarch_win
[CI:BUILD] Cirrus: Don't run win_installer in multiarch cron
2022-09-10 04:22:58 +02:00
8466c4a19a Cirrus: Don't run win_installer in multiarch cron
The win_installer task fails on the `multiarch` cirrus-cron build.
This is because it depends on the `Windows Cross` (alt_build) task
which is bypassed in this context. This will cause the `repo.tbz`
download to constantly throw 404s.  Fix this by skipping the
win_installer task for the `multiarch` (container images) build.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-09-09 11:34:25 -04:00
94864cbce6 Merge pull request #15706 from edsantiago/docs_dedup_volume
[CI:DOCS] Man pages: refactor common options: --volume
2022-09-09 17:22:30 +02:00
765dfe0cfb Merge pull request #15719 from containers/dependabot/go_modules/github.com/docker/docker-20.10.18incompatible
build(deps): bump github.com/docker/docker from 20.10.17+incompatible to 20.10.18+incompatible
2022-09-09 16:49:28 +02:00
3a9a7dcdcd Man pages: refactor common options: --volume
This one is a nightmare, because --volume has been edited
in four different files throughout the years (five if you
count podman-build, which I am not including in this PR).
Those edits have not always been done in sync.

The list of options was reordered 2022-06-28 by Giuseppe in #14734,
but only in podman-create and -run (not in podman-pod-*). No
explanation of why, but I'll assume he knew what he was doing,
and have accepted that for the reference copy.

There was also a big edit in #8519.

The "Propagation property...bind mounted" sentence first appeared
in pod-clone, in #14299 by cdoern, with no obvious source of where
it came from. I choose to include it in the reference copy.

The "**copy**" option seems to work in pod-create, so I'm including
it in the reference copy. Someone please yell loudly if this is
not the case.

The "disables SELinux separation for containers used in the build",
no idea, changed that to just "for the container/pod"

The "advanced users / overlay / upperdir / workdir" paragraph
makes zero sense to me, but hey, I assume it applies to all
the commands, so I put it in the reference copy.

Finally, there's still a mishmash of backticks, asterisks, underscores,
and even quotation marks. Someone is gonna have to perform major
cleanup on this one day, but at least it'll be in only one place.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-09 08:20:31 -06:00
04082333a6 Merge pull request #15716 from vrothberg/fix-15661
stop: fix error handling
2022-09-09 16:04:46 +02:00
7e7db23dbf Merge pull request #15687 from vrothberg/RUN-1639
health check: add on-failure actions
2022-09-09 15:17:19 +02:00
b239966d11 Merge pull request #15462 from edsantiago/system_tests_for_update
system tests for update
2022-09-09 15:11:52 +02:00
a826720473 build(deps): bump github.com/docker/docker
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 20.10.17+incompatible to 20.10.18+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Changelog](https://github.com/moby/moby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/docker/docker/compare/v20.10.17...v20.10.18)

---
updated-dependencies:
- dependency-name: github.com/docker/docker
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 13:10:06 +00:00
04270a080d Merge pull request #15695 from Luap99/update-buildah
Update buildah and c/common to latest
2022-09-09 15:08:46 +02:00
8a2ab7c387 Merge pull request #15692 from giuseppe/pod-spec-userns
kube: plug HostUsers in the pod spec
2022-09-09 15:06:01 +02:00
b0b36430b8 Merge pull request #15712 from sstosh/fix-swagger
Fix swagger documentation
2022-09-09 15:00:19 +02:00
6bf8670b69 stop: fix error handling
Fix the error handling in the fallback logic of `stop` when Podman
resorts to killing a container; the error message wrapped the wrong
error.

[NO NEW TESTS NEEDED] as it is a rare flake in the tests and I do not
know how to reliably reproduce it.

Fixes: #15661
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-09-09 14:05:18 +02:00
e37dd95b7a Merge pull request #15658 from rhatdan/config
Add --config for Docker compatibility
2022-09-09 13:17:14 +02:00
aad29e759c health check: add on-failure actions
For systems that have extreme robustness requirements (edge devices,
particularly those in difficult to access environments), it is important
that applications continue running in all circumstances. When the
application fails, Podman must restart it automatically to provide this
robustness. Otherwise, these devices may require customer IT to
physically gain access to restart, which can be prohibitively difficult.

Add a new `--on-failure` flag that supports four actions:

- **none**: Take no action.

- **kill**: Kill the container.

- **restart**: Restart the container.  Do not combine the `restart`
               action with the `--restart` flag.  When running inside of
               a systemd unit, consider using the `kill` or `stop`
               action instead to make use of systemd's restart policy.

- **stop**: Stop the container.

To remain backwards compatible, **none** is the default action.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-09-09 13:02:05 +02:00
f24bdeef26 Merge pull request #15713 from sstosh/cpu-rt-cgroupsv2
Ignore cpu realtime options on cgroups V2 systems
2022-09-09 12:23:20 +02:00
8e1aa7af3a Fixes for vendoring Buildah
This commit was automatically cherry-picked
by buildah-vendor-treadmill v0.3
from the buildah vendor treadmill PR, #13808

Changes since 2022-08-16:

 - buildah 4139: minor line-number changes to the diff
   file because helpers.bash got edited

 - buildah 4190: skip the new test if remote

 - buildah 4195: add --retry / --retry-delay

 - changes to deal with vendoring gomega, units

 - changes to the podman login error message in system test

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-09-09 11:59:27 +02:00
eb28a1c084 update buildah and c/common to latest
also includes bumps for c/storage and c/image

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-09-09 11:58:20 +02:00
c7411af9e2 Ignore cpu realtime options on cgroups V2 systems
`--cpu-rt-period` and `--cpu-rt-runtime` options are only
supported on cgroups V1 rootful systems.

Therefore, podman prints an warning message and ignores these
options when we use cgroups V2 systems.

Related to: #15666

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-09-09 17:33:43 +09:00
27be5eaaf2 Fix swagger documentation
* ContainerKillLibpod "signal" query default is SIGKILL.
* ContainerStopLibpod "all" query doesn't exist.

[NO NEW TESTS NEEDED]

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-09-09 15:15:54 +09:00
9a286f7126 generate, kube: plug HostUsers
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-09-08 22:55:52 +02:00
1994f38232 Add --config for Docker compatibility
Fixes: https://github.com/containers/podman/issues/14767

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-09-08 16:20:30 -04:00
ad63aa20db kube: plug HostUsers in the pod spec
map HostUsers=false to userns=auto.

One difference with the current implementation in the Kubelet is that
the podman default size is 1024 while the Kubelet uses 65536.

This is done on purpose, because 65536 is a problem for rootless as
the entire IDs space would be allocated to a single pod.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-09-08 22:08:50 +02:00
6d8bafe57a Merge pull request #15607 from fpoirotte/main
Fix #15243 Set AutomountServiceAccountToken to false
2022-09-08 19:38:56 +02:00
7e2f002b07 Merge pull request #15593 from containers/dependabot/go_modules/github.com/docker/go-units-0.5.0
Bump github.com/docker/go-units from 0.4.0 to 0.5.0
2022-09-08 16:54:02 +02:00
eb758c5f58 Merge pull request #15675 from Luap99/pod-inspect
fix podman pod inspect to support multiple pods
2022-09-08 16:36:08 +02:00
95eff1aa40 Merge pull request #15667 from dfr/freebsd-specgen
specgen/generate: Factor out setting resource limits from CompleteSpec
2022-09-08 14:37:14 +02:00
d117d086b7 Merge pull request #15665 from thediveo/data-race
fixes data race in system.Events and nil error logging
2022-09-08 14:34:47 +02:00
051f8b0a62 Merge pull request #15681 from sstosh/fix-e2e-sameip-proxy
e2e: fix run_staticip_test in proxy environment
2022-09-08 12:35:09 +02:00
d729dd8c2e Merge pull request #15610 from n1hility/release-workflow
Introduce a new signed Windows installer with automated build process
2022-09-08 12:26:50 +02:00