curtin fails to export zpool
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
Fix Released
|
Medium
|
Unassigned |
Bug Description
When redeploying on a host that has disks that have been in zfs pools, curtin attempts to export the pool to release the device, however, those devices may not be part of an ONLINE pool and exporting them does not help and causes a failure.
Unexpected error while running command.
Command: ['zpool', 'export', 'rpool']
Exit code: 1
Reason: -
Stdout: ''
Stderr: ''
curtin: Installation failed with exception: Unexpected error while running command.
Command: ['curtin', 'block-meta', 'custom']
Exit code: 3
Reason: -
Stdout: cannot open 'rpool': no such pool
Unexpected error while running command.
Command: ['zpool', 'export', 'rpool']
Exit code: 1
Reason: -
Stdout: ''
Stderr: ''
Related branches
- Server Team CI bot: Approve (continuous-integration)
- curtin developers: Pending requested
-
Diff: 3718 lines (+1736/-596)48 files modifiedcurtin/block/__init__.py (+18/-14)
curtin/block/bcache.py (+87/-0)
curtin/block/clear_holders.py (+90/-52)
curtin/block/iscsi.py (+7/-8)
curtin/block/mdadm.py (+68/-4)
curtin/block/zfs.py (+26/-1)
curtin/commands/apt_config.py (+5/-0)
curtin/commands/block_meta.py (+173/-76)
curtin/commands/curthooks.py (+3/-3)
curtin/commands/install.py (+22/-23)
curtin/util.py (+35/-25)
debian/changelog (+22/-0)
dev/null (+0/-128)
doc/topics/integration-testing.rst (+16/-0)
doc/topics/storage.rst (+61/-4)
examples/tests/dirty_disks_config.yaml (+6/-0)
examples/tests/filesystem_battery.yaml (+23/-0)
examples/tests/lvm.yaml (+21/-0)
tests/unittests/helpers.py (+3/-1)
tests/unittests/test_block_zfs.py (+96/-0)
tests/unittests/test_clear_holders.py (+87/-38)
tests/unittests/test_commands_block_meta.py (+425/-25)
tests/unittests/test_commands_install.py (+28/-0)
tests/unittests/test_make_dname.py (+28/-1)
tests/unittests/test_util.py (+47/-0)
tests/vmtests/__init__.py (+146/-19)
tests/vmtests/helpers.py (+49/-32)
tests/vmtests/test_basic.py (+12/-9)
tests/vmtests/test_centos_basic.py (+0/-2)
tests/vmtests/test_fs_battery.py (+49/-0)
tests/vmtests/test_lvm.py (+6/-10)
tests/vmtests/test_lvm_iscsi.py (+8/-2)
tests/vmtests/test_mdadm_bcache.py (+7/-73)
tests/vmtests/test_network.py (+0/-1)
tests/vmtests/test_network_alias.py (+0/-1)
tests/vmtests/test_network_bonding.py (+0/-1)
tests/vmtests/test_network_bridging.py (+0/-1)
tests/vmtests/test_network_ipv6.py (+0/-1)
tests/vmtests/test_network_mtu.py (+0/-1)
tests/vmtests/test_network_static.py (+0/-1)
tests/vmtests/test_network_vlan.py (+6/-1)
tests/vmtests/test_nvme.py (+0/-18)
tests/vmtests/test_pollinate_useragent.py (+2/-2)
tests/vmtests/test_raid5_bcache.py (+0/-4)
tests/vmtests/test_uefi_basic.py (+0/-9)
tests/vmtests/test_zfsroot.py (+40/-1)
tools/jenkins-runner (+12/-0)
tools/vmtest-sync-images (+2/-4)
- Server Team CI bot: Approve (continuous-integration)
- curtin developers: Pending requested
-
Diff: 3718 lines (+1736/-596)48 files modifiedcurtin/block/__init__.py (+18/-14)
curtin/block/bcache.py (+87/-0)
curtin/block/clear_holders.py (+90/-52)
curtin/block/iscsi.py (+7/-8)
curtin/block/mdadm.py (+68/-4)
curtin/block/zfs.py (+26/-1)
curtin/commands/apt_config.py (+5/-0)
curtin/commands/block_meta.py (+173/-76)
curtin/commands/curthooks.py (+3/-3)
curtin/commands/install.py (+22/-23)
curtin/util.py (+35/-25)
debian/changelog (+22/-0)
dev/null (+0/-128)
doc/topics/integration-testing.rst (+16/-0)
doc/topics/storage.rst (+61/-4)
examples/tests/dirty_disks_config.yaml (+6/-0)
examples/tests/filesystem_battery.yaml (+23/-0)
examples/tests/lvm.yaml (+21/-0)
tests/unittests/helpers.py (+3/-1)
tests/unittests/test_block_zfs.py (+96/-0)
tests/unittests/test_clear_holders.py (+87/-38)
tests/unittests/test_commands_block_meta.py (+425/-25)
tests/unittests/test_commands_install.py (+28/-0)
tests/unittests/test_make_dname.py (+28/-1)
tests/unittests/test_util.py (+47/-0)
tests/vmtests/__init__.py (+146/-19)
tests/vmtests/helpers.py (+49/-32)
tests/vmtests/test_basic.py (+12/-9)
tests/vmtests/test_centos_basic.py (+0/-2)
tests/vmtests/test_fs_battery.py (+49/-0)
tests/vmtests/test_lvm.py (+6/-10)
tests/vmtests/test_lvm_iscsi.py (+8/-2)
tests/vmtests/test_mdadm_bcache.py (+7/-73)
tests/vmtests/test_network.py (+0/-1)
tests/vmtests/test_network_alias.py (+0/-1)
tests/vmtests/test_network_bonding.py (+0/-1)
tests/vmtests/test_network_bridging.py (+0/-1)
tests/vmtests/test_network_ipv6.py (+0/-1)
tests/vmtests/test_network_mtu.py (+0/-1)
tests/vmtests/test_network_static.py (+0/-1)
tests/vmtests/test_network_vlan.py (+6/-1)
tests/vmtests/test_nvme.py (+0/-18)
tests/vmtests/test_pollinate_useragent.py (+2/-2)
tests/vmtests/test_raid5_bcache.py (+0/-4)
tests/vmtests/test_uefi_basic.py (+0/-9)
tests/vmtests/test_zfsroot.py (+40/-1)
tools/jenkins-runner (+12/-0)
tools/vmtest-sync-images (+2/-4)
- Server Team CI bot: Approve (continuous-integration)
- curtin developers: Pending requested
-
Diff: 3486 lines (+1640/-558)44 files modifiedcurtin/block/__init__.py (+18/-14)
curtin/block/bcache.py (+87/-0)
curtin/block/clear_holders.py (+88/-51)
curtin/block/iscsi.py (+7/-8)
curtin/block/mdadm.py (+65/-0)
curtin/block/zfs.py (+26/-1)
curtin/commands/apt_config.py (+5/-0)
curtin/commands/block_meta.py (+173/-76)
curtin/commands/curthooks.py (+2/-2)
curtin/util.py (+35/-25)
debian/changelog (+18/-0)
dev/null (+0/-128)
doc/topics/integration-testing.rst (+16/-0)
doc/topics/storage.rst (+61/-4)
examples/tests/dirty_disks_config.yaml (+6/-0)
examples/tests/filesystem_battery.yaml (+23/-0)
tests/unittests/helpers.py (+3/-1)
tests/unittests/test_block_zfs.py (+96/-0)
tests/unittests/test_clear_holders.py (+82/-33)
tests/unittests/test_commands_block_meta.py (+425/-25)
tests/unittests/test_make_dname.py (+28/-1)
tests/unittests/test_util.py (+47/-0)
tests/vmtests/__init__.py (+145/-18)
tests/vmtests/helpers.py (+49/-32)
tests/vmtests/test_basic.py (+12/-9)
tests/vmtests/test_centos_basic.py (+0/-2)
tests/vmtests/test_fs_battery.py (+49/-0)
tests/vmtests/test_lvm.py (+5/-9)
tests/vmtests/test_lvm_iscsi.py (+8/-2)
tests/vmtests/test_mdadm_bcache.py (+7/-73)
tests/vmtests/test_network.py (+0/-1)
tests/vmtests/test_network_alias.py (+0/-1)
tests/vmtests/test_network_bonding.py (+0/-1)
tests/vmtests/test_network_bridging.py (+0/-1)
tests/vmtests/test_network_ipv6.py (+0/-1)
tests/vmtests/test_network_mtu.py (+0/-1)
tests/vmtests/test_network_static.py (+0/-1)
tests/vmtests/test_network_vlan.py (+0/-1)
tests/vmtests/test_nvme.py (+0/-18)
tests/vmtests/test_raid5_bcache.py (+0/-4)
tests/vmtests/test_uefi_basic.py (+0/-9)
tests/vmtests/test_zfsroot.py (+40/-1)
tools/jenkins-runner (+12/-0)
tools/vmtest-sync-images (+2/-4)
- Server Team CI bot: Approve (continuous-integration)
- Scott Moser (community): Approve
-
Diff: 73 lines (+15/-2)5 files modifiedcurtin/block/clear_holders.py (+3/-1)
curtin/block/zfs.py (+1/-1)
examples/tests/dirty_disks_config.yaml (+6/-0)
tests/unittests/test_clear_holders.py (+1/-0)
tests/vmtests/test_zfsroot.py (+4/-0)
Changed in curtin: | |
importance: | Undecided → Medium |
status: | New → In Progress |
I can recreate this failure by exporting the root pool between curtin install invocations. Curtin should ignore zpool members that aren't currently online.