RecyclableVolumePlugin interfaces

This commit is contained in:
markturansky
2015-05-29 16:32:44 -04:00
parent 2829fadfad
commit cb547f4b5c
3 changed files with 65 additions and 4 deletions

View File

@@ -82,6 +82,7 @@ type FakeVolumePlugin struct {
}
var _ VolumePlugin = &FakeVolumePlugin{}
var _ RecyclableVolumePlugin = &FakeVolumePlugin{}
func (plugin *FakeVolumePlugin) Init(host VolumeHost) {
plugin.Host = host
@@ -104,6 +105,10 @@ func (plugin *FakeVolumePlugin) NewCleaner(volName string, podUID types.UID, mou
return &FakeVolume{podUID, volName, plugin}, nil
}
func (plugin *FakeVolumePlugin) NewRecycler(spec *Spec) (Recycler, error) {
return &FakeRecycler{"/attributesTransferredFromSpec"}, nil
}
func (plugin *FakeVolumePlugin) GetAccessModes() []api.PersistentVolumeAccessMode {
return []api.PersistentVolumeAccessMode{}
}
@@ -133,3 +138,16 @@ func (fv *FakeVolume) TearDown() error {
func (fv *FakeVolume) TearDownAt(dir string) error {
return os.RemoveAll(dir)
}
type FakeRecycler struct {
path string
}
func (fr *FakeRecycler) Recycle() error {
// nil is success, else error
return nil
}
func (fr *FakeRecycler) GetPath() string {
return fr.path
}