Curtin unable to deploy CentOS without hooks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
Fix Committed
|
High
|
Unassigned |
Bug Description
The latest version of Curtin includes native CentOS/RHEL support. Images produced with lp:maas-images and lp:maas-image-builder both include Curtin hooks for backwards compatibility. On older versions of MAAS/Curtin the old code is run while with newer versions the hooks call back into Curtin.
I created a CentOS image with no Curtin hooks[1] and attempted to deploy it with MAAS. Curtin successfully finishes but the deployment never finishes and I'm unable to access the machine even though it boots. What seems to be missing is Curtin isn't creating /etc/cloud/
[1] http://
[2] https:/
Related branches
- Server Team CI bot: Approve (continuous-integration)
- Lee Trager (community): Approve
- Scott Moser (community): Approve
- Chad Smith: Pending requested
-
Diff: 7050 lines (+2535/-1590)82 files modifiedcurtin/__init__.py (+2/-0)
curtin/block/__init__.py (+0/-72)
curtin/block/deps.py (+103/-0)
curtin/block/iscsi.py (+25/-9)
curtin/block/lvm.py (+2/-1)
curtin/block/mdadm.py (+2/-1)
curtin/block/mkfs.py (+3/-2)
curtin/block/zfs.py (+2/-1)
curtin/commands/apply_net.py (+4/-3)
curtin/commands/apt_config.py (+13/-13)
curtin/commands/block_meta.py (+5/-4)
curtin/commands/curthooks.py (+391/-207)
curtin/commands/in_target.py (+2/-2)
curtin/commands/install.py (+4/-2)
curtin/commands/system_install.py (+2/-1)
curtin/commands/system_upgrade.py (+3/-2)
curtin/deps/__init__.py (+3/-3)
curtin/distro.py (+512/-0)
curtin/futil.py (+2/-1)
curtin/net/__init__.py (+0/-59)
curtin/net/deps.py (+72/-0)
curtin/paths.py (+34/-0)
curtin/util.py (+20/-318)
dev/null (+0/-96)
doc/topics/config.rst (+40/-0)
doc/topics/curthooks.rst (+18/-2)
examples/tests/filesystem_battery.yaml (+2/-2)
helpers/common (+156/-35)
tests/unittests/test_apt_custom_sources_list.py (+10/-8)
tests/unittests/test_apt_source.py (+8/-7)
tests/unittests/test_block_iscsi.py (+7/-0)
tests/unittests/test_block_lvm.py (+3/-2)
tests/unittests/test_block_mdadm.py (+18/-11)
tests/unittests/test_block_mkfs.py (+3/-2)
tests/unittests/test_block_zfs.py (+15/-9)
tests/unittests/test_commands_apply_net.py (+7/-7)
tests/unittests/test_commands_block_meta.py (+4/-3)
tests/unittests/test_curthooks.py (+103/-78)
tests/unittests/test_distro.py (+302/-0)
tests/unittests/test_feature.py (+3/-0)
tests/unittests/test_pack.py (+2/-0)
tests/unittests/test_util.py (+19/-122)
tests/vmtests/__init__.py (+80/-13)
tests/vmtests/helpers.py (+28/-1)
tests/vmtests/image_sync.py (+3/-1)
tests/vmtests/releases.py (+2/-2)
tests/vmtests/report_webhook_logger.py (+11/-6)
tests/vmtests/test_apt_config_cmd.py (+2/-4)
tests/vmtests/test_apt_source.py (+2/-4)
tests/vmtests/test_basic.py (+126/-152)
tests/vmtests/test_bcache_basic.py (+3/-6)
tests/vmtests/test_fs_battery.py (+25/-11)
tests/vmtests/test_install_umount.py (+1/-18)
tests/vmtests/test_iscsi.py (+10/-6)
tests/vmtests/test_journald_reporter.py (+2/-5)
tests/vmtests/test_lvm.py (+7/-8)
tests/vmtests/test_lvm_iscsi.py (+9/-4)
tests/vmtests/test_lvm_root.py (+40/-9)
tests/vmtests/test_mdadm_bcache.py (+41/-18)
tests/vmtests/test_mdadm_iscsi.py (+9/-3)
tests/vmtests/test_multipath.py (+8/-16)
tests/vmtests/test_network.py (+4/-19)
tests/vmtests/test_network_alias.py (+3/-3)
tests/vmtests/test_network_bonding.py (+3/-3)
tests/vmtests/test_network_bridging.py (+4/-4)
tests/vmtests/test_network_ipv6.py (+4/-4)
tests/vmtests/test_network_ipv6_static.py (+2/-2)
tests/vmtests/test_network_ipv6_vlan.py (+2/-2)
tests/vmtests/test_network_mtu.py (+5/-4)
tests/vmtests/test_network_static.py (+2/-11)
tests/vmtests/test_network_static_routes.py (+2/-2)
tests/vmtests/test_network_vlan.py (+3/-11)
tests/vmtests/test_nvme.py (+29/-56)
tests/vmtests/test_old_apt_features.py (+2/-4)
tests/vmtests/test_pollinate_useragent.py (+2/-2)
tests/vmtests/test_raid5_bcache.py (+6/-11)
tests/vmtests/test_simple.py (+5/-18)
tests/vmtests/test_ubuntu_core.py (+3/-8)
tests/vmtests/test_uefi_basic.py (+27/-28)
tests/vmtests/test_zfsroot.py (+5/-21)
tools/jenkins-runner (+30/-5)
tools/vmtest-filter (+57/-0)
Changed in curtin: | |
status: | In Progress → Fix Committed |
Changed in curtin: | |
importance: | Undecided → High |
I see. The in-image hooks called curthooks. handle_ cloudconfig( ) for us. That's not something that we've done in the ubuntu-curthooks path as maas passes it's datasource config in vai debconf set_selections.
I'll add a path in the curthooks for redhat family hooks to run that.