LP: #1727547 -- Modifies the node model signals so that FAILED_TESTING is no longer blacklisted from updating the node's previous status.
This is needed so that we can actually go back to a FAILED_TESTING state when aborting tests. Additionally, FAILED_TESTING is added to the NODE_TESTING_RESET_READY_TRANSITIONS so that in the event that the previous node status was FAILED_TESTING, that upon successful completion of running tests, it will go to the READY state.
LP: #1727568, #1727575 - Create migration to show old storage tests on all devices.
MAAS 2.2 did not support assoicated a ScriptResult with a hardware_type or
physical_blockdevice. When the UI was updated in 2.3 it was decided that
these old results should be assoicated with all known PhysicalBlockDevices.
This was implemented in Javascript but has been causing issues with the
triggers as some ScriptResults are associated with a PhyicalBlockDevice while
others aren't.
Old ScriptResults are now assoicated with the node's known
PhysicalBlockDevices in a migration so the UI gets a similar data set.
The UI now shows the health status of the node when the spinner isn't being
shown. The health status is the overall status of all commissioning and
testing scripts. Like the health status icons for CPU, memory, and storage
the health status icon will only display if there is a problem.
The commissioning, testing, CPU, memory, storage, and overall health are now
reported on the API. Like the websocket ScriptResults are cached so they are
only loaded once.
LP: #1727551 - Rename ScriptResults named 00-maas-06-dhcp-unconfigured-ifaces to 00-maas-05-dhcp-unconfigured-ifaces
00-maas-06-dhcp-unconfigured-ifaces was previously renamed
00-maas-05-dhcp-unconfigured-ifaces. This only effected future runs of the
script, previous results still had the same name. This caused both the old and
new version to be shown in the UI. This adds a migration to rename
ScriptResults using the old name.