diff options
| -rw-r--r-- | cmd/seaweedfs-csi-driver/main.go | 4 | ||||
| -rw-r--r-- | pkg/driver/mounter_seaweedfs.go | 3 | ||||
| -rw-r--r-- | pkg/driver/utils.go | 8 |
3 files changed, 13 insertions, 2 deletions
diff --git a/cmd/seaweedfs-csi-driver/main.go b/cmd/seaweedfs-csi-driver/main.go index 3a0f2c8..5542b93 100644 --- a/cmd/seaweedfs-csi-driver/main.go +++ b/cmd/seaweedfs-csi-driver/main.go @@ -79,8 +79,8 @@ func convertRequiredValues() error { } func checkPreconditions() error { - if(dataLocality != datalocality.None && *dataCenter == ""){ - return fmt.Errorf("dataLocality set, but not all locality-definitions were set! ('dataCenter')") + if err := driver.CheckDataLocality(&dataLocality, dataCenter); err != nil { + return err } return nil diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go index 0fc4281..12142af 100644 --- a/pkg/driver/mounter_seaweedfs.go +++ b/pkg/driver/mounter_seaweedfs.go @@ -106,6 +106,9 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) (Unmounter, error) { dataLocality = dataLocalityRes } } + if err := CheckDataLocality(&dataLocality, &seaweedFs.driver.DataCenter); err != nil { + return nil, err + } // Settings based on type switch(dataLocality){ case datalocality.Write_preferLocalDc: diff --git a/pkg/driver/utils.go b/pkg/driver/utils.go index b629543..e103079 100644 --- a/pkg/driver/utils.go +++ b/pkg/driver/utils.go @@ -8,6 +8,7 @@ import ( "sync" "github.com/container-storage-interface/spec/lib/go/csi" + "github.com/seaweedfs/seaweedfs-csi-driver/pkg/datalocality" "github.com/seaweedfs/seaweedfs/weed/glog" "golang.org/x/net/context" "google.golang.org/grpc" @@ -121,3 +122,10 @@ func (km *KeyMutex) GetMutex(key string) *sync.Mutex { func (km *KeyMutex) RemoveMutex(key string) { km.mutexes.Delete(key) } + +func CheckDataLocality(dataLocality *datalocality.DataLocality, dataCenter *string) error { + if(*dataLocality != datalocality.None && *dataCenter == ""){ + return fmt.Errorf("dataLocality set, but not all locality-definitions were set") + } + return nil +} |
