summaryrefslogtreecommitdiff
path: root/pkg/util
diff options
context:
space:
mode:
authorMatthew Heon <mheon@redhat.com>2018-12-02 15:21:35 -0500
committerMatthew Heon <mheon@redhat.com>2018-12-02 15:21:35 -0500
commit562fa57dc9f497db772baa03bfa052082db68646 (patch)
tree47016e6dd700b37a896732ac83b6a6b9ad849b2d /pkg/util
parent92ff83f5b9dd00ff91dc8c3d6b48f1e0b5c5f3e2 (diff)
downloadpodman-562fa57dc9f497db772baa03bfa052082db68646.tar.gz
podman-562fa57dc9f497db772baa03bfa052082db68646.tar.bz2
podman-562fa57dc9f497db772baa03bfa052082db68646.zip
Move rootless storage config into libpod
Previous commits ensured that we would use database-configured paths if not explicitly overridden. However, our runtime generation did unconditionally override storage config, which made this useless. Move rootless storage configuration setup to libpod, and change storage setup so we only override if a setting is explicitly set, so we can still override what we want. Signed-off-by: Matthew Heon <mheon@redhat.com>
Diffstat (limited to 'pkg/util')
-rw-r--r--pkg/util/utils.go44
1 files changed, 21 insertions, 23 deletions
diff --git a/pkg/util/utils.go b/pkg/util/utils.go
index de29bc5d8..78484eb78 100644
--- a/pkg/util/utils.go
+++ b/pkg/util/utils.go
@@ -313,33 +313,31 @@ func getTomlStorage(storeOptions *storage.StoreOptions) *tomlConfig {
return config
}
-// GetDefaultStoreOptions returns the storage ops for containers
-func GetDefaultStoreOptions() (storage.StoreOptions, error) {
- storageOpts := storage.DefaultStoreOptions
- if rootless.IsRootless() {
- var err error
- storageOpts, err = GetRootlessStorageOpts()
+// GetDefaultStoreOptions returns the storage ops for containers.
+func GetDefaultRootlessStoreOptions() (storage.StoreOptions, error) {
+ var err error
+ storageOpts, err := GetRootlessStorageOpts()
+ if err != nil {
+ return storageOpts, err
+ }
+
+ storageConf := filepath.Join(os.Getenv("HOME"), ".config/containers/storage.conf")
+ if _, err := os.Stat(storageConf); err == nil {
+ storage.ReloadConfigurationFile(storageConf, &storageOpts)
+ } else if os.IsNotExist(err) {
+ os.MkdirAll(filepath.Dir(storageConf), 0755)
+ file, err := os.OpenFile(storageConf, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0666)
if err != nil {
- return storageOpts, err
+ return storageOpts, errors.Wrapf(err, "cannot open %s", storageConf)
}
- storageConf := filepath.Join(os.Getenv("HOME"), ".config/containers/storage.conf")
- if _, err := os.Stat(storageConf); err == nil {
- storage.ReloadConfigurationFile(storageConf, &storageOpts)
- } else if os.IsNotExist(err) {
- os.MkdirAll(filepath.Dir(storageConf), 0755)
- file, err := os.OpenFile(storageConf, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0666)
- if err != nil {
- return storageOpts, errors.Wrapf(err, "cannot open %s", storageConf)
- }
-
- tomlConfiguration := getTomlStorage(&storageOpts)
- defer file.Close()
- enc := toml.NewEncoder(file)
- if err := enc.Encode(tomlConfiguration); err != nil {
- os.Remove(storageConf)
- }
+ tomlConfiguration := getTomlStorage(&storageOpts)
+ defer file.Close()
+ enc := toml.NewEncoder(file)
+ if err := enc.Encode(tomlConfiguration); err != nil {
+ os.Remove(storageConf)
}
}
+
return storageOpts, nil
}