Merge pull request #52900 from xiangpengzhao/remove-ed-const

Automatic merge from submit-queue (batch tested with PRs 60342, 60505, 59218, 52900, 60486). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use consts defined in api instead of defining another ones.

**What this PR does / why we need it**:
empty_dir defines some consts. There are already similar consts in api types. So remove the local ones in empty_dir.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
pull/6/head
Kubernetes Submit Queue 2018-02-28 06:07:31 -08:00 committed by GitHub
commit 2ae902a04e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 23 additions and 28 deletions

View File

@ -155,20 +155,12 @@ func (plugin *emptyDirPlugin) ConstructVolumeSpec(volName, mountPath string) (*v
type mountDetector interface { type mountDetector interface {
// GetMountMedium determines what type of medium a given path is backed // GetMountMedium determines what type of medium a given path is backed
// by and whether that path is a mount point. For example, if this // by and whether that path is a mount point. For example, if this
// returns (mediumMemory, false, nil), the caller knows that the path is // returns (v1.StorageMediumMemory, false, nil), the caller knows that the path is
// on a memory FS (tmpfs on Linux) but is not the root mountpoint of // on a memory FS (tmpfs on Linux) but is not the root mountpoint of
// that tmpfs. // that tmpfs.
GetMountMedium(path string) (storageMedium, bool, error) GetMountMedium(path string) (v1.StorageMedium, bool, error)
} }
type storageMedium int
const (
mediumUnknown storageMedium = 0 // assume anything we don't explicitly handle is this
mediumMemory storageMedium = 1 // memory (e.g. tmpfs on linux)
mediumHugepages storageMedium = 2 // hugepages
)
// EmptyDir volumes are temporary directories exposed to the pod. // EmptyDir volumes are temporary directories exposed to the pod.
// These do not persist beyond the lifetime of a pod. // These do not persist beyond the lifetime of a pod.
type emptyDir struct { type emptyDir struct {
@ -257,7 +249,7 @@ func (ed *emptyDir) setupTmpfs(dir string) error {
} }
// If the directory is a mountpoint with medium memory, there is no // If the directory is a mountpoint with medium memory, there is no
// work to do since we are already in the desired state. // work to do since we are already in the desired state.
if isMnt && medium == mediumMemory { if isMnt && medium == v1.StorageMediumMemory {
return nil return nil
} }
@ -280,7 +272,7 @@ func (ed *emptyDir) setupHugepages(dir string) error {
} }
// If the directory is a mountpoint with medium hugepages, there is no // If the directory is a mountpoint with medium hugepages, there is no
// work to do since we are already in the desired state. // work to do since we are already in the desired state.
if isMnt && medium == mediumHugepages { if isMnt && medium == v1.StorageMediumHugePages {
return nil return nil
} }
@ -388,10 +380,10 @@ func (ed *emptyDir) TearDownAt(dir string) error {
return err return err
} }
if isMnt { if isMnt {
if medium == mediumMemory { if medium == v1.StorageMediumMemory {
ed.medium = v1.StorageMediumMemory ed.medium = v1.StorageMediumMemory
return ed.teardownTmpfsOrHugetlbfs(dir) return ed.teardownTmpfsOrHugetlbfs(dir)
} else if medium == mediumHugepages { } else if medium == v1.StorageMediumHugePages {
ed.medium = v1.StorageMediumHugePages ed.medium = v1.StorageMediumHugePages
return ed.teardownTmpfsOrHugetlbfs(dir) return ed.teardownTmpfsOrHugetlbfs(dir)
} }

View File

@ -23,6 +23,8 @@ import (
"github.com/golang/glog" "github.com/golang/glog"
"golang.org/x/sys/unix" "golang.org/x/sys/unix"
"k8s.io/api/core/v1"
"k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/mount"
) )
@ -37,22 +39,22 @@ type realMountDetector struct {
mounter mount.Interface mounter mount.Interface
} }
func (m *realMountDetector) GetMountMedium(path string) (storageMedium, bool, error) { func (m *realMountDetector) GetMountMedium(path string) (v1.StorageMedium, bool, error) {
glog.V(5).Infof("Determining mount medium of %v", path) glog.V(5).Infof("Determining mount medium of %v", path)
notMnt, err := m.mounter.IsLikelyNotMountPoint(path) notMnt, err := m.mounter.IsLikelyNotMountPoint(path)
if err != nil { if err != nil {
return 0, false, fmt.Errorf("IsLikelyNotMountPoint(%q): %v", path, err) return v1.StorageMediumDefault, false, fmt.Errorf("IsLikelyNotMountPoint(%q): %v", path, err)
} }
buf := unix.Statfs_t{} buf := unix.Statfs_t{}
if err := unix.Statfs(path, &buf); err != nil { if err := unix.Statfs(path, &buf); err != nil {
return 0, false, fmt.Errorf("statfs(%q): %v", path, err) return v1.StorageMediumDefault, false, fmt.Errorf("statfs(%q): %v", path, err)
} }
glog.V(5).Infof("Statfs_t of %v: %+v", path, buf) glog.V(5).Infof("Statfs_t of %v: %+v", path, buf)
if buf.Type == linuxTmpfsMagic { if buf.Type == linuxTmpfsMagic {
return mediumMemory, !notMnt, nil return v1.StorageMediumMemory, !notMnt, nil
} else if int64(buf.Type) == linuxHugetlbfsMagic { } else if int64(buf.Type) == linuxHugetlbfsMagic {
return mediumHugepages, !notMnt, nil return v1.StorageMediumHugePages, !notMnt, nil
} }
return mediumUnknown, !notMnt, nil return v1.StorageMediumDefault, !notMnt, nil
} }

View File

@ -66,11 +66,11 @@ func TestCanSupport(t *testing.T) {
} }
type fakeMountDetector struct { type fakeMountDetector struct {
medium storageMedium medium v1.StorageMedium
isMount bool isMount bool
} }
func (fake *fakeMountDetector) GetMountMedium(path string) (storageMedium, bool, error) { func (fake *fakeMountDetector) GetMountMedium(path string) (v1.StorageMedium, bool, error) {
return fake.medium, fake.isMount, nil return fake.medium, fake.isMount, nil
} }
@ -196,9 +196,9 @@ func doTestPlugin(t *testing.T, config pluginTestConfig) {
physicalMounter.ResetLog() physicalMounter.ResetLog()
// Make an unmounter for the volume // Make an unmounter for the volume
teardownMedium := mediumUnknown teardownMedium := v1.StorageMediumDefault
if config.medium == v1.StorageMediumMemory { if config.medium == v1.StorageMediumMemory {
teardownMedium = mediumMemory teardownMedium = v1.StorageMediumMemory
} }
unmounterMountDetector := &fakeMountDetector{medium: teardownMedium, isMount: config.shouldBeMountedBeforeTeardown} unmounterMountDetector := &fakeMountDetector{medium: teardownMedium, isMount: config.shouldBeMountedBeforeTeardown}
unmounter, err := plug.(*emptyDirPlugin).newUnmounterInternal(volumeName, types.UID("poduid"), &physicalMounter, unmounterMountDetector) unmounter, err := plug.(*emptyDirPlugin).newUnmounterInternal(volumeName, types.UID("poduid"), &physicalMounter, unmounterMountDetector)

View File

@ -19,6 +19,7 @@ limitations under the License.
package empty_dir package empty_dir
import ( import (
"k8s.io/api/core/v1"
"k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/mount"
) )
@ -27,6 +28,6 @@ type realMountDetector struct {
mounter mount.Interface mounter mount.Interface
} }
func (m *realMountDetector) GetMountMedium(path string) (storageMedium, bool, error) { func (m *realMountDetector) GetMountMedium(path string) (v1.StorageMedium, bool, error) {
return mediumUnknown, false, nil return v1.StorageMediumDefault, false, nil
} }

View File

@ -1021,8 +1021,8 @@ type FlockerVolumeSource struct {
type StorageMedium string type StorageMedium string
const ( const (
StorageMediumDefault StorageMedium = "" // use whatever the default is for the node StorageMediumDefault StorageMedium = "" // use whatever the default is for the node, assume anything we don't explicitly handle is this
StorageMediumMemory StorageMedium = "Memory" // use memory (tmpfs) StorageMediumMemory StorageMedium = "Memory" // use memory (e.g. tmpfs on linux)
StorageMediumHugePages StorageMedium = "HugePages" // use hugepages StorageMediumHugePages StorageMedium = "HugePages" // use hugepages
) )