Hi all,
I would like to gather some feedback on the current worfklow regarding
the subject. RAID configuration on DRAC machines works as follows (it
assumes there's no RAID volume on the machine):
1. user defines the deployment profile and the target raid configuration
for each profile
2. ironic-discoverd introspects the node to gather facts
3. ach-match picks a deployment profile based on the gathered facts
4. instack triggers the raid configuration based on the selected profile
A bug[1] has been discovered regarding step 2: ironic-discoverd fails
because it tries to figure out the size of the local disk but it can't
find any as no volume exists on the RAID controller yet. This is a
chicken-and-egg problem because ironic-discoverd doesn't work if the
RAID volume(s) has not been configured but the RAID configuration can't
be triggered if ironic-discoverd hasn't gathered the facts about the node.
Few possible workarounds:
#1: make saving the local disk size optional in the standard plugin in
ironic-discoverd. The downside is that the standard plugin is supposed
to enroll nodes in ironic with all attributes necessary for scheduling.
This assumption might fail with this solution.
#2: run discovery multiple times with different set of plugins. The run
before RAID configuration would exclude the standard plugin while the
run afterwards could potentially exclude others. The parameters passed
by the user to ironic-discoverd for each run need to be properly
documented. It would slow down the installation because each run
requires a reboot which takes a lot of time on bare metal.
#3: name your suggestion!
Any thoughts/preference on the above described workarounds?
Thanks,
Imre
[1]
https://bugzilla.redhat.com/show_bug.cgi?id=1222124