diff options
Diffstat (limited to 'cloudinit')
-rw-r--r--[-rwxr-xr-x] | cloudinit/cmd/devel/__init__.py | 12 | ||||
-rw-r--r-- | cloudinit/config/schema.py | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/cloudinit/cmd/devel/__init__.py b/cloudinit/cmd/devel/__init__.py index 9a8f2ebd..357c4ae7 100755..100644 --- a/cloudinit/cmd/devel/__init__.py +++ b/cloudinit/cmd/devel/__init__.py @@ -17,9 +17,17 @@ def addLogHandlerCLI(logger, log_level): return logger -def read_cfg_paths() -> Paths: - """Return a Paths object based on the system configuration on disk.""" +def read_cfg_paths(fetch_existing_datasource: str = "") -> Paths: + """Return a Paths object based on the system configuration on disk. + + :param fetch_existing_datasource: String one of check or trust. Whether to + load the pickled datasource before returning Paths. This is necessary + when using instance paths via Paths.get_ipath method which are only + known from the instance-id metadata in the detected datasource. + """ init = Init(ds_deps=[]) + if fetch_existing_datasource: + init.fetch(existing=fetch_existing_datasource) init.read_cfg() return init.paths diff --git a/cloudinit/config/schema.py b/cloudinit/config/schema.py index 9005e924..4b7e8016 100644 --- a/cloudinit/config/schema.py +++ b/cloudinit/config/schema.py @@ -1264,7 +1264,7 @@ def handle_schema_args(name, args): if args.docs: print(load_doc(args.docs)) return - paths = read_cfg_paths() + paths = read_cfg_paths(fetch_existing_datasource="trust") if args.instance_data: instance_data_path = args.instance_data elif os.getuid() != 0: |