cloud-init
cloud-init copied to clipboard
cloud-init schema should not require sudo
$ cloud-init --version
/usr/bin/cloud-init 23.3.3-0ubuntu0~22.04.1
As a non-sudoer:
$ cloud-init schema --config-file test-conf.yaml
Traceback (most recent call last):
File "/usr/bin/cloud-init", line 33, in <module>
sys.exit(load_entry_point('cloud-init==23.3.3', 'console_scripts', 'cloud-init')())
File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 1080, in main
retval = util.log_time(
File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2833, in log_time
ret = func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/cloudinit/config/schema.py", line 1375, in handle_schema_args
paths = read_cfg_paths(fetch_existing_datasource="trust")
File "/usr/lib/python3/dist-packages/cloudinit/cmd/devel/__init__.py", line 30, in read_cfg_paths
init.fetch(existing=fetch_existing_datasource)
File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 466, in fetch
return self._get_data_source(existing=existing)
File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 357, in _get_data_source
(ds, dsname) = sources.find_source(
File "/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1032, in find_source
raise DataSourceNotFoundException(msg)
cloudinit.sources.DataSourceNotFoundException: Did not find any data source, searched classes: (DataSourceNone)
As a sudoer:
$ cloud-init schema --config-file test-conf.yaml
Valid cloud-config: test-conf.yaml
Confirmed a slightly difference error/warning on cloud-init 24.1~1g1003d438 on Ubuntu Noble. We should sort non-root use of schema validation for files that do not require root read-only permission.
ubuntu@nnn:~$ cloud-init schema --config-file ud
2023-12-19 00:50:38,842 - sources[WARNING]: failed loading pickle in /var/lib/cloud/instance/obj.pkl: [Errno 13] Permission denied: '/var/lib/cloud/instance/obj.pkl'
Valid schema ud
ubuntu@nnn:~$ cloud-init --version
/usr/bin/cloud-init 24.1~1g1003d438-0ubuntu1