Commit graph

5583 commits

Author SHA1 Message Date
Brent Baude
59e0919bc7 update vfkit vendored code
upstream reversed width and height and now we get an unusable gui

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-29 12:46:58 -05:00
OpenShift Merge Robot
cc8c28eb7c
Merge pull request #20198 from jakecorrenti/remove-extra-files-line
Remove `c.ExtraFiles` line in machine
2023-09-29 06:41:02 -04:00
OpenShift Merge Robot
26ae0ba851
Merge pull request #20190 from baude/issue20122
podman machine: disable zincati update service
2023-09-28 21:14:20 -04:00
Jake Correnti
9b39641116 Remove c.ExtraFiles line in machine
Removes the line in applehv and qemu `machine.go` file. These are
remnants from #19723. This lines was written to add stdin, stdout,
stderr as extra files, but that is not how `c.ExtraFiles` works (unlike
`os.ProcAttr`).

go source: https://cs.opensource.google/go/go/+/go1.21.1:src/os/exec/exec.go;l=147

[NO NEW TESTS NEEDED]

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2023-09-28 19:24:06 -04:00
OpenShift Merge Robot
5e216a2a74
Merge pull request #20193 from ashley-cui/lastupnever
New machines should show Never as LastUp
2023-09-28 17:59:19 -04:00
OpenShift Merge Robot
744e09d6ee
Merge pull request #19994 from Syquel/fix-wsl-systemd-detection
Fix WSL systemd detection
2023-09-28 17:35:34 -04:00
Ashley Cui
bcfd9f3403 New machines should show Never as LastUp
After creating a podman machine, and before starting it, the LastUp value for podman machine ls should display Never. Previously, the LastUp value was the same as creation time. This also changes the LastUp value for inspect to ZeroTime instead of creation time.

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-09-28 14:16:26 -04:00
Brent Baude
94818f5941 podman machine: disable zincati update service
As explained in #21022, there are all kinds of downsides to a machine
updating itself (via zincati) automatically, like interuption of
service, lost mounts, etc.

disabling zincati will at least allow stop these downsides.  we are
likely to contemplate if podman will take over the update process
externally where interuption of services will not occur etc.

Fixes #20122

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-28 13:01:52 -05:00
Frederik Boster
5b990c3835
Fix WSL systemd detection
[NO NEW TESTS NEEDED]

Signed-off-by: Frederik Boster <frederik@boster.de>
2023-09-28 12:18:11 +02:00
OpenShift Merge Robot
c9730e2329
Merge pull request #20149 from ygalblum/quadlet-container-mount
Quadlet container mount - support non key=val options
2023-09-28 05:38:52 -04:00
OpenShift Merge Robot
4212b4998d
Merge pull request #19823 from Backfighter/fix-17028
Fix all ports exposed on host by kube play
2023-09-28 03:29:43 -04:00
OpenShift Merge Robot
36f8e78d71
Merge pull request #20150 from wpross/add-rdt
Add Intel RDT support
2023-09-28 01:27:02 -04:00
Brent Baude
0d4526e61c wsl: enable machine init tests
many of wsl's attributes are not as configurable as other providers.
small tweaks and conditional tests have been added.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-27 12:10:08 -05:00
Wolfgang Pross
4853320ce1 use default when user does not provide rdt-class
Signed-off-by: Wolfgang Pross <wolfgang.pross@intel.com>
2023-09-27 16:44:13 +00:00
Wolfgang Pross
40d3c3b9b0 Add Intel RDT support
Add --rdt-class=COS to the create and run command to enable the
assignment of a container to a Class of Service (COS). The COS
represents a part of the cache based on the Cache Allocation Technology
(CAT) feature that is part of Intel's Resource Director Technology
(Intel RDT) feature set. By assigning a container to a COS, all PID's of
the container have only access to the cache space defined for this COS.
The COS has to be pre-configured based on the resctrl kernel driver.
cat_l2 and cat_l3 flags in /proc/cpuinfo represent CAT support for cache
level 2 and 3 respectively.

Signed-off-by: Wolfgang Pross <wolfgang.pross@intel.com>
2023-09-27 16:44:13 +00:00
Ygal Blum
f0eb456678 Quadlet container mount - support non key=val options
Some keys, e.g. ro do not have values.
The current implementation crashed looking for the = sign

Externalize findMountType in a new package
Parse mount command using FindMountType
Rebuild parameter string using csv

Add test case and adjust the test framework

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-09-27 16:20:00 +03:00
OpenShift Merge Robot
d05c77799b
Merge pull request #20159 from baude/applehvenablerm
applehv: machine tests for stop and rm
2023-09-27 09:13:32 -04:00
OpenShift Merge Robot
31f9e678fa
Merge pull request #20160 from baude/applehvenablestart
applehv: enable machine tests for start
2023-09-27 04:41:54 -04:00
Brent Baude
1724944234 applehv: enable machine tests for start
leftover debug was breaking -q tests

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-26 16:02:41 -05:00
Brent Baude
2ff43429f7 applehv: machine tests for stop and rm
change behaviour of stopped a stopped/exited machine to match qemu in that stopping a stopped machine is NOT an error.

add condition to machine rm where rm is not run twice due to a logic error

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-26 15:30:36 -05:00
Ashley Cui
127ebe2b27 Update machine tests README
Windows now has a winmake file for easier testing, so document that.

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-09-26 15:51:33 -04:00
Ashley Cui
995a6a8ac4 Add podman socket info to machine inspect
HyperV and appleHV machine inspect commands were missing podman socket
info. This also fixes machine inspect tests on hyperV

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-09-26 15:50:00 -04:00
Ashley Cui
80952db0ba Fix podman machine info test for hyperV
We do not guarantee that the amount of machines that exist on the system
is 0 before running a test.

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-09-26 15:49:55 -04:00
OpenShift Merge Robot
94f47d6f66
Merge pull request #20141 from baude/wslenablestop
pkg/machine/e2e: wsl stop
2023-09-26 13:37:52 -04:00
OpenShift Merge Robot
f64234969a
Merge pull request #20135 from ashley-cui/hypervroot
hyperV: Respect rootful option on machine init
2023-09-26 10:54:46 -04:00
Brent Baude
8bad842a45 pkg/machine/e2e: wsl stop
allow the machine stop test to pass.

small change to WSL stop on an already stopped machine to allow for it
to behave like hyperv and qemu

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-26 09:27:51 -05:00
OpenShift Merge Robot
d2d121a389
Merge pull request #20152 from baude/wslenableinspect
wsl: machine tests for inspect
2023-09-26 10:23:15 -04:00
Brent Baude
217c4d5468 wsl: machine tests for inspect
small corrections for wsl between sockets and pipe

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-26 07:26:44 -05:00
Brent Baude
e4bfcfc254 wsl: machine tests for ssh
a couple of small corrections for the ssh tests on WSL.  we need to
check for a different os type and windows emits a warning in stderr.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-26 07:00:45 -05:00
OpenShift Merge Robot
a2434a9d37
Merge pull request #20144 from baude/wslenableset
wsl machine tests: set
2023-09-26 07:53:58 -04:00
OpenShift Merge Robot
72033cdc6a
Merge pull request #20137 from baude/applehvenablee2e
Enable machine e2e test for applehv
2023-09-26 07:22:14 -04:00
Brent Baude
a112ee8959 wsl: machine start test
the emitted message for starting a machine that is is already started
needed to be slightly altered for wsl.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-25 19:59:26 -05:00
Brent Baude
d3d5011dc4 wsl machine tests: set
wsl does not support changing the disk size, processor number, or memory
allocation.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-25 19:53:35 -05:00
OpenShift Merge Robot
aebfde2408
Merge pull request #20142 from baude/wslenablerm
wsl: machine tests for machine rm
2023-09-25 19:55:41 -04:00
Brent Baude
cc4917d81d wsl: machine tests
WSL does not use ignition therefore the test for the file is invalid.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-25 16:22:37 -05:00
Ashley Cui
ec68a74892 Skip proxy test for hyperV
Currently proxys are not supported on hyperV, skip the test and
document it for now.

Opened https://github.com/containers/podman/issues/20129 to track the
issue.

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-09-25 16:48:35 -04:00
Brent Baude
33a92aa006 Enable machine e2e test for applehv
This PR allows you to run the pkg/machine/e2e tests for the applehv PROVIDER.  This does not mean they pass, only that they can run.  There also appears to be leftover gvproxy processes at the conclusion of a single test.  This will need to be corrected.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-25 15:45:26 -05:00
Ashley Cui
65ce034863 hyperV: Respect rootful option on machine init
Fixed a bug where the rootful option to the podman machine init command
would not be written to to the machine config, and the rootful docker
sock would not be set.

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-09-25 16:13:55 -04:00
OpenShift Merge Robot
7133f5d388
Merge pull request #20117 from baude/hypervsettest
hyperv: machine e2e tests for set command
2023-09-25 13:54:18 -04:00
Brent Baude
41e51f4738 hyperv: machine e2e tests for set command
The usermode networking scenario is only for WSL.  Hyperv cannot run it.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-25 09:54:38 -05:00
Valentin Rothberg
6293ec2e2d fix handling of static/volume dir
The processing and setting of the static and volume directories was
scattered across the code base (including c/common) leading to subtle
errors that surfaced in #19938.

There were multiple issues that I try to summarize below:

 - c/common loaded the graphroot from c/storage to set the defaults for
   static and volume dir.  That ignored Podman's --root flag and
   surfaced in #19938 and other bugs.  c/common does not set the
   defaults anymore which gives Podman the ability to detect when the
   user/admin configured a custom directory (not empty value).

 - When parsing the CLI, Podman (ab)uses containers.conf structures to
   set the defaults but also to override them in case the user specified
   a flag.  The --root flag overrode the static dir which is wrong and
   broke a couple of use cases.  Now there is a dedicated field for in
   the "PodmanConfig" which also includes a containers.conf struct.

 - The defaults for static and volume dir and now being set correctly
   and adhere to --root.

 - The CONTAINERS_CONF_OVERRIDE env variable has not been passed to the
   cleanup process.  I believe that _all_ env variables should be passed
   to conmon to avoid such subtle bugs.

Overall I find that the code and logic is scattered and hard to
understand and follow.  I refrained from larger refactorings as I really
just want to get #19938 fixed and then go back to other priorities.

https://github.com/containers/common/pull/1659 broke three pkg/machine
tests.  Those have been commented out until getting fixed.

Fixes: #19938
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-09-25 14:14:30 +02:00
OpenShift Merge Robot
9ba0022905
Merge pull request #20115 from baude/hypervstarting
hyperv: set more realistic starting state
2023-09-24 19:24:50 -04:00
OpenShift Merge Robot
7359a2df19
Merge pull request #20116 from baude/hypervremoveforce
hyperv: use StopWithForce with remove
2023-09-24 19:13:03 -04:00
OpenShift Merge Robot
3d5b9e80c6
Merge pull request #20114 from baude/hypervtzfix
Fix setting timezone on HyperV
2023-09-24 17:00:20 -04:00
Brent Baude
08936db354 hyperv: set more realistic starting state
the window for hyperv's "Starting" state is very narrow; so to more
mimic qemu, we follow suit.  starting bools are set when the vm boots
and when it communicates back on the read socket.

this allows pkg/machine/init_test.go to pass

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-24 10:13:43 -05:00
Brent Baude
2bef573f34 hyperv: use StopWithForce with remove
When doing a machine rm -f (force removal of a machine) or a machine
reset (force removal of all machines), there is no need to use a
"polite/soft" stop.

this will also speed up pkg/machine/e2e tests.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-24 09:49:40 -05:00
Peter Werner
f52b02f406 Fix all ports exposed by kube play
Container ports defined with containerPort were exposed by default
even though kubernetes interprets them as mostly informative.
Closes #17028

Signed-off-by: Peter Werner <wpw.peter@gmail.com>
2023-09-23 19:53:46 +02:00
Brent Baude
cd4f611810 Fix setting timezone on HyperV
the timezone was being set with the wrong path separator for hyperv
because it was being generated on Windows.

Fixes: coreos/fedora-coreos-tracker#1580

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-09-23 11:04:45 -05:00
Ashley Cui
d8e3057165 Adjust machine CPU tests
Machine cpu default has changed to cpus/2, so adjust the tests to reflect that.

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-09-22 13:11:12 -04:00
OpenShift Merge Robot
5a3a9ce9c7
Merge pull request #20093 from baude/hypervinit
fixes for pkg/machine/e2e on hyperv
2023-09-22 06:49:43 -04:00