Commit Graph

5831 Commits

Author SHA1 Message Date
Jake Correnti
98f332d482 Use parser.UnitFile
Uses the systemd unit file parser to build unit files instead of having
them be just blocks of hard-coded strings.

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2024-01-04 08:51:35 -05:00
Jake Correnti
c728eeb39e Create pkg/machine/ignition package
Moves all of the ignitionfiles out of the `machine` package and into
its own called `ignition`. This required `VMType` to get moved out of
the `machine` package and into the `define` package in order to prevent
a circular dependency.

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2024-01-04 08:51:35 -05:00
openshift-merge-bot[bot]
de797e5724 Merge pull request #21142 from ygalblum/quadlet-stop-params
Quadlet - add StopTimeout key for .container file
2024-01-04 11:53:31 +00:00
openshift-merge-bot[bot]
94da6397e7 Merge pull request #21149 from cgwalters/machine-debugging
machine/qemu: A few debugging prints
2024-01-04 11:50:49 +00:00
Oleksandr Redko
2a2d0b0e18 chore: delete obsolete // +build lines
Signed-off-by: Oleksandr Redko <Oleksandr_Redko@epam.com>
2024-01-04 11:53:38 +02:00
Colin Walters
92f3bacc65 machine/qemu: A few debugging prints
I was trying to debug a failure which was seemingly related
to gvproxy failing which I now can't reproduce,
and added these while working on it.  Maybe they're useful in
the future.

[NO NEW TESTS NEEDED]

Signed-off-by: Colin Walters <walters@verbum.org>
2024-01-03 17:06:34 -05:00
Brent Baude
f5a986f4ee Set applehv as default darwin provider
Podman 5 will not support QEMU on darwin anymore.  This PR only changes the default from `qemu` to `applehv`.  Code changes to enforce not supporting qemu will come later.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <baude@redhat.com>
2024-01-03 12:05:09 -06:00
Ygal Blum
689d97a1d1 Quadlet - add StopTimeout key for .container file
Allow setting the timeout for stopping the container
Add test
Update man

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-01-03 18:38:38 +02:00
openshift-merge-bot[bot]
185fa5ba3f Merge pull request #21103 from fj-tsubasa/remote-kube-play-publish-all
remote: fix podman-remote kube play --publish-all
2024-01-03 12:41:41 +00:00
openshift-merge-bot[bot]
04548815fc Merge pull request #21114 from baude/applehvIsValid
applehv - fix vm lookup
2024-01-02 12:56:59 +00:00
openshift-merge-bot[bot]
a8c8704664 Merge pull request #21112 from ygalblum/quadlet-multiline-trailing-whitespaces
Quadlet - fix trailing whitespaces handling
2024-01-02 12:54:13 +00:00
Ygal Blum
70a53cb76a Quadlet - fix trailing whitespaces handling
Remove all trailing white spaces from all lines before the line by line
processing
Add test
Exclude the unit file used for the test from whitespace check

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-01-02 12:26:44 +02:00
openshift-merge-bot[bot]
5657e32726 Merge pull request #21084 from ygalblum/kube-generate-bind-mount-annotation
Kube Generate - check options in bind-mount-options exist before accessing
2024-01-02 08:27:42 +00:00
Brent Baude
55b08d3bad applehv - fix vm lookup
small correction to properly lookup a applehv vm on disk.

Fixes: #21090

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <baude@redhat.com>
2024-01-01 14:33:30 -06:00
Tsubasa Watanabe
4f94c96b9b remote: fix podman-remote kube play --publish-all
Fix `podman kube play --publish-all` to work in remote environment.

Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
2023-12-29 12:41:54 +09:00
Ygal Blum
4083ddbb00 Kube Generate - check options in bind-mount-options exist before accessing
Verify that the separator ':' was found before splitting the string

[NO NEW TESTS NEEDED]

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-12-26 18:13:41 +02:00
Byoungchan Lee
f10a7bfd4c Add mmap cache option to QEMU mount
This is required for mmap'ing on mounted files on MacOS Host.
Closes #19639, #20055.

Signed-off-by: Byoungchan Lee <daniel.l@hpcnt.com>
2023-12-26 18:37:10 +09:00
openshift-merge-bot[bot]
6a65597358 Merge pull request #21053 from rhatdan/VERSION
Move golang requirement from 1.18 to 1.20
2023-12-19 12:10:46 +00:00
openshift-merge-bot[bot]
26bcffd7a1 Merge pull request #21017 from giuseppe/fix-podman-info-twice
abi: drop check for IsRootless()
2023-12-18 20:32:59 +00:00
openshift-merge-bot[bot]
de3c02ab46 Merge pull request #21039 from rhatdan/pods
Allow PublishPorts to be used with [Pod] entry
2023-12-18 20:30:15 +00:00
Giuseppe Scrivano
1322f3193b abi: drop check for IsRootless()
it is the wrong check to do here since we need to setup the user
namespace even in the case we are running as root without
capabilities.

[NO NEW TESTS NEEDED] this happens in nested podman

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-12-18 14:05:30 +01:00
Daniel J Walsh
4dd58f226d Move golang requirement from 1.18 to 1.20
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-18 07:29:31 -05:00
Daniel J Walsh
f169fc76af Allow PublishPorts to be used with [Pod] entry
Fixed: https://github.com/containers/podman/issues/21035

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-17 06:25:36 -05:00
Paul Nettleton
6a96c8b5fc quadlet container support multiple Ulimit options
Add support for using multiple `Ulimit=` options in `.container` files.
Before, only the last `Ulimit=` option was used in the podman command.

Update podman-systemd.unit.5 docs to reflect this change.

Add `test/e2e/quadlet/ulimit.container` to e2e tests.

Signed-off-by: Paul Nettleton <k9@k9withabone.dev>
2023-12-17 04:31:59 -06:00
Gavin Lam
db68764d8b Fix Docker API compatibility with network alias (#17167)
* Add BaseHostsFile to container configuration
* Do not copy /etc/hosts file from host when creating a container using Docker API

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
2023-12-14 23:31:44 -05:00
openshift-merge-bot[bot]
077b000996 Merge pull request #20995 from mheon/error_on_gvproxy_exit
Error on HyperV VM start when gvproxy has failed to start
2023-12-14 20:53:13 +00:00
openshift-merge-bot[bot]
fb9e9de1ca Merge pull request #20966 from ygalblum/kube-play-build-private-reg
Kube Play - pass arguments to build
2023-12-14 20:33:10 +00:00
Matt Heon
5cc5b43473 Error on HyperV VM start when gvproxy has failed to start
After the VM has successfully started, check that gvproxy is
still running. If it is not, throw an error and refuse to
complete machine start.

[NO NEW TESTS NEEDED] I don't think we can deliberately trigger a
bad gvproxy start without a bad Podman binary. We could try and
kill gvproxy after it starts but before the machine is booted but
that's very prone to races.

Slightly restructure code so that starting shares happens later
and has its own configuration write - so the VM is still recorded
as running if starting shares fails.

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-12-14 13:31:37 -05:00
openshift-merge-bot[bot]
9c16f1bab8 Merge pull request #21009 from baude/hypervcheckexclusivearch
CheckExclusiveArch should use local JSON too
2023-12-14 18:30:03 +00:00
Ygal Blum
d026ccf9a7 Kube Play - pass arguments to build
Create a buildah SystemContext from the existing cli arguments
Pass the SystemContext to the build
Add system test

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-12-14 16:31:09 +02:00
openshift-merge-bot[bot]
b82e336751 Merge pull request #21004 from umohnani8/push-endpoint
Fix push endpoint stream
2023-12-13 22:41:33 +00:00
Brent Baude
3a842027af CheckExclusiveArch should use local JSON too
When performing CheckExclusiveArch, we should get a list of VMs that
exist on disk (JSON).  We should then iterate those and checking if they
are running in HyperV.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-13 14:41:29 -06:00
Brent Baude
446df4379f machine e2e : set default disk size to 11
this default value for podman machine disk sizes is 100GB.  On CI
platforms where the IO is slow and some operations are not done
sparsely, this can really slow things down.

if no disk size is provided by the init command in the test suite, we
set it to 11G.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-13 12:14:42 -06:00
Urvashi Mohnani
126670d5dd Fix push endpoint stream
The push binding endpoint wasn't actually writing the
output data to the stream when quiet=false and there
was no push error.
Do not hard code quiet=true anymore, take into account the
user input.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-12-13 13:01:21 -05:00
Brent Baude
e5c726daff Make hyperv pass
It seems CI generally needs a little more of a default timeout to
complete the init and boot process of a machine.  This extends the
timeout from 90 seconds to 240 seconds.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-12 08:30:03 -06:00
Brent Baude
e5a4f00b7d Podman 5 machine config file - Step 1
The following PR is the very first step in what will a series of steps
to apply a "common" machine configuration file to all providers.
Function names, method names, struct names, and field names are all up
for debate.  The purpose of this PR is to offer a glimpse at the
direction we intend to take.

This PR also contains temporary structs (i.e. aThing) that are not
exported.  These are merely placeholders.

The configuration work in this PR is also unused of yet.  But the code
is compiled.  Once merged, we can begin the next step of development.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-11 16:26:15 -06:00
openshift-merge-bot[bot]
47b6a90a82 Merge pull request #20953 from baude/wslregressions
Fix WSL machine test regressions
2023-12-11 19:29:44 +00:00
Brent Baude
36e29a8432 Fix WSL machine test regressions
WSL is unable to set or change CPU/memory settings.  We should not test
for them.

Skip one test and filed issue #20978

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-11 08:10:47 -06:00
openshift-merge-bot[bot]
611ba2ff31 Merge pull request #20827 from kaivol/userns-auto-intermediate-id-lookup
Support lookup of intermediate ID for uidmapping and gidmapping in `--userns=auto`
2023-12-11 10:19:14 +00:00
openshift-merge-bot[bot]
d513749085 Merge pull request #20914 from baude/machinehypervregression
Fix regression in e2e machine test suite
2023-12-08 16:16:24 +00:00
openshift-merge-bot[bot]
44a9371164 Merge pull request #20772 from Luap99/rootlessnetns
use rootless netns from c/common
2023-12-08 14:23:40 +00:00
Christophe Fergeau
6c2a0196a9 machine: usb: Fix 'passtrough' typo
[NO NEW TESTS NEEDED]

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2023-12-08 12:24:39 +01:00
Brent Baude
1ebd507fbf Fix regression in e2e machine test suite
A simple regression was introduced to the test suite that overrode the
default image for hyperv testing.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-12-07 21:06:46 -06:00
openshift-merge-bot[bot]
8b6eb806c7 Merge pull request #20937 from eriksjolund/fix-issue-20390
[CI:DOCS] compat api: fix formatting syntax
2023-12-07 17:34:12 +00:00
Erik Sjölund
a1cc99dd46 [CI:DOCS] compat api: fix formatting syntax
Reuse text from podman api

Fixes https://github.com/containers/podman/issues/20390

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-12-07 14:27:47 +01:00
Paul Holzinger
19457f3823 system service: split out cgroups call into linux specific file
So that we do not cause compile errors on freebsd.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-07 11:26:36 +01:00
Paul Holzinger
32c25c6026 pkg/specgen/generate: NOP verifyContainerResources() on freebsd
There is no point in calling into cgroup specific code as freebsd does
not support cgroups.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-07 11:24:47 +01:00
Paul Holzinger
a687c38860 use rootless netns from c/common
Use the new rootlessnetns logic from c/common, drop the podman code
here and make use of the new much simpler API.

ref: https://github.com/containers/common/pull/1761

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-12-07 11:24:46 +01:00
Jason T. Greene
98df5b3978 Fix user-mode net init flag on first time install
Previously the WSL user-mode networking distribution was only installed as part
of a change, when it should have been also applied installs. This mean that the
init flag usage only worked after a previous set command.

[NO NEW TESTS NEEDED]

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-12-06 14:46:12 -06:00
openshift-merge-bot[bot]
72ceb6ee82 Merge pull request #20905 from Odilhao/issue-20585-entrypoint
Add support for Entrypoint in quadlet
2023-12-06 14:13:03 +00:00