Merge pull request #81230 from codenrhoden/rename-GetFSGroup

Rename HostUtils.GetFSGroup to HostUtils.GetOwner
This commit is contained in:
Kubernetes Prow Robot 2019-08-09 23:57:26 -07:00 committed by GitHub
commit 1d812991b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 30 additions and 26 deletions

View File

@ -261,10 +261,10 @@ func (hu *FakeHostUtil) EvalHostSymlinks(pathname string) (string, error) {
return pathname, nil return pathname, nil
} }
// GetFSGroup returns FSGroup of pathname. // GetOwner returns the integer ID for the user and group of the given path
// Not implemented for testing // Not implemented for testing
func (hu *FakeHostUtil) GetFSGroup(pathname string) (int64, error) { func (hu *FakeHostUtil) GetOwner(pathname string) (int64, int64, error) {
return -1, errors.New("GetFSGroup not implemented") return -1, -1, errors.New("GetOwner not implemented")
} }
// GetSELinuxSupport tests if pathname is on a mount that supports SELinux. // GetSELinuxSupport tests if pathname is on a mount that supports SELinux.

View File

@ -95,8 +95,8 @@ type HostUtils interface {
ExistsPath(pathname string) (bool, error) ExistsPath(pathname string) (bool, error)
// EvalHostSymlinks returns the path name after evaluating symlinks. // EvalHostSymlinks returns the path name after evaluating symlinks.
EvalHostSymlinks(pathname string) (string, error) EvalHostSymlinks(pathname string) (string, error)
// GetFSGroup returns FSGroup of the path. // GetOwner returns the integer ID for the user and group of the given path
GetFSGroup(pathname string) (int64, error) GetOwner(pathname string) (int64, int64, error)
// GetSELinuxSupport returns true if given path is on a mount that supports // GetSELinuxSupport returns true if given path is on a mount that supports
// SELinux. // SELinux.
GetSELinuxSupport(pathname string) (bool, error) GetSELinuxSupport(pathname string) (bool, error)

View File

@ -758,26 +758,28 @@ func (hu *hostUtil) GetSELinuxSupport(pathname string) (bool, error) {
return GetSELinux(pathname, procMountInfoPath) return GetSELinux(pathname, procMountInfoPath)
} }
func (hu *hostUtil) GetFSGroup(pathname string) (int64, error) { // GetOwner returns the integer ID for the user and group of the given path
func (hu *hostUtil) GetOwner(pathname string) (int64, int64, error) {
realpath, err := filepath.EvalSymlinks(pathname) realpath, err := filepath.EvalSymlinks(pathname)
if err != nil { if err != nil {
return 0, err return -1, -1, err
} }
return GetFSGroupLinux(realpath) return GetOwnerLinux(realpath)
} }
func (hu *hostUtil) GetMode(pathname string) (os.FileMode, error) { func (hu *hostUtil) GetMode(pathname string) (os.FileMode, error) {
return GetModeLinux(pathname) return GetModeLinux(pathname)
} }
// GetFSGroupLinux is shared between Linux and NsEnterMounter // GetOwnerLinux is shared between Linux and NsEnterMounter
// pathname must already be evaluated for symlinks // pathname must already be evaluated for symlinks
func GetFSGroupLinux(pathname string) (int64, error) { func GetOwnerLinux(pathname string) (int64, int64, error) {
info, err := os.Stat(pathname) info, err := os.Stat(pathname)
if err != nil { if err != nil {
return 0, err return -1, -1, err
} }
return int64(info.Sys().(*syscall.Stat_t).Gid), nil stat := info.Sys().(*syscall.Stat_t)
return int64(stat.Uid), int64(stat.Gid), nil
} }
// GetModeLinux is shared between Linux and NsEnterMounter // GetModeLinux is shared between Linux and NsEnterMounter

View File

@ -130,8 +130,9 @@ func (hu *hostUtil) EvalHostSymlinks(pathname string) (string, error) {
return "", errUnsupported return "", errUnsupported
} }
func (hu *hostUtil) GetFSGroup(pathname string) (int64, error) { // GetOwner returns the integer ID for the user and group of the given path
return -1, errUnsupported func (hu *hostUtil) GetOwner(pathname string) (int64, int64, error) {
return -1, -1, errUnsupported
} }
func (hu *hostUtil) GetSELinuxSupport(pathname string) (bool, error) { func (hu *hostUtil) GetSELinuxSupport(pathname string) (bool, error) {

View File

@ -403,10 +403,11 @@ func (hu *hostUtil) EvalHostSymlinks(pathname string) (string, error) {
return filepath.EvalSymlinks(pathname) return filepath.EvalSymlinks(pathname)
} }
// Note that on windows, it always returns 0. We actually don't set FSGroup on // GetOwner returns the integer ID for the user and group of the given path
// Note that on windows, it always returns 0. We actually don't set Group on
// windows platform, see SetVolumeOwnership implementation. // windows platform, see SetVolumeOwnership implementation.
func (hu *hostUtil) GetFSGroup(pathname string) (int64, error) { func (hu *hostUtil) GetOwner(pathname string) (int64, int64, error) {
return 0, nil return -1, -1, nil
} }
func (hu *hostUtil) GetSELinuxSupport(pathname string) (bool, error) { func (hu *hostUtil) GetSELinuxSupport(pathname string) (bool, error) {

View File

@ -25,7 +25,7 @@ import (
"k8s.io/klog" "k8s.io/klog"
"k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/tools/record" "k8s.io/client-go/tools/record"
@ -480,7 +480,7 @@ func (m *localVolumeMounter) SetUpAt(dir string, mounterArgs volume.MounterArgs)
refs = m.filterPodMounts(refs) refs = m.filterPodMounts(refs)
if len(refs) > 0 { if len(refs) > 0 {
fsGroupNew := int64(*mounterArgs.FsGroup) fsGroupNew := int64(*mounterArgs.FsGroup)
fsGroupOld, err := m.hostUtil.GetFSGroup(m.globalPath) _, fsGroupOld, err := m.hostUtil.GetOwner(m.globalPath)
if err != nil { if err != nil {
return fmt.Errorf("failed to check fsGroup for %s (%v)", m.globalPath, err) return fmt.Errorf("failed to check fsGroup for %s (%v)", m.globalPath, err)
} }

View File

@ -334,14 +334,14 @@ func (hu *hostUtil) EvalHostSymlinks(pathname string) (string, error) {
return hu.ne.EvalSymlinks(pathname, true) return hu.ne.EvalSymlinks(pathname, true)
} }
// GetFSGroup returns FSGroup of pathname. // GetOwner returns the integer ID for the user and group of the given path
func (hu *hostUtil) GetFSGroup(pathname string) (int64, error) { func (hu *hostUtil) GetOwner(pathname string) (int64, int64, error) {
hostPath, err := hu.ne.EvalSymlinks(pathname, true /* mustExist */) hostPath, err := hu.ne.EvalSymlinks(pathname, true /* mustExist */)
if err != nil { if err != nil {
return -1, err return -1, -1, err
} }
kubeletpath := hu.ne.KubeletPath(hostPath) kubeletpath := hu.ne.KubeletPath(hostPath)
return mount.GetFSGroupLinux(kubeletpath) return mount.GetOwnerLinux(kubeletpath)
} }
// GetSELinuxSupport tests if pathname is on a mount that supports SELinux. // GetSELinuxSupport tests if pathname is on a mount that supports SELinux.

View File

@ -134,9 +134,9 @@ func (*hostUtil) EvalHostSymlinks(pathname string) (string, error) {
return "", errors.New("not implemented") return "", errors.New("not implemented")
} }
// GetFSGroup returns FSGroup of pathname. Always returns an error on unsupported platforms // GetOwner returns the integer ID for the user and group of the given path
func (*hostUtil) GetFSGroup(pathname string) (int64, error) { func (*hostUtil) GetOwner(pathname string) (int64, int64, error) {
return -1, errors.New("not implemented") return -1, -1, errors.New("not implemented")
} }
// GetSELinuxSupport tests if pathname is on a mount that supports SELinux. // GetSELinuxSupport tests if pathname is on a mount that supports SELinux.