21338 Commits

Author SHA1 Message Date
ce42c9f850 Merge pull request #21233 from edsantiago/quadlet-docs-xref
Quadlet: ensure all keys are documented
2024-01-18 18:45:29 +00:00
a5612bc540 Quadlet: ensure all keys are documented
New CI validation check: all keys in quadlet.go must be
documented at least once in podman-systemd.unit.5.md.
Adding '// deprecated' next to an enum definition will
exclude said key from the documentation cross-checks.

And, because the md file lists keys in both table and block
form, make sure those all match.

And make sure everything is sorted in lexical order, in
both .go source and in man page.

And add a validation check to make sure it stays that way.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-18 06:17:57 -07:00
0c3b5e433e quadlet.go: clean up keys
- A number of keys had a "Network" prefix, for historical reasons
  that never panned out ("KeyNetworkGateway"). Remove that prefix
  and remove the two duplicates.

- Three RemapXXX keys were mismatched in case ("UID" vs "Uid").
  Make those consistent.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-18 06:17:57 -07:00
20b22f8f10 Merge pull request #21286 from containers/renovate/golang.org-x-net-0.x
Update module golang.org/x/net to v0.20.0
2024-01-18 03:20:12 +00:00
a0fb4c66b8 Merge pull request #21284 from containers/renovate/github.com-onsi-ginkgo-v2-2.x
Update module github.com/onsi/ginkgo/v2 to v2.14.0
2024-01-18 03:17:27 +00:00
597ff52352 Merge pull request #21264 from cfergeau/applehv
applehv: return socket path from setupAPIForwarding
2024-01-18 02:47:12 +00:00
4c583e7a10 Update module golang.org/x/net to v0.20.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 21:15:10 +00:00
e757f7631e Update module github.com/onsi/ginkgo/v2 to v2.14.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 20:22:02 +00:00
d38ee1364d Merge pull request #21267 from danishprakash/new-pod-behavior
rm pod with run, create if ctr creation failed with --pod new:
2024-01-17 20:20:52 +00:00
f604693a05 Merge pull request #21282 from containers/renovate/github.com-docker-go-connections-0.x
Update module github.com/docker/go-connections to v0.5.0
2024-01-17 19:56:07 +00:00
f222adbe1a Merge pull request #21281 from containers/renovate/github.com-vbauerster-mpb-v8-8.x
Update module github.com/vbauerster/mpb/v8 to v8.7.2
2024-01-17 19:53:23 +00:00
728e842dbd Update module github.com/docker/go-connections to v0.5.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 19:04:52 +00:00
f9a05717a0 Update module github.com/vbauerster/mpb/v8 to v8.7.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 18:51:28 +00:00
1c8179817d Merge pull request #21278 from cfergeau/gvisor-tap-vsock-update
gvproxy: Update to 0.7.2 release
2024-01-17 18:50:09 +00:00
6c5eeaab9c Merge pull request #21266 from baude/remotenocore
Set up podman machine remote user correctly
2024-01-17 17:00:11 +00:00
c566551e96 gvproxy: Update to 0.7.2 release
This updates the Windows installer and macOS installer to ship the newer
binaries, as well as the vendored gvisor-tap-vsock code.

[NO NEW TESTS NEEDED]

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-01-17 16:59:35 +01:00
1964dbd406 Set up podman machine remote user correctly
The remote user functionality was not quite correct.  This PR breaks out
the accumulation of user descriptions into a separate function.  One
odditiy is ignition must be told to NOT create the core user (or it will
by default) by "adding" the core user with a set bool.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-01-17 08:57:46 -06:00
1c88b12204 rm pod with podman run if ctr creation failed
Currently, if the container creation failed with
either run or create and you've used --pod with new:
the pod would be created nonetheless. This change ensures
the pod just created is also cleaned up in case
of container creation failure

Fixes #21228

Signed-off-by: danishprakash <danish.prakash@suse.com>
2024-01-17 18:59:32 +05:30
e293ca8916 Merge pull request #21262 from n1hility/net-recovery
Add a net health recovery service to qemu machines
2024-01-17 13:22:39 +00:00
eb7746264a Merge pull request #21060 from edsantiago/labels-space
Man pages: tighter documenting of --format fields
2024-01-17 08:22:55 +00:00
c187687580 Merge pull request #21271 from edsantiago/reenable_fixed_flakes
CI: reenable tests that are working again
2024-01-17 02:00:29 +00:00
79fad91dbb Add a net health recovery service to Qemu machines
There is a network stability issue in qemu + virtio, affecting
some users after long periods of usage, which can lead to
suspended queue delivery. Until the issue is resolved, add a
temporary recovery service which restarts networking when host
communication becomes inoperable.

[NO NEW TESTS NEEDED]

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2024-01-16 16:39:47 -06:00
e66413b51b CI: reenable tests that are working again
- #15074 ("subtree_control" flake). The flake is NOT FIXED, I
  saw it six months ago on my (non-aarch64) laptop. However,
  it looks like the frequent-flake-on-aarch64 bug is resolved.
  I've been testing in #17831 and have not seen it. So,
  tentatively remove the skip and see what happens.

- Closes: #19407 (broken tar, "duplicates of file paths")
  All Fedoras now have a fixed tar. Debian DOES NOT, but
  we're handling that in our build-ci-vm code. I.e., the
  Debian VM we're using has a working tar even though there's
  currently a broken tar out in the wild.

  Added distro-integration tag so we can catch future problems
  like this in OpenQA.

- Closes: #19471 (brq / blkio / loopbackfs in rawhide)
  Bug appears to be fixed in rawhide, at least in the VMs we're
  using now.

  Added distro-integration tag because this test obviously
  relies on other system stuff.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-16 10:07:48 -07:00
2981262215 Merge pull request #21268 from vrothberg/mongo
fix mongo-driver dependency
2024-01-16 16:56:00 +00:00
3fef531d96 applehv: return socket path from setupAPIForwarding
When starting podman machine with applehv, this warning is printed:
WARN[0025] API socket failed ping test

This is due to a bug in applehv.setupAPIForwarding which is not
returning the path to the socket, which causes `WaitAndPingAPI` to be
called with `""` as the socket path, triggering the warning.

This commit changes setupAPIForwarding to be similar to the
implementation in the other machine implementations.

I don't know how to add a test for this, but this can be handled in
podman-machine end to end tests by making sure that there are no
warnings when running `podman machine start` with applehv.

[NO NEW TESTS NEEDED]

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-01-16 17:06:22 +01:00
90f69891d7 applehv: Remove unneeded cmd.ExtraFiles assignment
`applehv.Start()` has this line of code:
```
cmd.ExtraFiles = []*os.File{ioEater, ioEater, ioEater}
```
whose purpose is not clear.

The intent may have been to redirect stdin/stdout/stderr to /dev/null in
the child process.
This should be done by setting cmd.Stdin/cmd.Stdout/cmd/Stderr to nil,
which is the case by default.

The way it's done could also cause issues as
`Vfkit.VirtualMachine.Cmd()` sometimes adds files it needs to keep open
to `ExtraFiles`, so at the very least this should be an `append()`

This commit removes this code.

[NO NEW TESTS NEEDED]

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-01-16 17:06:10 +01:00
ab13165517 fix mongo-driver dependency
The v1.13.0 has been retracted and causes issues when using it.
Hence, update to v1.13.1 as suggested upstream [1].

[1] https://github.com/mongodb/mongo-go-driver/releases/tag/v1.13.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2024-01-16 15:50:59 +01:00
85921e5ff6 Merge pull request #21253 from bcooksley/main
[FreeBSD] Fix crash when running podman inspect
2024-01-16 12:23:43 +00:00
971f2eb45a [NO NEW TESTS NEEDED] [FreeBSD] Fix crash when running podman inspect
When preparing container inspection output, ensure we actually have masked paths to work with.
These will only be available on Linux, which is no longer always true as we also support FreeBSD now.

Fixes #21117

Signed-off-by: Ben Cooksley <bcooksley@kde.org>
2024-01-16 15:31:21 +13:00
9fed92ba89 Merge pull request #21234 from edsantiago/sdnotify_race
systests: kube with policies test: fix race
2024-01-15 20:36:57 +00:00
dbe0e67897 Man pages: tighter documenting of --format fields
Initial impetus was #20958 (ps --format .Label abc). This is
a complicated solution to a simple-seeming problem.

The problem: .Label is a cobra *function*, something I did not
know about nor handle.

Solution: recognize cobra functions. Switch to __complete,
not __completeNoDesc, so we can see the number of arguments
required. Invent new man-page format for documenting functions.
And, finally, start enforcing how functions (and cobra structs)
are documented.

This discovered a never-used completion function, .Recycle(),
in podman-events. Remove it.

[NO NEW TESTS NEEDED] - the .go change is an excision of dead code.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-15 13:11:27 -07:00
3a46fe858f Merge pull request #21069 from umohnani8/new-farmbuild-2
farm build: push built images to registry
2024-01-15 18:41:29 +00:00
d95710a89c farm build: push built images to registry
Update farm build to directly push images to a registry
after all the builds are complete on all the nodes.
A manifest list is then created locally and pushed to
the registry as well.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2024-01-15 11:31:17 -05:00
dd4b0ae445 Merge pull request #21226 from mheon/force_remove_on_system_reset
Fix `podman system reset` with external containers
2024-01-15 08:39:19 +00:00
0f9fb3f36a Merge pull request #21006 from cevich/update_baseline
[CI:DOCS] Update gitleaks baseline w/ harmless findings
2024-01-14 11:09:23 +00:00
a2fcca4066 Merge pull request #21161 from cgwalters/machine-autologin-console
machine: Enable console autologin by default
2024-01-13 03:45:38 +00:00
992e83d203 machine: Enable console autologin by default
There are no security concerns here; this is a convenience
for people debugging things.  Some podman-machine developers
were manually setting a password over SSH for example,
but this is just better than that.

[NO NEW TESTS NEEDED]

Signed-off-by: Colin Walters <walters@verbum.org>
2024-01-12 15:02:32 -05:00
17831420a2 Merge pull request #21246 from ashley-cui/lastupapplehv
AppleHV: update LastUp time
2024-01-12 19:41:40 +00:00
a7b81b3078 Merge pull request #21224 from cevich/add_worker_label
Run mac jobs on labeled hosts
2024-01-12 19:38:57 +00:00
f374e07fb0 AppleHV: update LastUp time
LastUp now correctly reports the lastUp time for podman machine on
AppleHV, for both inspect and list.

[NO NEW TESTS NEEDED]
since this fixes an existing failing test.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-01-12 12:04:57 -05:00
b94be90a16 Remove Libpod special-init conditions
Before this, for some special Podman commands (system reset,
system migrate, system renumber), Podman would create a first
Libpod runtime to do initialization and flag parsing, then stop
that runtime and create an entirely new runtime to perform the
actual task. This is an artifact of the pre-Podman 2.0 days, when
there was almost no indirection between Libpod and the CLI, and
we only used one runtime because we didn't need a second runtime
for flag parsing and basic init.

This system was clunky, and apparently, very buggy. When we
migrated to SQLite, some logic was introduced where we'd select a
different database location based on whether or not Libpod's
StaticDir was manually set - which differed between the first
invocation of Libpod and the second. So we'd get a different
database for some commands (like `system reset`) and they would
not be able to see existing containers, meaning they would not
function properly.

The immediate cause is obviously the SQLite behavior, but I'm
certain there's a lot more baggage hiding behind this multiple
Libpod runtime logic, so let's just refactor it out. It doesn't
make sense, and complicates the code. Instead, make Reset,
Renumber, and Migrate methods of the libpod Runtime. For Reset
and Renumber, we can shut the runtime down afterwards to achieve
the desired effect (no valid runtime after). Then pipe all of
them through the ContainerEngine so cmd/podman can access them.

As part of this, remove the SystemEngine part of pkg/domain. This
was supposed to encompass these "special" commands, but every
command in SystemEngine is actually a ContainerEngine command.
Reset, Renumber, Migrate - they all need a full Libpod and access
to all containers. There's no point to a separate engine if it
just wraps Libpod in the exact same way as ContainerEngine. This
consolidation saves us a bit more code and complexity.

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-01-12 09:19:34 -05:00
e06abd1840 Merge pull request #21232 from ashley-cui/vfkitport
Assign separate ports for each appleHV machine
2024-01-12 02:05:53 +00:00
a193eaf16e Merge pull request #21230 from jakecorrenti/applehv-set-rootful
Fix `podman machine set --rootful` for applehv
2024-01-11 21:19:35 +00:00
0e09527bd2 systests: kube with policies test: fix race
Add a wait_for_ready() to one kube-play test, to make sure
container output has made it to the journal.

Probably does not fix #18501, but I think it might fix its
most common presentation.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-11 13:04:41 -07:00
83f89db6c8 Merge pull request #20961 from karuboniru/patch-1
fix checking of relative idmapped mount
2024-01-11 17:20:56 +00:00
f6107f6319 Assign separate ports for each appleHV machine
Previously, every machine created using appleHV interacted with VFKit using port 8081. This meant that if multiple machines existed on the machine, starting one would start all the machines. This patch assigns a separate random port for each machine, so machine commands interact with just the specified machine.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-01-11 12:19:04 -05:00
238d08fafd Merge pull request #21185 from serprex/main
Replace strings.SplitN with strings.Cut
2024-01-11 17:04:28 +00:00
eeff3d2de8 Fix machine inspect test config
Signed-off-by: Ashley Cui <acui@redhat.com>
2024-01-11 11:42:54 -05:00
7bd5dd42c9 Fix podman machine set --rootful for applehv
Fixes a bug where a user would be unable to change
a rootless machine to rootful. Also makes sure that
the podman/docker socket service is updated if the
UID or Rootful status of the host user has been
updated.

[NO NEW TESTS NEEDED]

Fixes: #21195

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2024-01-11 11:09:09 -05:00
585fbe373d Run mac jobs on labeled hosts
This is needed to support an upcoming management script change.
I've already updated all the workers to be sensitive
to this label.

Ref:
https://github.com/cirruslabs/cirrus-cli/blob/master/PERSISTENT-WORKERS.md#reserved-labels

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-01-11 11:05:56 -05:00