isula-build/patch/0120-make-isula-build-store-more-simple.patch

196 lines
6.3 KiB
Diff
Raw Normal View History

2022-06-15 15:42:51 +08:00
From 2fcdfbb31346650f5661c6ab5daed46bce0997f2 Mon Sep 17 00:00:00 2001
From: xingweizheng <xingweizheng@huawei.com>
Date: Mon, 31 Jan 2022 23:24:37 +0800
Subject: [PATCH 19/20] make isula-build store more simple
---
builder/dockerfile/stage_builder_test.go | 8 ++--
cmd/daemon/before.go | 4 +-
cmd/daemon/before_test.go | 10 ++---
store/store.go | 57 +++++++++---------------
store/store_test.go | 4 +-
5 files changed, 34 insertions(+), 49 deletions(-)
diff --git a/builder/dockerfile/stage_builder_test.go b/builder/dockerfile/stage_builder_test.go
index 2c92266..e3a814e 100644
--- a/builder/dockerfile/stage_builder_test.go
+++ b/builder/dockerfile/stage_builder_test.go
@@ -82,17 +82,17 @@ func cleanAndSetDefaultStoreOpt(t *testing.T) {
}
func cleanDefaultStoreOpt(t *testing.T) {
- opt, err := store.GetDefaultStoreOptions(false)
+ store, err := store.GetStore()
assert.NilError(t, err)
- driverRoot := opt.GraphRoot + "/overlay"
+ driverRoot := store.GraphRoot() + "/overlay"
os.RemoveAll(driverRoot)
assert.NilError(t, err)
- err = os.RemoveAll(opt.RunRoot)
+ err = os.RemoveAll(store.RunRoot())
assert.NilError(t, err)
err = unix.Unmount(driverRoot, 0)
assert.NilError(t, err)
- err = os.RemoveAll(opt.GraphRoot)
+ err = os.RemoveAll(store.GraphRoot())
assert.NilError(t, err)
err = os.RemoveAll("/tmp/isula-build")
assert.NilError(t, err)
diff --git a/cmd/daemon/before.go b/cmd/daemon/before.go
index ac13303..1d28d9e 100644
--- a/cmd/daemon/before.go
+++ b/cmd/daemon/before.go
@@ -102,8 +102,8 @@ func validateConfigFileAndMerge(cmd *cobra.Command) error {
}
func mergeStorageConfig(cmd *cobra.Command) error {
- store.SetDefaultConfigFilePath(constant.StorageConfigPath)
- option, err := store.GetDefaultStoreOptions(true)
+ store.SetStorageConfigFilePath(constant.StorageConfigPath)
+ option, err := store.GetStorageConfigFileOptions()
if err != nil {
return err
}
diff --git a/cmd/daemon/before_test.go b/cmd/daemon/before_test.go
index b1b8859..19b1bc0 100644
--- a/cmd/daemon/before_test.go
+++ b/cmd/daemon/before_test.go
@@ -139,8 +139,8 @@ func TestRunAndDataRootSet(t *testing.T) {
defer tmpDir.Remove()
filePath := tmpDir.Join(fileName)
- store.SetDefaultConfigFilePath(filePath)
- option, err := store.GetDefaultStoreOptions(true)
+ store.SetStorageConfigFilePath(filePath)
+ option, err := store.GetStorageConfigFileOptions()
if err != nil {
t.Fatalf("get default store options failed with error: %v", err)
}
@@ -225,7 +225,7 @@ func TestRunAndDataRootSet(t *testing.T) {
for _, tc := range testcases {
t.Run(tc.name, func(t *testing.T) {
tc.setF()
- storeOptions, err := store.GetDefaultStoreOptions(false)
+ storeOptions, err := store.GetDefaultStoreOptions()
if err != nil {
t.Fatalf("get default store options failed with error: %v", err)
}
@@ -250,10 +250,10 @@ func TestValidateConfigFileAndMerge(t *testing.T) {
err = validateConfigFileAndMerge(cmd)
assert.NilError(t, err)
- if err := setStoreAccordingToDaemonOpts(); err != nil {
+ if err = setStoreAccordingToDaemonOpts(); err != nil {
t.Fatalf("set store options failed with error: %v", err)
}
- storeOptions, err := store.GetDefaultStoreOptions(false)
+ storeOptions, err := store.GetDefaultStoreOptions()
if err != nil {
t.Fatalf("get default store options failed with error: %v", err)
}
diff --git a/store/store.go b/store/store.go
index 410eef1..5754466 100644
--- a/store/store.go
+++ b/store/store.go
@@ -41,60 +41,45 @@ type Store struct {
sync.RWMutex
}
-// GetDefaultStoreOptions returns default store options.
-func GetDefaultStoreOptions(configOnly bool) (storage.StoreOptions, error) {
+// SetStorageConfigFilePath sets the default file path of storage configuration
+func SetStorageConfigFilePath(path string) {
+ storage.SetDefaultConfigFilePath(path)
+}
+
+// GetStorageConfigFileOptions returns the default storage config options.
+func GetStorageConfigFileOptions() (storage.StoreOptions, error) {
options, err := storage.DefaultStoreOptions(false, 0)
if err != nil {
return storage.StoreOptions{}, err
}
- if !configOnly {
- // StoreOpts override specific parameters of options
- if storeOpts.DataRoot != "" {
- options.GraphRoot = storeOpts.DataRoot
- }
- if storeOpts.RunRoot != "" {
- options.RunRoot = storeOpts.RunRoot
- }
- if storeOpts.Driver != "" {
- options.GraphDriverName = storeOpts.Driver
- }
- if len(storeOpts.DriverOption) > 0 {
- options.GraphDriverOptions = storeOpts.DriverOption
- }
- }
-
return options, nil
}
// SetDefaultStoreOptions sets the default store options
func SetDefaultStoreOptions(opt DaemonStoreOptions) {
- if opt.DataRoot != "" {
- storeOpts.DataRoot = opt.DataRoot
- }
-
- if opt.RunRoot != "" {
- storeOpts.RunRoot = opt.RunRoot
- }
+ storeOpts = opt
+}
- if opt.Driver != "" {
- storeOpts.Driver = opt.Driver
+// GetDefaultStoreOptions returns default store options.
+func GetDefaultStoreOptions() (storage.StoreOptions, error) {
+ options, err := storage.DefaultStoreOptions(false, 0)
+ if err != nil {
+ return storage.StoreOptions{}, err
}
- if len(opt.DriverOption) > 0 {
- storeOpts.DriverOption = opt.DriverOption
- }
-}
+ options.GraphRoot = storeOpts.DataRoot
+ options.RunRoot = storeOpts.RunRoot
+ options.GraphDriverName = storeOpts.Driver
+ options.GraphDriverOptions = storeOpts.DriverOption
-// SetDefaultConfigFilePath sets the default configuration to the specified path
-func SetDefaultConfigFilePath(path string) {
- storage.SetDefaultConfigFilePath(path)
+ return options, nil
}
-// GetStore returns a Store object.If it is called the first time,
+// GetStore returns a Store object. If it is called the first time,
// a store object will be created by the default store options.
func GetStore() (Store, error) {
- options, err := GetDefaultStoreOptions(false)
+ options, err := GetDefaultStoreOptions()
if err != nil {
return Store{}, err
}
diff --git a/store/store_test.go b/store/store_test.go
index 5c69dc8..d99d871 100644
--- a/store/store_test.go
+++ b/store/store_test.go
@@ -31,8 +31,8 @@ func init() {
reexec.Init()
}
-func TestWithGetDefaultStoreOptions(t *testing.T) {
- _, err := GetDefaultStoreOptions(false)
+func TestGetDefaultStoreOptions(t *testing.T) {
+ _, err := GetDefaultStoreOptions()
assert.NilError(t, err)
}
--
2.27.0