mirror of https://github.com/k3s-io/k3s
Fixed mounting with containerized kubelet.
Kubelet was not able to mount volumes when running inside a container and using nsenter mounter, NsenterMounter.IsLikelyNotMountPoint() should return ErrNotExist when the checked directory does not exists as the regular mounted does this and some volume plugins depend on this behavior.pull/6/head
parent
f89432e44b
commit
92f181174b
|
@ -34,6 +34,7 @@ type Interface interface {
|
|||
// consistent.
|
||||
List() ([]MountPoint, error)
|
||||
// IsLikelyNotMountPoint determines if a directory is a mountpoint.
|
||||
// It should return ErrNotExist when the directory does not exist.
|
||||
IsLikelyNotMountPoint(file string) (bool, error)
|
||||
}
|
||||
|
||||
|
|
|
@ -170,6 +170,12 @@ func (n *NsenterMounter) IsLikelyNotMountPoint(file string) (bool, error) {
|
|||
return true, err
|
||||
}
|
||||
|
||||
// Check the directory exists
|
||||
if _, err = os.Stat(file); os.IsNotExist(err) {
|
||||
glog.V(5).Infof("findmnt: directory %s does not exist", file)
|
||||
return true, err
|
||||
}
|
||||
|
||||
args := []string{"--mount=/rootfs/proc/1/ns/mnt", "--", n.absHostPath("findmnt"), "-o", "target", "--noheadings", "--target", file}
|
||||
glog.V(5).Infof("findmnt command: %v %v", nsenterPath, args)
|
||||
|
||||
|
|
Loading…
Reference in New Issue