Correct RAID documentation JSON

The original example dictionaries added to the RAID documentation
used single quotes instead of double quotes. Since double quotes
are used in JSON, as opposed to dictionaries, to represent a string,
they were failing JSON validation and could not be directly used.

Changed the single quotes to double quotes where appropriate
in the RAID documentation and passed each example through a JSON
validator which now returns that the example is valid JSON.

This patch also updates quotes in cleaning.rst and ilo.rst.

Change-Id: Icb49dfd6722771c147ff5055a6562b6a6ebecb6a
Closes-Bug: #1586157
This commit is contained in:
Julia Kreger
2016-05-26 17:17:45 -04:00
committed by Chris Krelle
parent 0b42710923
commit 799f446ee4
3 changed files with 68 additions and 68 deletions

View File

@@ -112,9 +112,9 @@ is an ordered list of cleaning steps. A cleaning step is represented by a
dictionary (JSON), in the form::
{
'interface': <interface>,
'step': <name of cleaning step>,
'args': {<arg1>: <value1>, ..., <argn>: <valuen>}
"interface": "<interface>",
"step": "<name of cleaning step>",
"args": {"<arg1>": "<value1>", ..., "<argn>": <valuen>}
}
The 'interface' and 'step' keys are required for all steps. If a cleaning step

View File

@@ -49,7 +49,7 @@ as the key. The value for the ``logical_disks`` is a list of JSON
dictionaries. It looks like::
{
'logical_disks': [
"logical_disks": [
{<desired properties of logical disk 1>},
{<desired properties of logical disk 2>},
.
@@ -152,11 +152,11 @@ Examples for ``target_raid_config``
available. Make this the root volume to which Ironic deploys the image::
{
'logical_disks': [
"logical_disks": [
{
'size_gb': 'MAX',
'raid_level': '5',
'is_root_volume': true
"size_gb": "MAX",
"raid_level": "5",
"is_root_volume": true
}
]
}
@@ -166,17 +166,17 @@ root volume and use SSD. Another with RAID level 1 of 500 GiB and use
HDD::
{
'logical_disks': [
"logical_disks": [
{
'size_gb': 100,
'raid_level': '5',
'is_root_volume': true,
'disk_type': 'ssd'
"size_gb": 100,
"raid_level": "5",
"is_root_volume": true,
"disk_type": "ssd"
},
{
'size_gb': '500',
'raid_level': '1',
'disk_type': 'hdd'
"size_gb": "500",
"raid_level": "1",
"disk_type": "hdd"
}
]
}
@@ -184,13 +184,13 @@ HDD::
*Example 3*. Single RAID disk. I know which disks and controller to use::
{
'logical_disks': [
"logical_disks": [
{
'size_gb': 100,
'raid_level': '5',
'controller': 'Smart Array P822 in Slot 3',
'physical_disks': ['6I:1:5', '6I:1:6', '6I:1:7'],
'is_root_volume': true
"size_gb": 100,
"raid_level": "5",
"controller": "Smart Array P822 in Slot 3",
"physical_disks": ["6I:1:5", "6I:1:6", "6I:1:7"],
"is_root_volume": true
}
]
}
@@ -198,28 +198,28 @@ HDD::
*Example 4*. Using backing physical disks::
{
'logical_disks':
"logical_disks":
[
{
'size_gb': 50,
'raid_level': '1+0',
'controller': 'RAID.Integrated.1-1',
'volume_name': 'root_volume',
'is_root_volume': 'true',
'physical_disks': [
'Disk.Bay.0:Encl.Int.0-1:RAID.Integrated.1-1',
'Disk.Bay.1:Encl.Int.0-1:RAID.Integrated.1-1'
"size_gb": 50,
"raid_level": "1+0",
"controller": "RAID.Integrated.1-1",
"volume_name": "root_volume",
"is_root_volume": "true",
"physical_disks": [
"Disk.Bay.0:Encl.Int.0-1:RAID.Integrated.1-1",
"Disk.Bay.1:Encl.Int.0-1:RAID.Integrated.1-1"
]
},
{
'size_gb': 100,
'raid_level': '5',
'controller': 'RAID.Integrated.1-1',
'volume_name': 'data_volume',
'physical_disks': [
'Disk.Bay.2:Encl.Int.0-1:RAID.Integrated.1-1',
'Disk.Bay.3:Encl.Int.0-1:RAID.Integrated.1-1',
'Disk.Bay.4:Encl.Int.0-1:RAID.Integrated.1-1'
"size_gb": 100,
"raid_level": "5",
"controller": "RAID.Integrated.1-1",
"volume_name": "data_volume",
"physical_disks": [
"Disk.Bay.2:Encl.Int.0-1:RAID.Integrated.1-1",
"Disk.Bay.3:Encl.Int.0-1:RAID.Integrated.1-1",
"Disk.Bay.4:Encl.Int.0-1:RAID.Integrated.1-1"
]
}
]

View File

@@ -1334,11 +1334,11 @@ put in the ``manageable`` state again. User can follow steps from
An example of a manual clean step with ``activate_license`` as the only clean
step could be::
'clean_steps': [{
'interface': 'management',
'step': 'activate_license',
'args': {
'ilo_license_key': 'ABC12-XXXXX-XXXXX-XXXXX-YZ345'
"clean_steps": [{
"interface": "management",
"step": "activate_license",
"args": {
"ilo_license_key": "ABC12-XXXXX-XXXXX-XXXXX-YZ345"
}
}]
@@ -1364,36 +1364,36 @@ to initiate manual cleaning operation on a node.
An example of a manual clean step with ``update_firmware`` as the only clean
step could be::
'clean_steps': [{
'interface': 'management',
'step': 'update_firmware',
'args': {
'firmware_update_mode': 'ilo',
'firmware_images':[
"clean_steps": [{
"interface": "management",
"step": "update_firmware",
"args": {
"firmware_update_mode": "ilo",
"firmware_images":[
{
'url': 'file:///firmware_images/ilo/1.5/CP024444.scexe',
'checksum': 'a94e683ea16d9ae44768f0a65942234d',
'component': 'ilo'
"url": "file:///firmware_images/ilo/1.5/CP024444.scexe",
"checksum": "a94e683ea16d9ae44768f0a65942234d",
"component": "ilo"
},
{
'url': 'swift://firmware_container/cpld2.3.rpm',
'checksum': '<md5-checksum-of-this-file>',
'component': 'cpld'
"url": "swift://firmware_container/cpld2.3.rpm",
"checksum": "<md5-checksum-of-this-file>",
"component": "cpld"
},
{
'url': 'http://my_address:port/firmwares/bios_vLatest.scexe',
'checksum': '<md5-checksum-of-this-file>',
'component': 'bios'
"url": "http://my_address:port/firmwares/bios_vLatest.scexe",
"checksum": "<md5-checksum-of-this-file>",
"component": "bios"
},
{
'url': 'https://my_secure_address_url/firmwares/chassis_vLatest.scexe',
'checksum': '<md5-checksum-of-this-file>',
'component': 'chassis'
"url": "https://my_secure_address_url/firmwares/chassis_vLatest.scexe",
"checksum": "<md5-checksum-of-this-file>",
"component": "chassis"
},
{
'url': 'file:///home/ubuntu/firmware_images/power_pic/pmc_v3.0.bin',
'checksum': '<md5-checksum-of-this-file>',
'component': 'power_pic'
"url": "file:///home/ubuntu/firmware_images/power_pic/pmc_v3.0.bin",
"checksum": "<md5-checksum-of-this-file>",
"component": "power_pic"
}
]
}
@@ -1414,9 +1414,9 @@ The different attributes of ``update_firmware`` clean step are as follows:
Each firmware image block is represented by a dictionary (JSON), in the form::
{
'url': '<url of firmware image file>',
'checksum': '<md5 checksum of firmware image file to verify the image>',
'component': '<device on which firmware image will be flashed>'
"url": "<url of firmware image file>",
"checksum": "<md5 checksum of firmware image file to verify the image>",
"component": "<device on which firmware image will be flashed>"
}
All the fields in the firmware image block are mandatory.