Failed to deploy machine with HP Smart Array Raid 6i
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Landscape Server |
Invalid
|
Undecided
|
Unassigned | ||
MAAS |
Invalid
|
Undecided
|
Unassigned | ||
curtin |
Fix Released
|
Undecided
|
Unassigned | ||
curtin (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Confirmed
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* Attempting to deploy a machine with a HP Smart Array Raid 6i fails to
install due to Curtin miscalculating the device path to CCISS
partitions
Curtin has been updated to properly calculate and handle the
different forms of the HP CCISS array devices and partition path names
in /dev and in /sys
[Test Case]
* Install proposed curtin package and deploy Ubuntu images to a system
with an HP Smart Array device.
PASS: Ubuntu OS successfully installed
FAIL: Ubuntu fails to install with error message like:
An error occured handling 'cciss!c0d0':
OSError - [Errno 2] No such file or directory: '/sys/block/
[Regression Potential]
* The fix included changes to how curtin determines the sysfs path to
block devices and partitions. It's possible that these changes could
cause working systems which currently deploy to fail to deploy.
However, this is mitigated by the fact that only HP Smart Array devices
have special naming scheme for partitions so it's unlikely that non-HP
storage devices are using the kernel path /dev/cciss as a prefix.
[Original Description]
Attempting to deploy a machine with a HP Smart Array Raid 6i fails. Installation output contains:
Error: Partition(s) 5 on /dev/cciss/c0d0 have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.
An error occured handling 'cciss!c0d0': OSError - [Errno 2] No such file or directory: '/sys/block/
[Errno 2] No such file or directory: '/sys/block/
Installation failed with exception: Unexpected error while running command.
Command: ['curtin', 'block-meta', 'custom']
Exit code: 3
Reason: -
Stdout: "Error: Partition(s) 5 on /dev/cciss/c0d0 have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.\nAn error occured handling 'cciss!c0d0': OSError - [Errno 2] No such file or directory: '/sys/block/
Related branches
- Server Team CI bot: Approve (continuous-integration)
- Ryan Harper (community): Needs Fixing
-
Diff: 702 lines (+398/-94)7 files modifiedcurtin/block/__init__.py (+63/-15)
curtin/commands/block_meta.py (+58/-76)
examples/tests/basic.yaml (+1/-1)
examples/tests/basic_scsi.yaml (+1/-1)
tests/unittests/test_block.py (+73/-0)
tests/unittests/test_make_dname.py (+200/-0)
tests/vmtests/test_basic.py (+2/-1)
- Scott Moser: Pending requested
-
Diff: 14513 lines (+10324/-1893)94 files modifiedMakefile (+3/-1)
curtin/__init__.py (+4/-0)
curtin/block/__init__.py (+249/-61)
curtin/block/clear_holders.py (+387/-0)
curtin/block/lvm.py (+96/-0)
curtin/block/mdadm.py (+18/-5)
curtin/block/mkfs.py (+10/-5)
curtin/commands/apply_net.py (+156/-1)
curtin/commands/apt_config.py (+668/-0)
curtin/commands/block_info.py (+75/-0)
curtin/commands/block_meta.py (+134/-263)
curtin/commands/block_wipe.py (+1/-2)
curtin/commands/clear_holders.py (+48/-0)
curtin/commands/curthooks.py (+61/-235)
curtin/commands/main.py (+4/-3)
curtin/config.py (+2/-3)
curtin/gpg.py (+74/-0)
curtin/net/__init__.py (+67/-30)
curtin/net/network_state.py (+45/-1)
curtin/util.py (+278/-81)
debian/changelog (+32/-2)
doc/conf.py (+21/-4)
doc/devel/README-vmtest.txt (+0/-152)
doc/devel/README.txt (+0/-55)
doc/devel/clear_holders_doc.txt (+85/-0)
doc/index.rst (+6/-0)
doc/topics/apt_source.rst (+164/-0)
doc/topics/config.rst (+551/-0)
doc/topics/development.rst (+68/-0)
doc/topics/integration-testing.rst (+245/-0)
doc/topics/networking.rst (+522/-0)
doc/topics/overview.rst (+7/-7)
doc/topics/reporting.rst (+3/-3)
doc/topics/storage.rst (+894/-0)
examples/apt-source.yaml (+267/-0)
examples/network-ipv6-bond-vlan.yaml (+56/-0)
examples/tests/apt_config_command.yaml (+85/-0)
examples/tests/apt_source_custom.yaml (+97/-0)
examples/tests/apt_source_modify.yaml (+92/-0)
examples/tests/apt_source_modify_arches.yaml (+102/-0)
examples/tests/apt_source_modify_disable_suite.yaml (+92/-0)
examples/tests/apt_source_preserve.yaml (+98/-0)
examples/tests/apt_source_search.yaml (+97/-0)
examples/tests/basic.yaml (+5/-1)
examples/tests/basic_network_static_ipv6.yaml (+22/-0)
examples/tests/basic_scsi.yaml (+1/-1)
examples/tests/network_alias.yaml (+125/-0)
examples/tests/network_mtu.yaml (+88/-0)
examples/tests/network_source_ipv6.yaml (+31/-0)
examples/tests/test_old_apt_features.yaml (+11/-0)
examples/tests/test_old_apt_features_ports.yaml (+10/-0)
examples/tests/uefi_basic.yaml (+15/-0)
examples/tests/vlan_network_ipv6.yaml (+92/-0)
setup.py (+2/-2)
tests/unittests/helpers.py (+41/-0)
tests/unittests/test_apt_custom_sources_list.py (+170/-0)
tests/unittests/test_apt_source.py (+1032/-0)
tests/unittests/test_block.py (+210/-0)
tests/unittests/test_block_lvm.py (+94/-0)
tests/unittests/test_block_mdadm.py (+28/-23)
tests/unittests/test_block_mkfs.py (+2/-2)
tests/unittests/test_clear_holders.py (+329/-0)
tests/unittests/test_make_dname.py (+200/-0)
tests/unittests/test_net.py (+54/-13)
tests/unittests/test_util.py (+180/-2)
tests/vmtests/__init__.py (+38/-38)
tests/vmtests/helpers.py (+129/-166)
tests/vmtests/test_apt_config_cmd.py (+55/-0)
tests/vmtests/test_apt_source.py (+238/-0)
tests/vmtests/test_basic.py (+21/-41)
tests/vmtests/test_bcache_basic.py (+5/-8)
tests/vmtests/test_bonding.py (+0/-204)
tests/vmtests/test_lvm.py (+2/-1)
tests/vmtests/test_mdadm_bcache.py (+21/-17)
tests/vmtests/test_multipath.py (+5/-13)
tests/vmtests/test_network.py (+205/-348)
tests/vmtests/test_network_alias.py (+40/-0)
tests/vmtests/test_network_bonding.py (+63/-0)
tests/vmtests/test_network_enisource.py (+91/-0)
tests/vmtests/test_network_ipv6.py (+53/-0)
tests/vmtests/test_network_ipv6_enisource.py (+26/-0)
tests/vmtests/test_network_ipv6_static.py (+42/-0)
tests/vmtests/test_network_ipv6_vlan.py (+34/-0)
tests/vmtests/test_network_mtu.py (+155/-0)
tests/vmtests/test_network_static.py (+44/-0)
tests/vmtests/test_network_vlan.py (+77/-0)
tests/vmtests/test_nvme.py (+2/-3)
tests/vmtests/test_old_apt_features.py (+89/-0)
tests/vmtests/test_raid5_bcache.py (+5/-8)
tests/vmtests/test_uefi_basic.py (+16/-18)
tools/jenkins-runner (+33/-7)
tools/launch (+9/-48)
tools/xkvm (+90/-2)
tox.ini (+30/-13)
information type: | Proprietary → Public |
Changed in landscape: | |
status: | Incomplete → Invalid |
summary: |
- node 'failed deployment' during openstack install + Failed to deploy machine with HP Smart Array Raid 6i |
description: | updated |
tags: |
added: kanban-cross-team landscape removed: cloud-install-failure |
tags: | removed: kanban-cross-team |
Changed in maas: | |
status: | New → Invalid |
Changed in maas: | |
status: | Incomplete → Confirmed |
tags: | added: curtin-clear-holders |
tags: | added: curtin-sru |
Changed in curtin: | |
status: | New → In Progress |
Changed in maas: | |
status: | Confirmed → Invalid |
Changed in curtin: | |
status: | In Progress → Fix Committed |
description: | updated |
Changed in curtin (Ubuntu): | |
status: | New → Fix Released |
Changed in curtin (Ubuntu Xenial): | |
status: | New → Fix Committed |
Changed in curtin (Ubuntu Trusty): | |
importance: | Undecided → Medium |
status: | New → Confirmed |
tags: |
added: verification-done removed: verification-needed |
I have two suggestions:
a) do a node deployment without juju, just maas.
b) do a juju node deployment
For (a), all you have to do is import a public ssh key into your MAAS user and then select a node and hit "deploy". It should install ubuntu on the node and you should be able to ssh in using that key and as the ubuntu user.
If (a) worked, then you can try (b). To do that, configure juju to use MAAS as a provider following the instructions here: https:/ /jujucharms. com/docs/ stable/ config- maas
Then do a juju bootstrap. This is what the autopilot does.