diff --git a/benchbuild/environments/adapters/common.py b/benchbuild/environments/adapters/common.py index 6b5159da3..7a50cd813 100644 --- a/benchbuild/environments/adapters/common.py +++ b/benchbuild/environments/adapters/common.py @@ -49,7 +49,8 @@ def path_longer_than_50_chars(path: str) -> bool: def wrapped_cmd(*args: str) -> BaseCommand: root = CFG['container']['root'] runroot = CFG['container']['runroot'] - storage_driver = CFG['container']['storage_driver'] + storage_driver = CFG['container']['storage_driver'].value + storage_opts = CFG['container']['storage_opts'].value if path_longer_than_50_chars(str(root)): LOG.error( @@ -61,10 +62,19 @@ def wrapped_cmd(*args: str) -> BaseCommand: '%s - %s', runroot.__to_env_var__(), __MSG_SHORTER_PATH_REQUIRED ) - opts = [ - '--root', root, '--runroot', runroot, - '--storage-driver', storage_driver - ] + opts = ['--root', root, '--runroot', runroot] + + if storage_driver: + opts.append('--storage-driver') + opts.append(storage_driver) + + if storage_opts is None: + # ignore options set in 'storage.conf' + opts.append("--storage-opt=''") + + for opt in storage_opts: + opts.append('--storage-opt') + opts.append(opt) cmd = base[opts] return cmd[args] diff --git a/benchbuild/settings.py b/benchbuild/settings.py index f44c1e9de..5f66659db 100644 --- a/benchbuild/settings.py +++ b/benchbuild/settings.py @@ -383,8 +383,14 @@ "desc": "Path to benchbuild's source directory" }, "storage_driver": { - "default": "vfs", + "default": None, "desc": "Storage driver for containers." + "If 'null' use podman's default." + }, + "storage_opts": { + "default": [], + "desc": "Storage options for containers." + "If 'null', ignore 'storage.conf'." }, "input": { "default": "container.tar.bz2",