← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1953430] [NEW] cloud-init query traceback on root read-only etc/cloud/cloud.cfg.d/ files

 

Public bug reported:

If any files are root read-only in /etc/cloud/cloud.cfg.d cloud-init query tracebacks for non-root user
cloud-init version: 21.4

Reproducible on Jammy Desktop installer images

csmith@csmith-Standard-PC-i440FX-PIIX-1996:~$ cloud-init query --all
Traceback (most recent call last):
  File "/usr/bin/cloud-init", line 33, in <module>
    sys.exit(load_entry_point('cloud-init==21.4', 'console_scripts', 'cloud-init')())
  File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 927, in main
    retval = util.log_time(
  File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2472, in log_time
    ret = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/cloudinit/cmd/query.py", line 109, in handle_args
    paths = read_cfg_paths()
  File "/usr/lib/python3/dist-packages/cloudinit/cmd/devel/__init__.py", line 22, in read_cfg_paths
    init.read_cfg()
  File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 229, in read_cfg
    self._cfg = self._read_cfg(extra_fns)
  File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 237, in _read_cfg
    base_cfg=fetch_base_config())
  File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 1049, in fetch_base_config
    util.read_conf_with_confd(CLOUD_CONFIG),
  File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 950, in read_conf_with_confd
    confd_cfg = read_conf_d(confd)
  File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 925, in read_conf_d
    cfgs.append(read_conf(os.path.join(confd, fn)))
  File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 271, in read_conf
    return load_yaml(load_file(fname), default={})
  File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1361, in load_file
    with open(fname, 'rb') as ifh:
PermissionError: [Errno 13] Permission denied: '/etc/cloud/cloud.cfg.d/99-installer.cfg'

# works fine for root user
csmith@csmith-Standard-PC-i440FX-PIIX-1996:~$ sudo cloud-init query --all
[sudo] password for csmith:
{
 "_beta_keys": [
  "subplatform"
 ],
 "availability_zone": null,
 "base64_encoded_keys": [],
 "cloud_name": "none",
 "distro": "ubuntu",
 "distro_release": "jammy",
 "distro_version": "22.04",
 "ds": {
  "_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
  "meta_data": {
   "instance_id": "fd598361-12e8-41e0-a7eb-7c9f2d7d3b41"
  }
 },
 "instance_id": "iid-datasource-none",
 "kernel_release": "5.13.0-19-generic",
 "local_hostname": "csmith-Standard-PC-i440FX-PIIX-1996",
 "machine": "x86_64",
 "merged_cfg": {
  "_doc": "Merged cloud-init system config from /etc/cloud/cloud.cfg and /etc/cloud/cloud.cfg.d/",
  "_log": [
   "[loggers]\nkeys=root,cloudinit\n\n[handlers]\nkeys=consoleHandler,cloudLogHandler\n\n[formatters]\nkeys=simpleFormatter,arg0Formatter\n\n[logger_root]\nlevel=DEBUG\nhandlers=consoleHandler,cloudLogHandler\n\n[logger_cloudinit]\nlevel=DEBUG\nqualname=cloudinit\nhandlers=\npropagate=1\n\n[handler_consoleHandler]\nclass=StreamHandler\nlevel=WARNING\nformatter=arg0Formatter\nargs=(sys.stderr,)\n\n[formatter_arg0Formatter]\nformat=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s\n\n[formatter_simpleFormatter]\nformat=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s\n",
   "[handler_cloudLogHandler]\nclass=FileHandler\nlevel=DEBUG\nformatter=arg0Formatter\nargs=('/var/log/cloud-init.log', 'a', 'UTF-8')\n",
   "[handler_cloudLogHandler]\nclass=handlers.SysLogHandler\nlevel=DEBUG\nformatter=simpleFormatter\nargs=(\"/dev/log\", handlers.SysLogHandler.LOG_USER)\n"
  ],
  "apt": {
   "preserve_sources_list": true
  },
  "cloud_config_modules": [
   "emit_upstart",
   "snap",
   "ssh-import-id",
   "locale",
   "set-passwords",
   "grub-dpkg",
   "apt-pipelining",
   "apt-configure",
   "ubuntu-advantage",
   "ntp",
   "timezone",
   "disable-ec2-metadata",
   "runcmd",
   "byobu"
  ],
  "cloud_final_modules": [
   "package-update-upgrade-install",
   "fan",
   "landscape",
   "lxd",
   "ubuntu-drivers",
   "write-files-deferred",
   "puppet",
   "chef",
   "mcollective",
   "salt-minion",
   "reset_rmc",
   "refresh_rmc_and_interface",
   "rightscale_userdata",
   "scripts-vendor",
   "scripts-per-once",
   "scripts-per-boot",
   "scripts-per-instance",
   "scripts-user",
   "ssh-authkey-fingerprints",
   "keys-to-console",
   "install-hotplug",
   "phone-home",
   "final-message",
   "power-state-change"
  ],
  "cloud_init_modules": [
   "migrator",
   "seed_random",
   "bootcmd",
   "write-files",
   "growpart",
   "resizefs",
   "disk_setup",
   "mounts",
   "set_hostname",
   "update_hostname",
   "update_etc_hosts",
   "ca-certs",
   "rsyslog",
   "users-groups",
   "ssh"
  ],
  "datasource": {
   "None": {
    "metadata": {
     "instance_id": "fd598361-12e8-41e0-a7eb-7c9f2d7d3b41"
    },
    "userdata_raw": "#cloud-config\ngrowpart:\n  mode: 'off'\nlocale: en_US.UTF-8\npreserve_hostname: true\nresize_rootfs: false\ntimezone: America/Denver\nusers:\n- gecos: csmith\n  groups: !!set\n    adm: null\n    cdrom: null\n    dip: null\n    lpadmin: null\n    lxd: null\n    plugdev: null\n    sudo: null\n  lock_passwd: false\n  name: csmith\n  passwd: $6$64oWiK3gfM8OoPHu$VeKnP.4Gji4T1IonINOARKTnQt3p6fQ4yY2N9u7DMve9goqCOrUluGX0qjU176w6a39w6RsjAtRUBGCJR3Qgh.\n  shell: /bin/bash\n"
   }
  },
  "datasource_list": [
   "None"
  ],
  "def_log_file": "/var/log/cloud-init.log",
  "disable_root": true,
  "log_cfgs": [
   [
    "[loggers]\nkeys=root,cloudinit\n\n[handlers]\nkeys=consoleHandler,cloudLogHandler\n\n[formatters]\nkeys=simpleFormatter,arg0Formatter\n\n[logger_root]\nlevel=DEBUG\nhandlers=consoleHandler,cloudLogHandler\n\n[logger_cloudinit]\nlevel=DEBUG\nqualname=cloudinit\nhandlers=\npropagate=1\n\n[handler_consoleHandler]\nclass=StreamHandler\nlevel=WARNING\nformatter=arg0Formatter\nargs=(sys.stderr,)\n\n[formatter_arg0Formatter]\nformat=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s\n\n[formatter_simpleFormatter]\nformat=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s\n",
    "[handler_cloudLogHandler]\nclass=FileHandler\nlevel=DEBUG\nformatter=arg0Formatter\nargs=('/var/log/cloud-init.log', 'a', 'UTF-8')\n"
   ]
  ],
  "network": {
   "config": "disabled"
  },
  "output": {
   "all": "| tee -a /var/log/cloud-init-output.log"
  },
  "preserve_hostname": false,
  "syslog_fix_perms": [
   "syslog:adm",
   "root:adm",
   "root:wheel",
   "root:root"
  ],
  "users": [
   "default"
  ],
  "vendor_data": {
   "enabled": true,
   "prefix": []
  },
  "vendor_data2": {
   "enabled": true,
   "prefix": []
  }
 },
 "platform": "none",
 "public_ssh_keys": [],
 "python_version": "3.9.9",
 "region": null,
 "sensitive_keys": [
  "merged_cfg"
 ],
 "subplatform": "config",
 "sys_info": {
  "dist": [
   "ubuntu",
   "22.04",
   "jammy"
  ],
  "platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
  "python": "3.9.9",
  "release": "5.13.0-19-generic",
  "system": "Linux",
  "uname": [
   "Linux",
   "csmith-Standard-PC-i440FX-PIIX-1996",
   "5.13.0-19-generic",
   "#19-Ubuntu SMP Thu Oct 7 21:58:00 UTC 2021",
   "x86_64",
   "x86_64"
  ],
  "variant": "ubuntu"
 },
 "system_platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
 "userdata": "#cloud-config\ngrowpart:\n  mode: 'off'\nlocale: en_US.UTF-8\npreserve_hostname: true\nresize_rootfs: false\ntimezone: America/Denver\nusers:\n- gecos: csmith\n  groups: !!set\n    adm: null\n    cdrom: null\n    dip: null\n    lpadmin: null\n    lxd: null\n    plugdev: null\n    sudo: null\n  lock_passwd: false\n  name: csmith\n  passwd: $6$6.....\n  shell: /bin/bash\n",
 "v1": {
  "_beta_keys": [
   "subplatform"
  ],
  "availability_zone": null,
  "cloud_name": "none",
  "distro": "ubuntu",
  "distro_release": "jammy",
  "distro_version": "22.04",
  "instance_id": "iid-datasource-none",
  "kernel_release": "5.13.0-19-generic",
  "local_hostname": "csmith-Standard-PC-i440FX-PIIX-1996",
  "machine": "x86_64",
  "platform": "none",
  "public_ssh_keys": [],
  "python_version": "3.9.9",
  "region": null,
  "subplatform": "config",
  "system_platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
  "variant": "ubuntu"
 },
 "variant": "ubuntu",
 "vendordata": ""
}

** Affects: cloud-init
     Importance: Undecided
         Status: New

** Description changed:

  If any files are root read-only in /etc/cloud/cloud.cfg.d cloud-init query tracebacks for non-root user
  cloud-init version: 21.4
  
  Reproducible on Jammy Desktop installer images
  
  csmith@csmith-Standard-PC-i440FX-PIIX-1996:~$ cloud-init query --all
  Traceback (most recent call last):
-   File "/usr/bin/cloud-init", line 33, in <module>
-     sys.exit(load_entry_point('cloud-init==21.4', 'console_scripts', 'cloud-init')())
-   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 927, in main
-     retval = util.log_time(
-   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2472, in log_time
-     ret = func(*args, **kwargs)
-   File "/usr/lib/python3/dist-packages/cloudinit/cmd/query.py", line 109, in handle_args
-     paths = read_cfg_paths()
-   File "/usr/lib/python3/dist-packages/cloudinit/cmd/devel/__init__.py", line 22, in read_cfg_paths
-     init.read_cfg()
-   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 229, in read_cfg
-     self._cfg = self._read_cfg(extra_fns)
-   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 237, in _read_cfg
-     base_cfg=fetch_base_config())
-   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 1049, in fetch_base_config
-     util.read_conf_with_confd(CLOUD_CONFIG),
-   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 950, in read_conf_with_confd
-     confd_cfg = read_conf_d(confd)
-   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 925, in read_conf_d
-     cfgs.append(read_conf(os.path.join(confd, fn)))
-   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 271, in read_conf
-     return load_yaml(load_file(fname), default={})
-   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1361, in load_file
-     with open(fname, 'rb') as ifh:
+   File "/usr/bin/cloud-init", line 33, in <module>
+     sys.exit(load_entry_point('cloud-init==21.4', 'console_scripts', 'cloud-init')())
+   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 927, in main
+     retval = util.log_time(
+   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2472, in log_time
+     ret = func(*args, **kwargs)
+   File "/usr/lib/python3/dist-packages/cloudinit/cmd/query.py", line 109, in handle_args
+     paths = read_cfg_paths()
+   File "/usr/lib/python3/dist-packages/cloudinit/cmd/devel/__init__.py", line 22, in read_cfg_paths
+     init.read_cfg()
+   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 229, in read_cfg
+     self._cfg = self._read_cfg(extra_fns)
+   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 237, in _read_cfg
+     base_cfg=fetch_base_config())
+   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 1049, in fetch_base_config
+     util.read_conf_with_confd(CLOUD_CONFIG),
+   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 950, in read_conf_with_confd
+     confd_cfg = read_conf_d(confd)
+   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 925, in read_conf_d
+     cfgs.append(read_conf(os.path.join(confd, fn)))
+   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 271, in read_conf
+     return load_yaml(load_file(fname), default={})
+   File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1361, in load_file
+     with open(fname, 'rb') as ifh:
  PermissionError: [Errno 13] Permission denied: '/etc/cloud/cloud.cfg.d/99-installer.cfg'
  
  # works fine for root user
  csmith@csmith-Standard-PC-i440FX-PIIX-1996:~$ sudo cloud-init query --all
- [sudo] password for csmith: 
+ [sudo] password for csmith:
  {
-  "_beta_keys": [
-   "subplatform"
-  ],
-  "availability_zone": null,
-  "base64_encoded_keys": [],
-  "cloud_name": "none",
-  "distro": "ubuntu",
-  "distro_release": "jammy",
-  "distro_version": "22.04",
-  "ds": {
-   "_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
-   "meta_data": {
-    "instance_id": "fd598361-12e8-41e0-a7eb-7c9f2d7d3b41"
-   }
-  },
-  "instance_id": "iid-datasource-none",
-  "kernel_release": "5.13.0-19-generic",
-  "local_hostname": "csmith-Standard-PC-i440FX-PIIX-1996",
-  "machine": "x86_64",
-  "merged_cfg": {
-   "_doc": "Merged cloud-init system config from /etc/cloud/cloud.cfg and /etc/cloud/cloud.cfg.d/",
-   "_log": [
-    "[loggers]\nkeys=root,cloudinit\n\n[handlers]\nkeys=consoleHandler,cloudLogHandler\n\n[formatters]\nkeys=simpleFormatter,arg0Formatter\n\n[logger_root]\nlevel=DEBUG\nhandlers=consoleHandler,cloudLogHandler\n\n[logger_cloudinit]\nlevel=DEBUG\nqualname=cloudinit\nhandlers=\npropagate=1\n\n[handler_consoleHandler]\nclass=StreamHandler\nlevel=WARNING\nformatter=arg0Formatter\nargs=(sys.stderr,)\n\n[formatter_arg0Formatter]\nformat=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s\n\n[formatter_simpleFormatter]\nformat=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s\n",
-    "[handler_cloudLogHandler]\nclass=FileHandler\nlevel=DEBUG\nformatter=arg0Formatter\nargs=('/var/log/cloud-init.log', 'a', 'UTF-8')\n",
-    "[handler_cloudLogHandler]\nclass=handlers.SysLogHandler\nlevel=DEBUG\nformatter=simpleFormatter\nargs=(\"/dev/log\", handlers.SysLogHandler.LOG_USER)\n"
-   ],
-   "apt": {
-    "preserve_sources_list": true
-   },
-   "cloud_config_modules": [
-    "emit_upstart",
-    "snap",
-    "ssh-import-id",
-    "locale",
-    "set-passwords",
-    "grub-dpkg",
-    "apt-pipelining",
-    "apt-configure",
-    "ubuntu-advantage",
-    "ntp",
-    "timezone",
-    "disable-ec2-metadata",
-    "runcmd",
-    "byobu"
-   ],
-   "cloud_final_modules": [
-    "package-update-upgrade-install",
-    "fan",
-    "landscape",
-    "lxd",
-    "ubuntu-drivers",
-    "write-files-deferred",
-    "puppet",
-    "chef",
-    "mcollective",
-    "salt-minion",
-    "reset_rmc",
-    "refresh_rmc_and_interface",
-    "rightscale_userdata",
-    "scripts-vendor",
-    "scripts-per-once",
-    "scripts-per-boot",
-    "scripts-per-instance",
-    "scripts-user",
-    "ssh-authkey-fingerprints",
-    "keys-to-console",
-    "install-hotplug",
-    "phone-home",
-    "final-message",
-    "power-state-change"
-   ],
-   "cloud_init_modules": [
-    "migrator",
-    "seed_random",
-    "bootcmd",
-    "write-files",
-    "growpart",
-    "resizefs",
-    "disk_setup",
-    "mounts",
-    "set_hostname",
-    "update_hostname",
-    "update_etc_hosts",
-    "ca-certs",
-    "rsyslog",
-    "users-groups",
-    "ssh"
-   ],
-   "datasource": {
-    "None": {
-     "metadata": {
-      "instance_id": "fd598361-12e8-41e0-a7eb-7c9f2d7d3b41"
-     },
-     "userdata_raw": "#cloud-config\ngrowpart:\n  mode: 'off'\nlocale: en_US.UTF-8\npreserve_hostname: true\nresize_rootfs: false\ntimezone: America/Denver\nusers:\n- gecos: csmith\n  groups: !!set\n    adm: null\n    cdrom: null\n    dip: null\n    lpadmin: null\n    lxd: null\n    plugdev: null\n    sudo: null\n  lock_passwd: false\n  name: csmith\n  passwd: $6$64oWiK3gfM8OoPHu$VeKnP.4Gji4T1IonINOARKTnQt3p6fQ4yY2N9u7DMve9goqCOrUluGX0qjU176w6a39w6RsjAtRUBGCJR3Qgh.\n  shell: /bin/bash\n"
-    }
-   },
-   "datasource_list": [
-    "None"
-   ],
-   "def_log_file": "/var/log/cloud-init.log",
-   "disable_root": true,
-   "log_cfgs": [
-    [
-     "[loggers]\nkeys=root,cloudinit\n\n[handlers]\nkeys=consoleHandler,cloudLogHandler\n\n[formatters]\nkeys=simpleFormatter,arg0Formatter\n\n[logger_root]\nlevel=DEBUG\nhandlers=consoleHandler,cloudLogHandler\n\n[logger_cloudinit]\nlevel=DEBUG\nqualname=cloudinit\nhandlers=\npropagate=1\n\n[handler_consoleHandler]\nclass=StreamHandler\nlevel=WARNING\nformatter=arg0Formatter\nargs=(sys.stderr,)\n\n[formatter_arg0Formatter]\nformat=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s\n\n[formatter_simpleFormatter]\nformat=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s\n",
-     "[handler_cloudLogHandler]\nclass=FileHandler\nlevel=DEBUG\nformatter=arg0Formatter\nargs=('/var/log/cloud-init.log', 'a', 'UTF-8')\n"
-    ]
-   ],
-   "network": {
-    "config": "disabled"
-   },
-   "output": {
-    "all": "| tee -a /var/log/cloud-init-output.log"
-   },
-   "preserve_hostname": false,
-   "syslog_fix_perms": [
-    "syslog:adm",
-    "root:adm",
-    "root:wheel",
-    "root:root"
-   ],
-   "users": [
-    "default"
-   ],
-   "vendor_data": {
-    "enabled": true,
-    "prefix": []
-   },
-   "vendor_data2": {
-    "enabled": true,
-    "prefix": []
-   }
-  },
-  "platform": "none",
-  "public_ssh_keys": [],
-  "python_version": "3.9.9",
-  "region": null,
-  "sensitive_keys": [
-   "merged_cfg"
-  ],
-  "subplatform": "config",
-  "sys_info": {
-   "dist": [
-    "ubuntu",
-    "22.04",
-    "jammy"
-   ],
-   "platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
-   "python": "3.9.9",
-   "release": "5.13.0-19-generic",
-   "system": "Linux",
-   "uname": [
-    "Linux",
-    "csmith-Standard-PC-i440FX-PIIX-1996",
-    "5.13.0-19-generic",
-    "#19-Ubuntu SMP Thu Oct 7 21:58:00 UTC 2021",
-    "x86_64",
-    "x86_64"
-   ],
-   "variant": "ubuntu"
-  },
-  "system_platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
-  "userdata": "#cloud-config\ngrowpart:\n  mode: 'off'\nlocale: en_US.UTF-8\npreserve_hostname: true\nresize_rootfs: false\ntimezone: America/Denver\nusers:\n- gecos: csmith\n  groups: !!set\n    adm: null\n    cdrom: null\n    dip: null\n    lpadmin: null\n    lxd: null\n    plugdev: null\n    sudo: null\n  lock_passwd: false\n  name: csmith\n  passwd: $6$64oWiK3gfM8OoPHu$VeKnP.4Gji4T1IonINOARKTnQt3p6fQ4yY2N9u7DMve9goqCOrUluGX0qjU176w6a39w6RsjAtRUBGCJR3Qgh.\n  shell: /bin/bash\n",
-  "v1": {
-   "_beta_keys": [
-    "subplatform"
-   ],
-   "availability_zone": null,
-   "cloud_name": "none",
-   "distro": "ubuntu",
-   "distro_release": "jammy",
-   "distro_version": "22.04",
-   "instance_id": "iid-datasource-none",
-   "kernel_release": "5.13.0-19-generic",
-   "local_hostname": "csmith-Standard-PC-i440FX-PIIX-1996",
-   "machine": "x86_64",
-   "platform": "none",
-   "public_ssh_keys": [],
-   "python_version": "3.9.9",
-   "region": null,
-   "subplatform": "config",
-   "system_platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
-   "variant": "ubuntu"
-  },
-  "variant": "ubuntu",
-  "vendordata": ""
+  "_beta_keys": [
+   "subplatform"
+  ],
+  "availability_zone": null,
+  "base64_encoded_keys": [],
+  "cloud_name": "none",
+  "distro": "ubuntu",
+  "distro_release": "jammy",
+  "distro_version": "22.04",
+  "ds": {
+   "_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
+   "meta_data": {
+    "instance_id": "fd598361-12e8-41e0-a7eb-7c9f2d7d3b41"
+   }
+  },
+  "instance_id": "iid-datasource-none",
+  "kernel_release": "5.13.0-19-generic",
+  "local_hostname": "csmith-Standard-PC-i440FX-PIIX-1996",
+  "machine": "x86_64",
+  "merged_cfg": {
+   "_doc": "Merged cloud-init system config from /etc/cloud/cloud.cfg and /etc/cloud/cloud.cfg.d/",
+   "_log": [
+    "[loggers]\nkeys=root,cloudinit\n\n[handlers]\nkeys=consoleHandler,cloudLogHandler\n\n[formatters]\nkeys=simpleFormatter,arg0Formatter\n\n[logger_root]\nlevel=DEBUG\nhandlers=consoleHandler,cloudLogHandler\n\n[logger_cloudinit]\nlevel=DEBUG\nqualname=cloudinit\nhandlers=\npropagate=1\n\n[handler_consoleHandler]\nclass=StreamHandler\nlevel=WARNING\nformatter=arg0Formatter\nargs=(sys.stderr,)\n\n[formatter_arg0Formatter]\nformat=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s\n\n[formatter_simpleFormatter]\nformat=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s\n",
+    "[handler_cloudLogHandler]\nclass=FileHandler\nlevel=DEBUG\nformatter=arg0Formatter\nargs=('/var/log/cloud-init.log', 'a', 'UTF-8')\n",
+    "[handler_cloudLogHandler]\nclass=handlers.SysLogHandler\nlevel=DEBUG\nformatter=simpleFormatter\nargs=(\"/dev/log\", handlers.SysLogHandler.LOG_USER)\n"
+   ],
+   "apt": {
+    "preserve_sources_list": true
+   },
+   "cloud_config_modules": [
+    "emit_upstart",
+    "snap",
+    "ssh-import-id",
+    "locale",
+    "set-passwords",
+    "grub-dpkg",
+    "apt-pipelining",
+    "apt-configure",
+    "ubuntu-advantage",
+    "ntp",
+    "timezone",
+    "disable-ec2-metadata",
+    "runcmd",
+    "byobu"
+   ],
+   "cloud_final_modules": [
+    "package-update-upgrade-install",
+    "fan",
+    "landscape",
+    "lxd",
+    "ubuntu-drivers",
+    "write-files-deferred",
+    "puppet",
+    "chef",
+    "mcollective",
+    "salt-minion",
+    "reset_rmc",
+    "refresh_rmc_and_interface",
+    "rightscale_userdata",
+    "scripts-vendor",
+    "scripts-per-once",
+    "scripts-per-boot",
+    "scripts-per-instance",
+    "scripts-user",
+    "ssh-authkey-fingerprints",
+    "keys-to-console",
+    "install-hotplug",
+    "phone-home",
+    "final-message",
+    "power-state-change"
+   ],
+   "cloud_init_modules": [
+    "migrator",
+    "seed_random",
+    "bootcmd",
+    "write-files",
+    "growpart",
+    "resizefs",
+    "disk_setup",
+    "mounts",
+    "set_hostname",
+    "update_hostname",
+    "update_etc_hosts",
+    "ca-certs",
+    "rsyslog",
+    "users-groups",
+    "ssh"
+   ],
+   "datasource": {
+    "None": {
+     "metadata": {
+      "instance_id": "fd598361-12e8-41e0-a7eb-7c9f2d7d3b41"
+     },
+     "userdata_raw": "#cloud-config\ngrowpart:\n  mode: 'off'\nlocale: en_US.UTF-8\npreserve_hostname: true\nresize_rootfs: false\ntimezone: America/Denver\nusers:\n- gecos: csmith\n  groups: !!set\n    adm: null\n    cdrom: null\n    dip: null\n    lpadmin: null\n    lxd: null\n    plugdev: null\n    sudo: null\n  lock_passwd: false\n  name: csmith\n  passwd: $6$64oWiK3gfM8OoPHu$VeKnP.4Gji4T1IonINOARKTnQt3p6fQ4yY2N9u7DMve9goqCOrUluGX0qjU176w6a39w6RsjAtRUBGCJR3Qgh.\n  shell: /bin/bash\n"
+    }
+   },
+   "datasource_list": [
+    "None"
+   ],
+   "def_log_file": "/var/log/cloud-init.log",
+   "disable_root": true,
+   "log_cfgs": [
+    [
+     "[loggers]\nkeys=root,cloudinit\n\n[handlers]\nkeys=consoleHandler,cloudLogHandler\n\n[formatters]\nkeys=simpleFormatter,arg0Formatter\n\n[logger_root]\nlevel=DEBUG\nhandlers=consoleHandler,cloudLogHandler\n\n[logger_cloudinit]\nlevel=DEBUG\nqualname=cloudinit\nhandlers=\npropagate=1\n\n[handler_consoleHandler]\nclass=StreamHandler\nlevel=WARNING\nformatter=arg0Formatter\nargs=(sys.stderr,)\n\n[formatter_arg0Formatter]\nformat=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s\n\n[formatter_simpleFormatter]\nformat=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s\n",
+     "[handler_cloudLogHandler]\nclass=FileHandler\nlevel=DEBUG\nformatter=arg0Formatter\nargs=('/var/log/cloud-init.log', 'a', 'UTF-8')\n"
+    ]
+   ],
+   "network": {
+    "config": "disabled"
+   },
+   "output": {
+    "all": "| tee -a /var/log/cloud-init-output.log"
+   },
+   "preserve_hostname": false,
+   "syslog_fix_perms": [
+    "syslog:adm",
+    "root:adm",
+    "root:wheel",
+    "root:root"
+   ],
+   "users": [
+    "default"
+   ],
+   "vendor_data": {
+    "enabled": true,
+    "prefix": []
+   },
+   "vendor_data2": {
+    "enabled": true,
+    "prefix": []
+   }
+  },
+  "platform": "none",
+  "public_ssh_keys": [],
+  "python_version": "3.9.9",
+  "region": null,
+  "sensitive_keys": [
+   "merged_cfg"
+  ],
+  "subplatform": "config",
+  "sys_info": {
+   "dist": [
+    "ubuntu",
+    "22.04",
+    "jammy"
+   ],
+   "platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
+   "python": "3.9.9",
+   "release": "5.13.0-19-generic",
+   "system": "Linux",
+   "uname": [
+    "Linux",
+    "csmith-Standard-PC-i440FX-PIIX-1996",
+    "5.13.0-19-generic",
+    "#19-Ubuntu SMP Thu Oct 7 21:58:00 UTC 2021",
+    "x86_64",
+    "x86_64"
+   ],
+   "variant": "ubuntu"
+  },
+  "system_platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
+  "userdata": "#cloud-config\ngrowpart:\n  mode: 'off'\nlocale: en_US.UTF-8\npreserve_hostname: true\nresize_rootfs: false\ntimezone: America/Denver\nusers:\n- gecos: csmith\n  groups: !!set\n    adm: null\n    cdrom: null\n    dip: null\n    lpadmin: null\n    lxd: null\n    plugdev: null\n    sudo: null\n  lock_passwd: false\n  name: csmith\n  passwd: $6$6.....\n  shell: /bin/bash\n",
+  "v1": {
+   "_beta_keys": [
+    "subplatform"
+   ],
+   "availability_zone": null,
+   "cloud_name": "none",
+   "distro": "ubuntu",
+   "distro_release": "jammy",
+   "distro_version": "22.04",
+   "instance_id": "iid-datasource-none",
+   "kernel_release": "5.13.0-19-generic",
+   "local_hostname": "csmith-Standard-PC-i440FX-PIIX-1996",
+   "machine": "x86_64",
+   "platform": "none",
+   "public_ssh_keys": [],
+   "python_version": "3.9.9",
+   "region": null,
+   "subplatform": "config",
+   "system_platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
+   "variant": "ubuntu"
+  },
+  "variant": "ubuntu",
+  "vendordata": ""
  }

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1953430

Title:
  cloud-init query traceback on root read-only etc/cloud/cloud.cfg.d/
  files

Status in cloud-init:
  New

Bug description:
  If any files are root read-only in /etc/cloud/cloud.cfg.d cloud-init query tracebacks for non-root user
  cloud-init version: 21.4

  Reproducible on Jammy Desktop installer images

  csmith@csmith-Standard-PC-i440FX-PIIX-1996:~$ cloud-init query --all
  Traceback (most recent call last):
    File "/usr/bin/cloud-init", line 33, in <module>
      sys.exit(load_entry_point('cloud-init==21.4', 'console_scripts', 'cloud-init')())
    File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 927, in main
      retval = util.log_time(
    File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2472, in log_time
      ret = func(*args, **kwargs)
    File "/usr/lib/python3/dist-packages/cloudinit/cmd/query.py", line 109, in handle_args
      paths = read_cfg_paths()
    File "/usr/lib/python3/dist-packages/cloudinit/cmd/devel/__init__.py", line 22, in read_cfg_paths
      init.read_cfg()
    File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 229, in read_cfg
      self._cfg = self._read_cfg(extra_fns)
    File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 237, in _read_cfg
      base_cfg=fetch_base_config())
    File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 1049, in fetch_base_config
      util.read_conf_with_confd(CLOUD_CONFIG),
    File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 950, in read_conf_with_confd
      confd_cfg = read_conf_d(confd)
    File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 925, in read_conf_d
      cfgs.append(read_conf(os.path.join(confd, fn)))
    File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 271, in read_conf
      return load_yaml(load_file(fname), default={})
    File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1361, in load_file
      with open(fname, 'rb') as ifh:
  PermissionError: [Errno 13] Permission denied: '/etc/cloud/cloud.cfg.d/99-installer.cfg'

  # works fine for root user
  csmith@csmith-Standard-PC-i440FX-PIIX-1996:~$ sudo cloud-init query --all
  [sudo] password for csmith:
  {
   "_beta_keys": [
    "subplatform"
   ],
   "availability_zone": null,
   "base64_encoded_keys": [],
   "cloud_name": "none",
   "distro": "ubuntu",
   "distro_release": "jammy",
   "distro_version": "22.04",
   "ds": {
    "_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
    "meta_data": {
     "instance_id": "fd598361-12e8-41e0-a7eb-7c9f2d7d3b41"
    }
   },
   "instance_id": "iid-datasource-none",
   "kernel_release": "5.13.0-19-generic",
   "local_hostname": "csmith-Standard-PC-i440FX-PIIX-1996",
   "machine": "x86_64",
   "merged_cfg": {
    "_doc": "Merged cloud-init system config from /etc/cloud/cloud.cfg and /etc/cloud/cloud.cfg.d/",
    "_log": [
     "[loggers]\nkeys=root,cloudinit\n\n[handlers]\nkeys=consoleHandler,cloudLogHandler\n\n[formatters]\nkeys=simpleFormatter,arg0Formatter\n\n[logger_root]\nlevel=DEBUG\nhandlers=consoleHandler,cloudLogHandler\n\n[logger_cloudinit]\nlevel=DEBUG\nqualname=cloudinit\nhandlers=\npropagate=1\n\n[handler_consoleHandler]\nclass=StreamHandler\nlevel=WARNING\nformatter=arg0Formatter\nargs=(sys.stderr,)\n\n[formatter_arg0Formatter]\nformat=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s\n\n[formatter_simpleFormatter]\nformat=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s\n",
     "[handler_cloudLogHandler]\nclass=FileHandler\nlevel=DEBUG\nformatter=arg0Formatter\nargs=('/var/log/cloud-init.log', 'a', 'UTF-8')\n",
     "[handler_cloudLogHandler]\nclass=handlers.SysLogHandler\nlevel=DEBUG\nformatter=simpleFormatter\nargs=(\"/dev/log\", handlers.SysLogHandler.LOG_USER)\n"
    ],
    "apt": {
     "preserve_sources_list": true
    },
    "cloud_config_modules": [
     "emit_upstart",
     "snap",
     "ssh-import-id",
     "locale",
     "set-passwords",
     "grub-dpkg",
     "apt-pipelining",
     "apt-configure",
     "ubuntu-advantage",
     "ntp",
     "timezone",
     "disable-ec2-metadata",
     "runcmd",
     "byobu"
    ],
    "cloud_final_modules": [
     "package-update-upgrade-install",
     "fan",
     "landscape",
     "lxd",
     "ubuntu-drivers",
     "write-files-deferred",
     "puppet",
     "chef",
     "mcollective",
     "salt-minion",
     "reset_rmc",
     "refresh_rmc_and_interface",
     "rightscale_userdata",
     "scripts-vendor",
     "scripts-per-once",
     "scripts-per-boot",
     "scripts-per-instance",
     "scripts-user",
     "ssh-authkey-fingerprints",
     "keys-to-console",
     "install-hotplug",
     "phone-home",
     "final-message",
     "power-state-change"
    ],
    "cloud_init_modules": [
     "migrator",
     "seed_random",
     "bootcmd",
     "write-files",
     "growpart",
     "resizefs",
     "disk_setup",
     "mounts",
     "set_hostname",
     "update_hostname",
     "update_etc_hosts",
     "ca-certs",
     "rsyslog",
     "users-groups",
     "ssh"
    ],
    "datasource": {
     "None": {
      "metadata": {
       "instance_id": "fd598361-12e8-41e0-a7eb-7c9f2d7d3b41"
      },
      "userdata_raw": "#cloud-config\ngrowpart:\n  mode: 'off'\nlocale: en_US.UTF-8\npreserve_hostname: true\nresize_rootfs: false\ntimezone: America/Denver\nusers:\n- gecos: csmith\n  groups: !!set\n    adm: null\n    cdrom: null\n    dip: null\n    lpadmin: null\n    lxd: null\n    plugdev: null\n    sudo: null\n  lock_passwd: false\n  name: csmith\n  passwd: $6$64oWiK3gfM8OoPHu$VeKnP.4Gji4T1IonINOARKTnQt3p6fQ4yY2N9u7DMve9goqCOrUluGX0qjU176w6a39w6RsjAtRUBGCJR3Qgh.\n  shell: /bin/bash\n"
     }
    },
    "datasource_list": [
     "None"
    ],
    "def_log_file": "/var/log/cloud-init.log",
    "disable_root": true,
    "log_cfgs": [
     [
      "[loggers]\nkeys=root,cloudinit\n\n[handlers]\nkeys=consoleHandler,cloudLogHandler\n\n[formatters]\nkeys=simpleFormatter,arg0Formatter\n\n[logger_root]\nlevel=DEBUG\nhandlers=consoleHandler,cloudLogHandler\n\n[logger_cloudinit]\nlevel=DEBUG\nqualname=cloudinit\nhandlers=\npropagate=1\n\n[handler_consoleHandler]\nclass=StreamHandler\nlevel=WARNING\nformatter=arg0Formatter\nargs=(sys.stderr,)\n\n[formatter_arg0Formatter]\nformat=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s\n\n[formatter_simpleFormatter]\nformat=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s\n",
      "[handler_cloudLogHandler]\nclass=FileHandler\nlevel=DEBUG\nformatter=arg0Formatter\nargs=('/var/log/cloud-init.log', 'a', 'UTF-8')\n"
     ]
    ],
    "network": {
     "config": "disabled"
    },
    "output": {
     "all": "| tee -a /var/log/cloud-init-output.log"
    },
    "preserve_hostname": false,
    "syslog_fix_perms": [
     "syslog:adm",
     "root:adm",
     "root:wheel",
     "root:root"
    ],
    "users": [
     "default"
    ],
    "vendor_data": {
     "enabled": true,
     "prefix": []
    },
    "vendor_data2": {
     "enabled": true,
     "prefix": []
    }
   },
   "platform": "none",
   "public_ssh_keys": [],
   "python_version": "3.9.9",
   "region": null,
   "sensitive_keys": [
    "merged_cfg"
   ],
   "subplatform": "config",
   "sys_info": {
    "dist": [
     "ubuntu",
     "22.04",
     "jammy"
    ],
    "platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
    "python": "3.9.9",
    "release": "5.13.0-19-generic",
    "system": "Linux",
    "uname": [
     "Linux",
     "csmith-Standard-PC-i440FX-PIIX-1996",
     "5.13.0-19-generic",
     "#19-Ubuntu SMP Thu Oct 7 21:58:00 UTC 2021",
     "x86_64",
     "x86_64"
    ],
    "variant": "ubuntu"
   },
   "system_platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
   "userdata": "#cloud-config\ngrowpart:\n  mode: 'off'\nlocale: en_US.UTF-8\npreserve_hostname: true\nresize_rootfs: false\ntimezone: America/Denver\nusers:\n- gecos: csmith\n  groups: !!set\n    adm: null\n    cdrom: null\n    dip: null\n    lpadmin: null\n    lxd: null\n    plugdev: null\n    sudo: null\n  lock_passwd: false\n  name: csmith\n  passwd: $6$6.....\n  shell: /bin/bash\n",
   "v1": {
    "_beta_keys": [
     "subplatform"
    ],
    "availability_zone": null,
    "cloud_name": "none",
    "distro": "ubuntu",
    "distro_release": "jammy",
    "distro_version": "22.04",
    "instance_id": "iid-datasource-none",
    "kernel_release": "5.13.0-19-generic",
    "local_hostname": "csmith-Standard-PC-i440FX-PIIX-1996",
    "machine": "x86_64",
    "platform": "none",
    "public_ssh_keys": [],
    "python_version": "3.9.9",
    "region": null,
    "subplatform": "config",
    "system_platform": "Linux-5.13.0-19-generic-x86_64-with-glibc2.34",
    "variant": "ubuntu"
   },
   "variant": "ubuntu",
   "vendordata": ""
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1953430/+subscriptions



Follow ups