Rename UniqueDeviceName to UniqueVolumeName

Rename UniqueDeviceName to UniqueVolumeName and move helper functions
from attacherdetacher to volumehelper package.
Introduce UniquePodName alias
This commit is contained in:
saadali
2016-05-30 15:48:21 -07:00
parent 130341b5f1
commit 9b6a505f8a
48 changed files with 763 additions and 240 deletions

View File

@@ -78,10 +78,19 @@ func (plugin *hostPathPlugin) Init(host volume.VolumeHost) error {
return nil
}
func (plugin *hostPathPlugin) Name() string {
func (plugin *hostPathPlugin) GetPluginName() string {
return hostPathPluginName
}
func (plugin *hostPathPlugin) GetVolumeName(spec *volume.Spec) (string, error) {
volumeSource, _ := getVolumeSource(spec)
if volumeSource == nil {
return "", fmt.Errorf("Spec does not reference an HostPath volume type")
}
return volumeSource.Path, nil
}
func (plugin *hostPathPlugin) CanSupport(spec *volume.Spec) bool {
return (spec.PersistentVolume != nil && spec.PersistentVolume.Spec.HostPath != nil) ||
(spec.Volume != nil && spec.Volume.HostPath != nil)
@@ -303,3 +312,18 @@ func (r *hostPathDeleter) Delete() error {
}
return os.RemoveAll(r.GetPath())
}
func getVolumeSource(spec *volume.Spec) (*api.HostPathVolumeSource, bool) {
var readOnly bool
var volumeSource *api.HostPathVolumeSource
if spec.Volume != nil && spec.Volume.HostPath != nil {
volumeSource = spec.Volume.HostPath
readOnly = spec.ReadOnly
} else {
volumeSource = spec.PersistentVolume.Spec.HostPath
readOnly = spec.ReadOnly
}
return volumeSource, readOnly
}