summaryrefslogtreecommitdiff
path: root/ironic
diff options
context:
space:
mode:
authorImre Farkas <ifarkas@redhat.com>2016-04-20 14:38:13 +0200
committerJim Rollenhagen <jim@jimrollenhagen.com>2016-05-04 14:28:48 +0000
commit0f8cfa8012bf23d3d82bc19197c0ce59de1b55d5 (patch)
treef98b96d6d3d9cf741e2459102d8291ed8ac89320 /ironic
parent67652e530e7c34494a44a948974d1ea71e19899e (diff)
downloadironic-0f8cfa8012bf23d3d82bc19197c0ce59de1b55d5.tar.gz
RAID interface to support JBOD volumes
Adding 'JBOD' to the list of accepted RAID levels. Closes-Bug: #1572511 Change-Id: I596b26d10331aed9696c8fbd75b9e1d683af8587
Diffstat (limited to 'ironic')
-rw-r--r--ironic/drivers/raid_config_schema.json4
-rw-r--r--ironic/tests/unit/common/test_raid.py5
-rw-r--r--ironic/tests/unit/raid_constants.py11
3 files changed, 18 insertions, 2 deletions
diff --git a/ironic/drivers/raid_config_schema.json b/ironic/drivers/raid_config_schema.json
index 65ef10e33..bdfb3a012 100644
--- a/ironic/drivers/raid_config_schema.json
+++ b/ironic/drivers/raid_config_schema.json
@@ -9,8 +9,8 @@
"properties": {
"raid_level": {
"type": "string",
- "enum": [ "0", "1", "2", "5", "6", "1+0", "5+0", "6+0" ],
- "description": "RAID level for the logical disk. Valid values are '0', '1', '2', '5', '6', '1+0', '5+0' and '6+0'. Required."
+ "enum": [ "JBOD", "0", "1", "2", "5", "6", "1+0", "5+0", "6+0" ],
+ "description": "RAID level for the logical disk. Valid values are 'JBOD', 0', '1', '2', '5', '6', '1+0', '5+0' and '6+0'. Required."
},
"size_gb": {
"anyOf": [{
diff --git a/ironic/tests/unit/common/test_raid.py b/ironic/tests/unit/common/test_raid.py
index bcd57cfd8..0b47470a6 100644
--- a/ironic/tests/unit/common/test_raid.py
+++ b/ironic/tests/unit/common/test_raid.py
@@ -141,6 +141,11 @@ class ValidateRaidConfigurationTestCase(base.TestCase):
raid_config,
raid_config_schema=self.schema)
+ def test_validate_configuration_with_jbod_volume(self):
+ raid_config = json.loads(raid_constants.RAID_CONFIG_JBOD_VOLUME)
+ raid.validate_configuration(raid_config,
+ raid_config_schema=self.schema)
+
def test_validate_configuration_custom_schema(self):
raid_config = json.loads(raid_constants.CUSTOM_SCHEMA_RAID_CONFIG)
schema = json.loads(raid_constants.CUSTOM_RAID_SCHEMA)
diff --git a/ironic/tests/unit/raid_constants.py b/ironic/tests/unit/raid_constants.py
index c3db74f4d..ba37f84a7 100644
--- a/ironic/tests/unit/raid_constants.py
+++ b/ironic/tests/unit/raid_constants.py
@@ -196,6 +196,17 @@ RAID_CONFIG_ADDITIONAL_PROP = '''
}
'''
+RAID_CONFIG_JBOD_VOLUME = '''
+{
+ "logical_disks": [
+ {
+ "raid_level": "JBOD",
+ "size_gb": 100
+ }
+ ]
+}
+'''
+
CUSTOM_SCHEMA_RAID_CONFIG = '''
{
"logical_disks": [