From fd4c019aba846f16f744ef50735b1ba7f26253da Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Tue, 19 Feb 2019 13:44:10 +0530 Subject: [PATCH] cleanup: remove duplicate code Signed-off-by: Madhu Rajanna --- cmd/cephfs/main.go | 19 +----------------- cmd/rbd/main.go | 25 +---------------------- pkg/util/util.go | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 42 deletions(-) create mode 100644 pkg/util/util.go diff --git a/cmd/cephfs/main.go b/cmd/cephfs/main.go index 907246f8e..719887763 100644 --- a/cmd/cephfs/main.go +++ b/cmd/cephfs/main.go @@ -19,11 +19,9 @@ package main import ( "flag" "os" - "path" "github.com/ceph/ceph-csi/pkg/cephfs" "github.com/ceph/ceph-csi/pkg/util" - "k8s.io/klog" ) var ( @@ -37,19 +35,8 @@ var ( func main() { util.InitLogging() - if err := createPersistentStorage(path.Join(cephfs.PluginFolder, "controller")); err != nil { - klog.Errorf("failed to create persistent storage for controller: %v", err) - os.Exit(1) - } - - if err := createPersistentStorage(path.Join(cephfs.PluginFolder, "node")); err != nil { - klog.Errorf("failed to create persistent storage for node: %v", err) - os.Exit(1) - } - - cp, err := util.NewCachePersister(*metadataStorage, *driverName) + cp, err := util.CreatePersistanceStorage(cephfs.PluginFolder, *metadataStorage, *driverName) if err != nil { - klog.Errorf("failed to define cache persistence method: %v", err) os.Exit(1) } @@ -58,7 +45,3 @@ func main() { os.Exit(0) } - -func createPersistentStorage(persistentStoragePath string) error { - return os.MkdirAll(persistentStoragePath, os.FileMode(0755)) -} diff --git a/cmd/rbd/main.go b/cmd/rbd/main.go index cd30bef68..6aec53ea7 100644 --- a/cmd/rbd/main.go +++ b/cmd/rbd/main.go @@ -19,11 +19,9 @@ package main import ( "flag" "os" - "path" "github.com/ceph/ceph-csi/pkg/rbd" "github.com/ceph/ceph-csi/pkg/util" - "k8s.io/klog" ) var ( @@ -37,18 +35,8 @@ var ( func main() { util.InitLogging() - if err := createPersistentStorage(path.Join(rbd.PluginFolder, "controller")); err != nil { - klog.Errorf("failed to create persistent storage for controller %v", err) - os.Exit(1) - } - if err := createPersistentStorage(path.Join(rbd.PluginFolder, "node")); err != nil { - klog.Errorf("failed to create persistent storage for node %v", err) - os.Exit(1) - } - - cp, err := util.NewCachePersister(*metadataStorage, *driverName) + cp, err := util.CreatePersistanceStorage(rbd.PluginFolder, *metadataStorage, *driverName) if err != nil { - klog.Errorf("failed to define cache persistence method: %v", err) os.Exit(1) } @@ -57,14 +45,3 @@ func main() { os.Exit(0) } - -func createPersistentStorage(persistentStoragePath string) error { - if _, err := os.Stat(persistentStoragePath); os.IsNotExist(err) { - if err = os.MkdirAll(persistentStoragePath, os.FileMode(0755)); err != nil { - return err - } - } else { - return err - } - return nil -} diff --git a/pkg/util/util.go b/pkg/util/util.go new file mode 100644 index 000000000..2382f87d7 --- /dev/null +++ b/pkg/util/util.go @@ -0,0 +1,49 @@ +/* +Copyright 2019 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package util + +import ( + "os" + "path" + + "k8s.io/klog" +) + +// CreatePersistanceStorage creates storage path and initializes new cache +func CreatePersistanceStorage(sPath, metaDataStore, driverName string) (CachePersister, error) { + var err error + if err = createPersistentStorage(path.Join(sPath, "controller")); err != nil { + klog.Errorf("failed to create persistent storage for controller: %v", err) + return nil, err + } + + if err = createPersistentStorage(path.Join(sPath, "node")); err != nil { + klog.Errorf("failed to create persistent storage for node: %v", err) + return nil, err + } + + cp, err := NewCachePersister(metaDataStore, driverName) + if err != nil { + klog.Errorf("failed to define cache persistence method: %v", err) + return nil, err + } + return cp, err +} + +func createPersistentStorage(persistentStoragePath string) error { + return os.MkdirAll(persistentStoragePath, os.FileMode(0755)) +}