mirror of https://github.com/kubernetes/kops.git
Properly detect that bpffs has been mounted
This commit is contained in:
parent
249beba657
commit
f2f29d92d6
1
go.mod
1
go.mod
|
|
@ -124,6 +124,7 @@ require (
|
|||
golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e
|
||||
golang.org/x/net v0.0.0-20191126235420-ef20fe5d7933
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
|
||||
golang.org/x/tools v0.0.0-20191203134012-c197fd4bf371
|
||||
google.golang.org/api v0.17.0
|
||||
gopkg.in/gcfg.v1 v1.2.0
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ go_library(
|
|||
"//vendor/github.com/aws/aws-sdk-go/aws/session:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/service/ec2:go_default_library",
|
||||
"//vendor/github.com/blang/semver:go_default_library",
|
||||
"//vendor/golang.org/x/sys/unix:go_default_library",
|
||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ package model
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
"k8s.io/kops/upup/pkg/fi"
|
||||
"k8s.io/kops/upup/pkg/fi/nodeup/nodetasks"
|
||||
)
|
||||
|
|
@ -70,15 +70,15 @@ func (b *NetworkBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
if networking.Cilium != nil {
|
||||
// systemd v238 includes the bpffs mount by default; and gives an error "has a bad unit file setting" if we try to mount it again (see mount_point_is_api)
|
||||
var alreadyMounted bool
|
||||
_, err := os.Stat("/sys/fs/bpf")
|
||||
// bpffs magic number
|
||||
magic := uint32(0xCAFE4A11)
|
||||
var fsdata unix.Statfs_t
|
||||
err := unix.Statfs("/sys/fs/bpf", &fsdata)
|
||||
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
alreadyMounted = false
|
||||
} else {
|
||||
return fmt.Errorf("error checking for /sys/fs/bpf: %v", err)
|
||||
}
|
||||
} else {
|
||||
alreadyMounted = true
|
||||
alreadyMounted = int32(magic) == int32(fsdata.Type)
|
||||
}
|
||||
|
||||
if !alreadyMounted {
|
||||
|
|
|
|||
Loading…
Reference in New Issue