Fix python-openstackclient plugin doc build

Some plugin command option help strings contained invalid-to-sphinx
bullet lists, causing building autoprogram-cliff from
python-openstackclient to break with errors like:

<ComposeNode>:1:Unexpected indentation.

This commit reformats the help strings to use the right newlines and
indents so they build properly.

Change-Id: Ia3fd6d5ec76e0e6d6aee87d8a8790a1ed2d38a26
This commit is contained in:
Eric Fried
2019-10-22 14:56:59 -05:00
parent 5e05430720
commit d5935fdae6

View File

@@ -52,26 +52,27 @@ class ComposeNode(command.Command):
metavar='<processor requirements>', metavar='<processor requirements>',
help=('Array of requirements for processor for composed node. Each' help=('Array of requirements for processor for composed node. Each'
' processor requirement may contain one or more optional ' ' processor requirement may contain one or more optional '
'attributes:\n' 'attributes:\n\n'
' - Model: Type String, Processor model that should be used' '- Model: Type String, Processor model that should be used '
' for composed node (exact model name)\n\n' 'for composed node (exact model name)\n'
' - TotalCores: Type Int, Minimum number of processor cores' '- TotalCores: Type Int, Minimum number of processor '
' - AchievableSpeedMHz: Type Int, Minimum achievable ' 'cores\n'
'processor operating frequency.\n\n' '- AchievableSpeedMHz: Type Int, Minimum achievable '
' - InstructionSet: Type String, Processor supported ' 'processor operating frequency.\n'
'- InstructionSet: Type String, Processor supported '
'instruction set, such as "x86", "x86-64", "IA-64", ' 'instruction set, such as "x86", "x86-64", "IA-64", '
'"ARM-A32", "ARM-A64", "MIPS32", "MIPS64", "OEM"\n\n' '"ARM-A32", "ARM-A64", "MIPS32", "MIPS64", "OEM"\n'
' - Resource: Object Reference to a particular processor ' '- Resource: Object Reference to a particular processor '
'that should be used in composed node\n\n' 'that should be used in composed node\n'
' - Chassis: Object Link to chassis object within this ' '- Chassis: Object Link to chassis object within this '
'processor should be contained.\n\n' 'processor should be contained.\n'
' - Brand: Type String, Brand of CPU that should be used to' '- Brand: Type String, Brand of CPU that should be used to '
' allocate node.' 'allocate node.\n'
' - Capabilities: Array of strings describing processor ' '- Capabilities: Array of strings describing processor '
'capabilities (like reported in /proc/cpuinfo flags), such ' 'capabilities (like reported in /proc/cpuinfo flags), such '
'as "sse", "avx", etc.\n\n' 'as "sse", "avx", etc.\n\n'
'For example:\n' 'For example::\n\n'
'[{\n' ' [{\n'
' "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx ' ' "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx '
'Series",\n' 'Series",\n'
' "TotalCores": 2,\n' ' "TotalCores": 2,\n'
@@ -85,7 +86,7 @@ class ComposeNode(command.Command):
' "@odata.id": "/redfish/v1/Systems/System1/Processors' ' "@odata.id": "/redfish/v1/Systems/System1/Processors'
'/CPU1"\n' '/CPU1"\n'
' }\n' ' }\n'
'}]')) ' }]'))
parser.add_argument( parser.add_argument(
'--memory', '--memory',
dest='memory', dest='memory',
@@ -93,22 +94,22 @@ class ComposeNode(command.Command):
metavar='<memory requirements>', metavar='<memory requirements>',
help=('Array of requirements for memory for composed node. Each ' help=('Array of requirements for memory for composed node. Each '
'memory requirement may contain one or more optional ' 'memory requirement may contain one or more optional '
'attributes:\n' 'attributes:\n\n'
' - CapacityMiB: Type Int, Minimum memory capacity ' '- CapacityMiB: Type Int, Minimum memory capacity '
'requested for composed node\n\n' 'requested for composed node\n'
' - MemoryDeviceType: Type String, Type details of DIMM, ' '- MemoryDeviceType: Type String, Type details of DIMM, '
'such as "DDR3", "DDR4"\n\n' 'such as "DDR3", "DDR4"\n'
' - SpeedMHz: Type Int, Minimum supported memory speed\n\n' '- SpeedMHz: Type Int, Minimum supported memory speed\n'
' - Manufacturer: Type String, Requested memory ' '- Manufacturer: Type String, Requested memory '
'manufacturer\n\n' 'manufacturer\n'
' - DataWidthBits: Type Int, Requested memory data width in' '- DataWidthBits: Type Int, Requested memory data width in '
' bits\n\n' 'bits\n'
' - Resource: Object Reference to a particular memory ' '- Resource: Object Reference to a particular memory '
'module that should be used in composed node\n\n' 'module that should be used in composed node\n'
' - Chassis: Object Link to chassis object within this ' '- Chassis: Object Link to chassis object within this '
'memory DIMM should be contained\n\n' 'memory DIMM should be contained\n\n'
'For example:\n' 'For example::\n\n'
'[{\n' ' [{\n'
' "CapacityMiB": 16000,\n' ' "CapacityMiB": 16000,\n'
' "MemoryDeviceType": "DDR3",\n' ' "MemoryDeviceType": "DDR3",\n'
' "SpeedMHz": 1600,\n' ' "SpeedMHz": 1600,\n'
@@ -121,7 +122,7 @@ class ComposeNode(command.Command):
' "Chassis": {\n' ' "Chassis": {\n'
' "@odata.id": "/redfish/v1/Chassis/Rack1"\n' ' "@odata.id": "/redfish/v1/Chassis/Rack1"\n'
' }\n' ' }\n'
'}]')) ' }]'))
parser.add_argument( parser.add_argument(
'--remote-drives', '--remote-drives',
dest='remote_drives', dest='remote_drives',
@@ -129,30 +130,31 @@ class ComposeNode(command.Command):
metavar='<remote drives requirements>', metavar='<remote drives requirements>',
help=('Array of requirements for remote drives that should be ' help=('Array of requirements for remote drives that should be '
'created/connected to composed node. Each remote drives ' 'created/connected to composed node. Each remote drives '
'requirement may contain one or more optional attributes:\n' 'requirement may contain one or more optional '
' - CapacityGiB: Positive value expected, required if ' 'attributes:\n\n'
'- CapacityGiB: Positive value expected, required if '
'Master Drive supplied. Should be at least the size of ' 'Master Drive supplied. Should be at least the size of '
'Logical Drive used as Master Drive\n\n' 'Logical Drive used as Master Drive\n'
' - Protocol: Defines protocol used to communicate with ' '- Protocol: Defines protocol used to communicate with '
'attached drive. Currently supported: "iSCSI" ' 'attached drive. Currently supported: "iSCSI" '
'"NVMeOverFabrics"\n\n' '"NVMeOverFabrics"\n'
' - Master -> Type: One of allowed enumerated values (' '- Master -> Type: One of allowed enumerated values ('
'"Snapshot" "Clone"). Required if Master Drive supplied\n\n' '"Snapshot" "Clone"). Required if Master Drive supplied\n'
' - Master -> Resource: URI of Master volume that should be' '- Master -> Resource: URI of Master volume that should be '
' used for clone or snapshot operation\n\n' 'used for clone or snapshot operation\n'
' - Resource: Object Reference to particular local drive ' '- Resource: Object Reference to particular local drive '
'that should be used in composed node\n\n' 'that should be used in composed node\n\n'
'For example:\n\n' 'For example::\n\n'
'# Using existing NVMe over Fabrics Remote Drive\n' ' # Using existing NVMe over Fabrics Remote Drive\n'
'[{\n' ' [{\n'
' "Protocol": "NVMeOverFabrics",\n' ' "Protocol": "NVMeOverFabrics",\n'
' "Resource": {\n' ' "Resource": {\n'
' "@odata.id": "/redfish/v1/StorageServices/NVMeoE1/' ' "@odata.id": "/redfish/v1/StorageServices/NVMeoE1/'
'Volumes/1"\n' 'Volumes/1"\n'
' }\n' ' }\n'
'}]\n\n' ' }]\n\n'
'# Using a Master Drive for fresh Remote Drive Creation\n' ' # Using a Master Drive for fresh Remote Drive Creation\n'
'[{\n' ' [{\n'
' "CapacityGiB": 80,\n' ' "CapacityGiB": 80,\n'
' "Protocol": "NVMeOverFabrics",\n' ' "Protocol": "NVMeOverFabrics",\n'
' "Master": {\n' ' "Master": {\n'
@@ -162,7 +164,7 @@ class ComposeNode(command.Command):
'Volumes/102"\n' 'Volumes/102"\n'
' }\n' ' }\n'
' }\n' ' }\n'
'}]')) ' }]'))
parser.add_argument( parser.add_argument(
'--local-drives', '--local-drives',
dest='local_drives', dest='local_drives',
@@ -170,25 +172,25 @@ class ComposeNode(command.Command):
metavar='<local drives requirements>', metavar='<local drives requirements>',
help=('Array of requirements for local drives for composed node. ' help=('Array of requirements for local drives for composed node. '
'Each local drives requirement may contain one or more ' 'Each local drives requirement may contain one or more '
'optional attributes:\n' 'optional attributes:\n\n'
' - CapacityGiB: Type Int, Minimum drive capacity requested' '- CapacityGiB: Type Int, Minimum drive capacity requested '
' for composed node\n\n' 'for composed node\n'
' - Type: Type String, Drive type: "HDD", "SSD"\n\n' '- Type: Type String, Drive type: "HDD", "SSD"\n'
' - MinRPM: Type Int, Minimum rotation speed of requested ' '- MinRPM: Type Int, Minimum rotation speed of requested '
'drive\n\n' 'drive\n'
' - SerialNumber: Type String, Serial number of requested ' '- SerialNumber: Type String, Serial number of requested '
'drive\n\n' 'drive\n'
' - Interface: Type String, Interface of requested drive: ' '- Interface: Type String, Interface of requested drive: '
'"SAS", "SATA", "NVMe"\n\n' '"SAS", "SATA", "NVMe"\n'
' - Resource: Object Reference to particular local drive ' '- Resource: Object Reference to particular local drive '
'that should be used in composed node\n\n' 'that should be used in composed node\n'
' - Chassis: Object Link to chassis object within this ' '- Chassis: Object Link to chassis object within this '
'drive should be contained\n\n' 'drive should be contained\n'
' - FabricSwitch: Type Boolean, Determine if local drive ' '- FabricSwitch: Type Boolean, Determine if local drive '
'should be connected using fabric switch or local ' 'should be connected using fabric switch or local '
'connected\n\n' 'connected\n\n'
'For example:\n' 'For example::\n\n'
'[{\n' ' [{\n'
' "CapacityGiB": 500,\n' ' "CapacityGiB": 500,\n'
' "Type": "HDD",\n' ' "Type": "HDD",\n'
' "MinRPM": 5400,\n' ' "MinRPM": 5400,\n'
@@ -198,7 +200,7 @@ class ComposeNode(command.Command):
' "@odata.id": "redfish/v1/Chassis/Blade1/Drives/Disk1"\n' ' "@odata.id": "redfish/v1/Chassis/Blade1/Drives/Disk1"\n'
' },\n' ' },\n'
' "FabricSwitch": false\n' ' "FabricSwitch": false\n'
'}]')) ' }]'))
parser.add_argument( parser.add_argument(
'--ethernet', '--ethernet',
dest='ethernet', dest='ethernet',
@@ -206,22 +208,22 @@ class ComposeNode(command.Command):
metavar='<ethernet requirements>', metavar='<ethernet requirements>',
help=('Array of requirements for Ethernet interfaces of composed ' help=('Array of requirements for Ethernet interfaces of composed '
'node. Each Ethernet interface requirement may contain one ' 'node. Each Ethernet interface requirement may contain one '
'or more optional attributes:\n' 'or more optional attributes:\n\n'
' - SpeedMbps: Type Int, Minimum speed of Ethernet ' '- SpeedMbps: Type Int, Minimum speed of Ethernet '
'interface requested for composed node\n\n' 'interface requested for composed node\n'
' - VLANs: Type Array, Array of VLANs that should be ' '- VLANs: Type Array, Array of VLANs that should be '
'configured on connected switch port for composed node for ' 'configured on connected switch port for composed node for '
'given Ethernet interface in the following format: VLANId - ' 'given Ethernet interface in the following format: VLANId - '
'number indicating VLAN Id, Tagged - Boolean value ' 'number indicating VLAN Id, Tagged - Boolean value '
'describing if given VLAN is tagged\n\n' 'describing if given VLAN is tagged\n'
' - PrimaryVLAN: Type Int, Primary VLAN ID that should be ' '- PrimaryVLAN: Type Int, Primary VLAN ID that should be '
'set for a given Ethernet Interface\n\n' 'set for a given Ethernet Interface\n'
' - Resource: Object Reference to a particular Ethernet ' '- Resource: Object Reference to a particular Ethernet '
'interface that should be used in composed node\n\n' 'interface that should be used in composed node\n'
' - Chassis: Object Link to chassis object within this ' '- Chassis: Object Link to chassis object within this '
'network interface should be contained\n\n' 'network interface should be contained\n\n'
'For example:\n' 'For example::\n\n'
'[{\n' ' [{\n'
' "SpeedMbps": 1000,\n' ' "SpeedMbps": 1000,\n'
' "PrimaryVLAN": 100,\n' ' "PrimaryVLAN": 100,\n'
' "VLANs": [{\n' ' "VLANs": [{\n'
@@ -232,30 +234,30 @@ class ComposeNode(command.Command):
' "@odata.id": "/redfish/v1/Systems/System1/' ' "@odata.id": "/redfish/v1/Systems/System1/'
'EthernetInterfaces/LAN1"\n' 'EthernetInterfaces/LAN1"\n'
' }\n' ' }\n'
'}]')) ' }]'))
parser.add_argument( parser.add_argument(
'--security', '--security',
dest='security', dest='security',
type=json.loads, type=json.loads,
metavar='<security requirements>', metavar='<security requirements>',
help=('The security requirements of composed node. It may contain ' help=('The security requirements of composed node. It may contain '
'one or more optional attributes:\n' 'one or more optional attributes:\n\n'
' - TpmPresent: determine if Composed Node should be ' '- TpmPresent: determine if Composed Node should be '
'equipped with TPM module\n\n' 'equipped with TPM module\n'
' - TpmInterfaceType: overrides TpmPresent parameter (if ' '- TpmInterfaceType: overrides TpmPresent parameter (if '
'specified TPM module expected). System must be equipped ' 'specified TPM module expected). System must be equipped '
'with only defined TPM interface type.\n\n' 'with only defined TPM interface type.\n'
' - TxtEnabled: determine if Composed Node should have ' '- TxtEnabled: determine if Composed Node should have '
'Trusted Execution Technology (TXT) mode enabled.\n\n' 'Trusted Execution Technology (TXT) mode enabled.\n'
' - ClearTPMOnDelete: used to specify if TPM module should' '- ClearTPMOnDelete: used to specify if TPM module should '
' be cleared on composed node DELETE request.\n\n' 'be cleared on composed node DELETE request.\n\n'
'For example:\n' 'For example::\n\n'
'{\n' ' {\n'
' "TpmPresent": True,\n' ' "TpmPresent": True,\n'
' "TpmInterfaceType": "TPM2_0",\n' ' "TpmInterfaceType": "TPM2_0",\n'
' "TxtEnabled": True,\n' ' "TxtEnabled": True,\n'
' "ClearTPMOnDelete": True\n' ' "ClearTPMOnDelete": True\n'
'}')) ' }'))
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):