Commit Graph

327 Commits (ae87c281a8e7fc2b75b51b9613ab89640fed3216)

Author SHA1 Message Date
Nir Soffer 7bc97d7ce1 kvm: Convert to internal driver
Remove the docker-machine-driver-kvm2 wrapper and use the kvm driver as
internal driver.

To avoid dependency on libvirt shared library on Linux, we build now
with the libvirt_dlopen build tag. This is used only linux to avoid
linking with libvirt shared library. This is not documnted but can be
found in the source.
f7cdeba997/domain.go (L30)

With this we don't need libvirt devel libraries during build, and in
runtime we will fail if libvirt shared library is not installed.

With this change minikube can not be built for linux !amd64 since building
libvirt go binding requires CGO, and it does not work by changing GOARCH.
2025-10-19 17:20:47 +03:00
Nir Soffer b4f0f94982 Remove trailing whitespace
My editor is configured to remove trailing spaces automatically. Adding
as a separate commit to minimize the actual change and allow commit this
change separately from the kvm driver change.
2025-10-03 22:19:58 +03:00
Predrag Rogic 0e4fa50244
set sysctl params for inotify, to avoid 'too many open files' errors 2025-09-20 04:03:41 +01:00
Nir Soffer 56975bc752
Add krunkit driver supporting GPU acceleration on macOS (#20826)
* krunkit: Add krunkit driver

krunkit is a tool to launch configurable virtual machines using the
libkrun platform, optimized for GPU accelerated virtual machines and AI
workloads on Apple silicon.

It is mostly compatible with vfkit; the driver is a simplified copy of
the vfkit driver. Unlike vfkit, krunkit is available only on Apple
silicon.

Changes compared to vfkit driver:
- krunkit requires unix socket for networking, so we must use
  vment-helper.
- krunkit does not support HardStop, so we kill it using SIGKILL.
- We must enable vmnet offloading, required for krunkit.
- The code was simplified since vmnet-helper is always used
- Code was cleaned up to use .ResolveStorePath()
- Unused Upgrade() function was removed
- Types and functions that should not be public made private

We require krunkit 0.2.2, supporting --restul-uri=unix://.

* reason: Make vment-helper error driver agnostic

Previously it was used only for vfkit, so we suggested to fallback to
the `nat` network. This advice is not relevant to krunkit or to qemu
(which can also use vmnet-helper).

Change the error to recommend installing vment-helper. We need to think
how we can recommend other networks for vfkit and qemu. Another solution
is to create error for every driver+network combination but this seems
hard to manage.

* hack: Add krunkit integration test

This is the same way that we test vfkit. This test is not running in the
CI.

Issues:
- Need to install and configure vment-helper (requires root).

* site: Add krunkit driver documentation
2025-07-21 12:59:28 -07:00
Medya Ghazizadeh 4756f9c0aa
login docker (#21042) 2025-07-08 10:06:19 -07:00
Anders Björklund 5295883f4c
Add new macOS vfkit driver, like hyperkit and qemu (#19423)
* Add new macOS vfkit driver, like hyperkit and qemu

It uses the new Virtualization.framework from macOS 11,
instead of the older Hypervisor.framework (hvf) in QEMU.

* Start vfkit in a new process group

* vfkit: Add firewall workaround from minikube

* vfkit: Add HostIP implementation for gateway

* vfkit: Add driver to extra-disks supported

* Add documentation for vfkit driver

* vfkit: Add usual integration tests

* Update site/content/en/docs/drivers/vfkit.md

Co-authored-by: Steven Powell <44844360+spowelljr@users.noreply.github.com>

---------

Co-authored-by: Nir Soffer <nsoffer@redhat.com>
Co-authored-by: Medya Ghazizadeh <medyagh@users.noreply.github.com>
Co-authored-by: Steven Powell <44844360+spowelljr@users.noreply.github.com>
2024-09-03 09:54:03 -07:00
Steven Powell 02dbe446a6 add characters before and after variable to detect whitespace 2024-08-26 14:09:08 -07:00
Steven Powell fa77a07edd add more debugging logs 2024-08-26 13:09:42 -07:00
Steven Powell 64b1d154dc WIP: Debug Cloud Shell tests not uploading results 2024-08-16 11:08:20 -07:00
Timothée Ravier 9c41c6536f treewide: Replace 'egrep' with 'grep -E'
Fixes the following warning:
```
egrep: warning: egrep is obsolescent; using grep -E
```
2024-01-14 19:58:57 +01:00
Steven Powell 88aba206aa CI: Fix HyperKit failing to start 2023-11-21 15:53:45 -05:00
Steven Powell a746bdf5bf CI: Fix gopogh not installed & missing DB_BACKEND 2023-08-04 11:13:00 -07:00
Steven Powell f156ed82dc CI: Add missing $ 2023-08-03 14:43:59 -07:00
Steven Powell 52b249993c CI: Store HEAD test results to DB 2023-08-03 14:37:25 -07:00
Steven Powell c61051ea67 add iptables and conntrack location to PATH 2023-05-01 11:15:48 -07:00
Steven Powell fa9388fc9d remove sudo -E from none driver 2023-04-28 14:58:25 -07:00
minikube-bot 2af022b157 CI: Update gopogh from v0.16.0 to v0.17.0 2023-04-24 09:02:30 +00:00
minikube-bot d8a692a8df CI: Update gopogh from v0.15.0 to v0.16.0 2023-04-04 17:45:19 +00:00
Steven Powell 5741979b31 CI: Always require Docker to be running 2023-03-29 10:31:17 -07:00
Steven Powell 995980dba6 CI: remove test_summary.json 2023-03-27 09:04:41 -07:00
Steven Powell 2d618dd41e CI: only setup docker if using docker driver 2023-03-24 15:06:42 -07:00
minikube-bot 1ad0093b28 bump gopogh versions 2023-03-03 22:53:24 +00:00
Steven Powell f39b81c749 CI: remove old gopogh & gotestsum installs 2023-03-03 10:17:26 -08:00
Steven Powell c9f778da96 CI: install gopogh via go install 2023-03-02 11:20:31 -08:00
Steven Powell cafa8073a1
Merge pull request #15071 from spowelljr/shortenTestPath
tests: Shorten qmp path
2022-10-11 16:37:53 -07:00
Steven Powell da5b9111f2 stop killing docker process 2022-10-10 15:14:34 -07:00
Steven Powell ff9476cbd1 remove commit and add minikube location 2022-10-10 12:58:01 -07:00
Steven Powell e8190a6236 tests: shorten qmp path 2022-10-10 12:56:36 -07:00
Steven Powell d920d7e305 add arm64 Homebrew dir to PATH env 2022-07-11 14:39:15 -07:00
Steven Powell a8b69283f7 ensure cleaning all of docker up 2022-06-15 13:20:52 -07:00
Steven Powell 1dde1d5956 automate updating gopogh 2022-05-24 12:31:26 -07:00
Steven Powell 68731bf7c6 move cron install to installers dir 2022-05-12 10:10:07 -07:00
Steven Powell 3e0cd168b5 add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
Steven Powell b17834c96b added env to suppress Docker performance messages 2021-12-14 13:46:52 -08:00
Steven Powell 8c74e26567
Merge pull request #12770 from spowelljr/arm64Jq
Throw error if trying to install jq on arm64 machines
2021-11-08 11:21:09 -07:00
Steven Powell f8a0c53415 update exit message 2021-11-08 08:58:28 -05:00
Steven Powell a565ec05e5 add install case for linux arm64 2021-11-08 08:56:48 -05:00
Sharif Elgamal 21a66f038c ci script stuffs 2021-11-04 12:47:49 -07:00
Steven Powell 82bd665abb error if trying to install jq on arm64 machines 2021-10-25 10:25:40 -07:00
Sharif Elgamal 728e97d154 install dnsutils for nslookup on linux machines 2021-09-15 09:40:32 -07:00
Sharif Elgamal f11d14de59 make sure to install the same version of golang across scripts 2021-09-02 11:22:53 -07:00
minikube-bot bf5f081a53 bump golang versions 2021-08-30 23:49:19 +00:00
minikube-bot f3a069b729 bump golang versions 2021-08-09 09:02:04 +00:00
minikube-bot 390c72ec61 bump golang versions 2021-07-28 23:11:44 +00:00
Andriy Dzikh 2951ab9a33 Replace all links in hack/jenkins using short commit with root job id. 2021-07-27 11:35:43 -07:00
Andriy Dzikh 047be99688 Add ROOT_JOB_ID to gopogh details. 2021-07-26 10:23:27 -07:00
Andriy Dzikh a0facafa5e Bump gopogh version from v0.8.0 to v0.9.0. 2021-07-23 15:45:14 -07:00
Andriy Dzikh 25e561a4f7 Create proper installer script for gotestsum. 2021-07-13 14:17:32 -07:00
Andriy Dzikh b9d6528f26 Use gotestsum for testing output and json output. 2021-07-13 14:17:30 -07:00
Ilya Zuyev 92604a3c00 simplify check_install_golang.sh invocation 2021-07-13 11:47:20 -07:00