Merge branch 'master' into 21815
commit
c6bf01ffa7
2
Makefile
2
Makefile
|
|
@ -24,7 +24,7 @@ KIC_VERSION ?= $(shell grep -E "Version =" pkg/drivers/kic/types.go | cut -d \"
|
||||||
HUGO_VERSION ?= $(shell grep -E "HUGO_VERSION = \"" netlify.toml | cut -d \" -f2)
|
HUGO_VERSION ?= $(shell grep -E "HUGO_VERSION = \"" netlify.toml | cut -d \" -f2)
|
||||||
|
|
||||||
# Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
|
# Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
|
||||||
ISO_VERSION ?= v1.37.0-1761414747-21797
|
ISO_VERSION ?= v1.37.0-1761658712-21800
|
||||||
|
|
||||||
# Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
|
# Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
|
||||||
DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
|
DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
|
||||||
|
|
|
||||||
|
|
@ -947,7 +947,7 @@ CONFIG_CMA_SIZE_MBYTES=32
|
||||||
CONFIG_PRINTK_TIME=y
|
CONFIG_PRINTK_TIME=y
|
||||||
CONFIG_DEBUG_KERNEL=y
|
CONFIG_DEBUG_KERNEL=y
|
||||||
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
|
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
|
||||||
CONFIG_DEBUG_INFO_REDUCED=y
|
CONFIG_DEBUG_INFO_BTF=y
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
CONFIG_MAGIC_SYSRQ=y
|
||||||
CONFIG_DEBUG_FS=y
|
CONFIG_DEBUG_FS=y
|
||||||
# CONFIG_SCHED_DEBUG is not set
|
# CONFIG_SCHED_DEBUG is not set
|
||||||
|
|
|
||||||
|
|
@ -502,6 +502,8 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=y
|
||||||
CONFIG_CRYPTO_AES_NI_INTEL=y
|
CONFIG_CRYPTO_AES_NI_INTEL=y
|
||||||
CONFIG_PRINTK_TIME=y
|
CONFIG_PRINTK_TIME=y
|
||||||
CONFIG_DEBUG_KERNEL=y
|
CONFIG_DEBUG_KERNEL=y
|
||||||
|
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
|
||||||
|
CONFIG_DEBUG_INFO_BTF=y
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
CONFIG_MAGIC_SYSRQ=y
|
||||||
CONFIG_DEBUG_STACK_USAGE=y
|
CONFIG_DEBUG_STACK_USAGE=y
|
||||||
# CONFIG_SCHED_DEBUG is not set
|
# CONFIG_SCHED_DEBUG is not set
|
||||||
|
|
@ -509,6 +511,8 @@ CONFIG_SCHEDSTATS=y
|
||||||
CONFIG_FUNCTION_TRACER=y
|
CONFIG_FUNCTION_TRACER=y
|
||||||
CONFIG_FTRACE_SYSCALLS=y
|
CONFIG_FTRACE_SYSCALLS=y
|
||||||
CONFIG_BLK_DEV_IO_TRACE=y
|
CONFIG_BLK_DEV_IO_TRACE=y
|
||||||
|
CONFIG_BPF_KPROBE_OVERRIDE=y
|
||||||
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
|
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
|
||||||
CONFIG_EARLY_PRINTK_DBGP=y
|
CONFIG_EARLY_PRINTK_DBGP=y
|
||||||
CONFIG_DEBUG_BOOT_PARAMS=y
|
CONFIG_DEBUG_BOOT_PARAMS=y
|
||||||
|
CONFIG_FUNCTION_ERROR_INJECTION=y
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ const fileScheme = "file"
|
||||||
// DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order
|
// DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order
|
||||||
func DefaultISOURLs() []string {
|
func DefaultISOURLs() []string {
|
||||||
v := version.GetISOVersion()
|
v := version.GetISOVersion()
|
||||||
isoBucket := "minikube-builds/iso/21797"
|
isoBucket := "minikube-builds/iso/21800"
|
||||||
|
|
||||||
return []string{
|
return []string{
|
||||||
fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH),
|
fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH),
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
@ -712,45 +713,41 @@ preferences: {}
|
||||||
users:
|
users:
|
||||||
- name: minikube
|
- name: minikube
|
||||||
`
|
`
|
||||||
var tests = []struct {
|
tests := []struct {
|
||||||
description string
|
description string
|
||||||
kubeconfigPath string
|
config string
|
||||||
config string
|
err bool
|
||||||
err bool
|
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
description: "ok",
|
description: "ok",
|
||||||
kubeconfigPath: "/tmp/kube_config",
|
config: mockK8sConfig,
|
||||||
config: mockK8sConfig,
|
err: false,
|
||||||
err: false,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "empty config",
|
description: "empty config",
|
||||||
kubeconfigPath: "/tmp/kube_config",
|
config: "",
|
||||||
config: "",
|
err: true,
|
||||||
err: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "broken config",
|
description: "broken config",
|
||||||
kubeconfigPath: "/tmp/kube_config",
|
config: "this**is&¬: yaml::valid: file",
|
||||||
config: "this**is&¬: yaml::valid: file",
|
err: true,
|
||||||
err: true,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.description, func(t *testing.T) {
|
t.Run(test.description, func(t *testing.T) {
|
||||||
mockK8sConfigByte := []byte(test.config)
|
tmpDir := t.TempDir()
|
||||||
mockK8sConfigPath := test.kubeconfigPath
|
mockK8sConfigPath := filepath.Join(tmpDir, "kube_config")
|
||||||
err := os.WriteFile(mockK8sConfigPath, mockK8sConfigByte, 0644)
|
|
||||||
defer os.Remove(mockK8sConfigPath)
|
if err := os.WriteFile(mockK8sConfigPath, []byte(test.config), 0600); err != nil {
|
||||||
if err != nil {
|
t.Fatalf("failed to write kubeconfig: %v", err)
|
||||||
t.Fatalf("Unexpected error when writing to file %v. Error: %v", test.kubeconfigPath, err)
|
|
||||||
}
|
}
|
||||||
t.Setenv("KUBECONFIG", mockK8sConfigPath)
|
t.Setenv("KUBECONFIG", mockK8sConfigPath)
|
||||||
|
|
||||||
k8s := K8sClientGetter{}
|
k8s := K8sClientGetter{}
|
||||||
_, err = k8s.GetCoreClient("minikube")
|
_, err := k8s.GetCoreClient("minikube")
|
||||||
|
|
||||||
if err != nil && !test.err {
|
if err != nil && !test.err {
|
||||||
t.Fatalf("GetCoreClient returned unexpected error: %v", err)
|
t.Fatalf("GetCoreClient returned unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -165,7 +165,7 @@ no = 'Sorry to hear that. Please <a href="https://github.com/kubernetes/minikube
|
||||||
[[params.links.developer]]
|
[[params.links.developer]]
|
||||||
name = "Project Roadmap"
|
name = "Project Roadmap"
|
||||||
url = "https://minikube.sigs.k8s.io/docs/contrib/roadmap/"
|
url = "https://minikube.sigs.k8s.io/docs/contrib/roadmap/"
|
||||||
icon = "fas fa-external-link-alt"
|
icon = "fas fa-map"
|
||||||
desc = "Check out the project roadmap"
|
desc = "Check out the project roadmap"
|
||||||
|
|
||||||
# minikube meetings
|
# minikube meetings
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"k8s.io/minikube/pkg/minikube/vmpath"
|
"k8s.io/minikube/pkg/minikube/vmpath"
|
||||||
|
|
@ -117,4 +118,17 @@ func TestISOImage(t *testing.T) {
|
||||||
t.Logf(" %s: %s", k, v)
|
t.Logf(" %s: %s", k, v)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("eBPFSupport", func(t *testing.T) {
|
||||||
|
// Ensure that BTF type information is available (https://github.com/kubernetes/minikube/issues/21788)
|
||||||
|
btfFile := "/sys/kernel/btf/vmlinux"
|
||||||
|
rr, err := Run(t, exec.CommandContext(ctx, Target(), "-p", profile, "ssh", fmt.Sprintf("test -f %s && echo 'OK' || echo 'NOT FOUND'", btfFile)))
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("failed to verify existence of %q file: args %q: %v", btfFile, rr.Command(), err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !strings.Contains(rr.Stdout.String(), "OK") {
|
||||||
|
t.Errorf("expected file %q to exist, but it does not. BTF types are required for CO-RE eBPF programs; set CONFIG_DEBUG_INFO_BTF in kernel configuration.", btfFile)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue