canonical / canonical/cloud-init
Failed stage modules-final
- Dominant language
- Python
- Stars
- 3.8k
- Forks
- 1.1k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 18
Description
# Bug report
Cloud-init fails to finish configuration: writing files with `defer: true` option haven't been executed.
## Steps to reproduce the problem
user-data:
```
package_upgrade: true # Upgrade the instance on first boot
package_reboot_if_required: true
write_files:
- content: |
some_text_1
path: /etc/service1/file1 # has been written successfully
- content: |
some_text_1
path: /etc/service2/file2 # hasn't been written
defer: true
packages:
- lsb-release
- ifupdown
- bsdmainutils
- dctrl-tools
- debconf-utils
- dmidecode
- net-tools
```
## Environment details
- Cloud-init version: `25.1.4-0ubuntu0~24.04.1`
- Operating System Distribution: `Ubuntu 24.04.2 LTS`
- Cloud provider, platform or installer type: EC2
## cloud-init logs
/var/log/cloud-init.log
```
2025-07-30 14:39:59,715 - log_util.py[ERROR]: Filename: /usr/lib/python3/dist-packages/cloudinit/config/cc_package_update_upgrade_install.py
Function: _fire_reboot
Line number: 58
Filename: /usr/lib/python3/dist-packages/cloudinit/config/cc_package_update_upgrade_install.py
Function: handle
Line number: 118
Filename: /usr/lib/python3/dist-packages/cloudinit/helpers.py
Function: run
Line number: 156
2025-07-30 14:39:59,715 - handlers.py[DEBUG]: finish: modules-final/config-package_update_upgrade_install: FAIL: running config-package_update_upgrade_install with frequency once-per-instance
2025-07-30 14:39:59,716 - main.py[ERROR]: failed stage modules-final
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 931, in status_wrapper
ret = functor(name, args)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 771, in main_modules
return run_module_section(mods, name, name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 140, in run_module_section
(which_ran, failures) = mods.run_section(full_section_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/config/modules.py", line 381, in run_section
return self._run_modules(active_mods)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/config/modules.py", line 297, in _run_modules
ran, _r = cc.run(
^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/cloud.py", line 71, in run
return self._runners.run(name, functor, args, freq, clear_on_fail)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/helpers.py", line 156, in run
results = functor(**args)
^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/config/cc_package_update_upgrade_install.py", line 118, in handle
_fire_reboot()
File "/usr/lib/python3/dist-packages/cloudinit/config/cc_package_update_upgrade_install.py", line 58, in _fire_reboot
time.sleep(wait_time)
File "/usr/lib/python3/dist-packages/cloudinit/signal_handler.py", line 85, in _handle_exit
sys.exit(_SIGNAL_EXIT_BEHAVIOR.exit_code)
SystemExit: 1
```
Contributor guide
Assessment
This issue has not been assessed yet.