storage controller does not support singleton wildcards
mlosapio opened this issue · comments
The scenario where you would want all available disks configured into a RAID is not supported.
Reproduce:
[root@master ~]# stack list storage controller
SCOPE ENCLOSURE ADAPTER SLOT RAIDLEVEL ARRAYID OPTIONS
global --------- ------- * 0 1 -------
This will not produce the expected results - which would be a RAID0 array with all available disks.
First part (skips)
https://github.com/Teradata/stacki/blob/master/common/src/stack/storage-config/bin/configure-controllers.py#L176
And this section gets skipped because it's and
https://github.com/Teradata/stacki/blob/master/common/src/stack/storage-config/bin/configure-controllers.py#L205
The default is JBOD which is what you see in the global line. All disks essentially have no RAID. What you're asking for is a stripe across all disks, no mirroring?
Correct - stripe across all disks.
This seems to have produced the desired results.
diff --git a/common/src/stack/storage-config/bin/configure-controllers.py b/common/src/stack/storage-config/bin/configure-controllers.py
index 8598b592..cd3a5aa3 100755
--- a/common/src/stack/storage-config/bin/configure-controllers.py
+++ b/common/src/stack/storage-config/bin/configure-controllers.py
@@ -85,7 +85,7 @@ else:
#
if attr2bool(secureerase):
nukecontroller = 'true'
-
+
#
# only run this code if 'nukecontroller' is true
#
@@ -174,10 +174,11 @@ for arrayid in arrayids:
slots.sort(key = sortids)
if len(slots) == 1 and slots[0] == '*':
- #
- # skip for now, we'll do these disks at the very end
- #
- continue
+ allslots = []
+ for slot in freeslots[adapter]:
+ allslots.append(slot)
+ ctrl.doRaid(raidlevel, adapter, enclosure, allslots,
+ hotspares, options)
if raidlevel == 'hotspare' and arrayid == 'global':
ctrl.doGlobalHotSpare(adapter, enclosure, hotspares, options)
I'm happy to push a diff if this is acceptable.
Closed with commit 0be496e
Hey @mlosapio, this required a code change deeper in the current codebase of stacki.
It's fixed now, and will be available in the next release.
Thanks for the bug report.