When commissioning a ppc64le machine with 2.8.0~beta4 (8502-g.942cfc7e9), it ends up as Failed Commissioning, and I see this in regiond.log:
020-05-28 10:47:34 metadataserver.api: [critical] ppc64le.maas(qyhykx): commissioning script '50-maas-01-commissioning' failed during post-processing.
Traceback (most recent call last):
File "/snap/maas/6660/lib/python3.6/site-packages/metadataserver/api.py", line 800, in signal
target_status = process(node, request, status)
File "/snap/maas/6660/lib/python3.6/site-packages/metadataserver/api.py", line 622, in _process_commissioning
node, node.current_commissioning_script_set, request, status
File "/snap/maas/6660/lib/python3.6/site-packages/metadataserver/api.py", line 515, in _store_results
**args, timedout=(status == SIGNAL_STATUS.TIMEDOUT)
File "/snap/maas/6660/lib/python3.6/site-packages/metadataserver/models/scriptresult.py", line 391, in store_result
exit_status=self.exit_status,
--- <exception caught here> ---
File "/snap/maas/6660/lib/python3.6/site-packages/metadataserver/api.py", line 441, in try_or_log_event
func(*args, **kwargs)
File "/snap/maas/6660/lib/python3.6/site-packages/metadataserver/builtin_scripts/hooks.py", line 715, in process_lxd_results
_process_lxd_resources(node, data["resources"])
File "/snap/maas/6660/lib/python3.6/site-packages/metadataserver/builtin_scripts/hooks.py", line 475, in _process_lxd_resources
_process_system_information(node, data.get("system", {}))
File "/snap/maas/6660/lib/python3.6/site-packages/metadataserver/builtin_scripts/hooks.py", line 418, in _process_system_information
validate_and_set_data(f"mainboard_{i}", motherboard.get(i))
builtins.AttributeError: 'NoneType' object has no attribute 'get'
It looks like LXD output is defining the motherboard object as None. Normally when LXD doesn't have information it simply doesn't create the object at all. The related branch handles this case however I suspect there is an LXD bug here as motherboard information is missing.
Could you file a bug at https:/ /github. com/lxc/ lxd/issues containing hardware information so the LXD can figure out why motherboard information is missing?