aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuakij <ruakij@ruekov.eu>2023-01-16 22:19:42 +0100
committerRuakij <ruakij@ruekov.eu>2023-01-16 22:19:42 +0100
commit63ac16c06307a59adca4da27ea2408de30050b50 (patch)
tree1597ce563e55c6759cb37110c72965fb7df777a9
parent4899161d26d93496e15a293b8e8b99500d537fec (diff)
downloadseaweedfs-csi-driver-63ac16c06307a59adca4da27ea2408de30050b50.tar.xz
seaweedfs-csi-driver-63ac16c06307a59adca4da27ea2408de30050b50.zip
Add util-check for dataLocality and use it
-rw-r--r--cmd/seaweedfs-csi-driver/main.go4
-rw-r--r--pkg/driver/mounter_seaweedfs.go3
-rw-r--r--pkg/driver/utils.go8
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
+}