Comment 26 for bug 1618429

Revision history for this message
Ryan Harper (raharper) wrote :

I'd like to add some comments for the SRU verification.

This issue was discovered on a customer's system which is not currently available for verification. Analyzing the error code in the original bug was when mdadm assemble was called on an array that was incomplete (some members not available) and produced a return code of '2'. The curtin code that handles mdadm assembly was not expecting a return code of '2' and exited.

After examination of the process, curtin is attempting to assemble any arrays to discover any block device dependencies in an effort to wipe them all clean (ensuring that we can install and reboot into a system configured as expected). We determined that during storage preparation curtin does not care specifically if assembly fails as it was going to *wipe* the target block devices in any case; thus adding a flag to ignore return codes from mdadm assembly during this phase was the recommended solution.

We were not able to simulate this particular failure, so instead we have a unittest which explicitly returns a value of 2 to simulate the situation and ensure that during our prepare phase we ignore those errors.

Despite not recreating this specific error, we feel confident that the fix for wiping previous md devices is fixed in this release.