diff options
| author | Ruakij <ruakij@ruekov.eu> | 2023-01-16 22:19:42 +0100 |
|---|---|---|
| committer | Ruakij <ruakij@ruekov.eu> | 2023-01-16 22:19:42 +0100 |
| commit | 63ac16c06307a59adca4da27ea2408de30050b50 (patch) | |
| tree | 1597ce563e55c6759cb37110c72965fb7df777a9 | |
| parent | 4899161d26d93496e15a293b8e8b99500d537fec (diff) | |
| download | seaweedfs-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.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 +} |
