Specify node labels for fakeVolumeHost when testing

This commit is contained in:
Vladimir Vivien 2017-08-10 11:12:15 -04:00
parent eb700d86c5
commit 130bb03549

View File

@ -50,6 +50,7 @@ type fakeVolumeHost struct {
cloud cloudprovider.Interface
mounter mount.Interface
writer io.Writer
nodeLabels map[string]string
}
func NewFakeVolumeHost(rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin) *fakeVolumeHost {
@ -60,6 +61,12 @@ func NewFakeVolumeHostWithCloudProvider(rootDir string, kubeClient clientset.Int
return newFakeVolumeHost(rootDir, kubeClient, plugins, cloud)
}
func NewFakeVolumeHostWithNodeLabels(rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, labels map[string]string) *fakeVolumeHost {
volHost := newFakeVolumeHost(rootDir, kubeClient, plugins, nil)
volHost.nodeLabels = labels
return volHost
}
func newFakeVolumeHost(rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, cloud cloudprovider.Interface) *fakeVolumeHost {
host := &fakeVolumeHost{rootDir: rootDir, kubeClient: kubeClient, cloud: cloud}
host.mounter = &mount.FakeMounter{}
@ -149,7 +156,10 @@ func (f *fakeVolumeHost) GetConfigMapFunc() func(namespace, name string) (*v1.Co
}
func (f *fakeVolumeHost) GetNodeLabels() (map[string]string, error) {
return map[string]string{"test-label": "test-value"}, nil
if f.nodeLabels == nil {
f.nodeLabels = map[string]string{"test-label": "test-value"}
}
return f.nodeLabels, nil
}
func ProbeVolumePlugins(config VolumeConfig) []VolumePlugin {