Cinder Volume Plugin

This commit is contained in:
Sreekanth Pothanis
2015-04-10 09:54:01 -07:00
parent a078eba5b3
commit f5da6b34ce
26 changed files with 1318 additions and 8 deletions

View File

@@ -22,6 +22,7 @@ import (
"k8s.io/kubernetes/pkg/api"
client "k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/types"
"k8s.io/kubernetes/pkg/util"
"k8s.io/kubernetes/pkg/util/mount"
@@ -32,10 +33,11 @@ type fakeVolumeHost struct {
rootDir string
kubeClient client.Interface
pluginMgr VolumePluginMgr
cloud cloudprovider.Interface
}
func NewFakeVolumeHost(rootDir string, kubeClient client.Interface, plugins []VolumePlugin) *fakeVolumeHost {
host := &fakeVolumeHost{rootDir: rootDir, kubeClient: kubeClient}
host := &fakeVolumeHost{rootDir: rootDir, kubeClient: kubeClient, cloud: nil}
host.pluginMgr.InitPlugins(plugins, host)
return host
}
@@ -56,6 +58,10 @@ func (f *fakeVolumeHost) GetKubeClient() client.Interface {
return f.kubeClient
}
func (f *fakeVolumeHost) GetCloudProvider() cloudprovider.Interface {
return f.cloud
}
func (f *fakeVolumeHost) NewWrapperBuilder(spec *Spec, pod *api.Pod, opts VolumeOptions, mounter mount.Interface) (Builder, error) {
plug, err := f.pluginMgr.FindPluginBySpec(spec)
if err != nil {