Nodeclasses: POST
Creates a user-defined node class in the IBM Spectrum Scale™ cluster.
Availability
Available on all IBM Spectrum Scale editions.
Description
The POST nodeclasses request creates a node class and assign nodes to it. For more information about the fields in the data structures that are returned, see the topics mmcrnodeclass command, mmdelnodeclass command, mmchnodeclass command, and mmlsnodeclass command.
Request URL
https://<IP address or host name of API server>:<port>/scalemgmt/v2/nodeclasses
where- nodeclasses
- Specifies node class as the target. Required.
Request headers
Content-Type: application/json
Accept: application/json
Request parameters
The following parameters can be used in the request URL to customize the
request:
Parameter name | Description and applicable keywords | Required/optional |
---|---|---|
body | Body of the request that contains the required parameters to be passed on to theIBM Spectrum Scale system to perform the requested operation. | Required. |
Request data
nodeClasses:
{
"nodeclassName": "Name",
"members": "[node1Name, node2Name, node3Name]",
}
For
more information about the fields in the following data structures, see the links at the end of this
topic.- "nodeclassName":"Name"
- The name of the node class.
- "members":"List of nodes"
- The list of nodes that are part of the node class.
Response data
{
"status": {
"code":ReturnCode",
"message":"ReturnMessage"
},
jobs: [
{
"result":"",
{
"commands":"String",
"progress":"String,
"exitCode":"Exit code",
"stderr":"Error",
"stdout":"String",
},
"request":" ",
{
"type":"{GET | POST | PUT | DELETE}",
"url":"URL",
"data":""",
}
"jobId":"ID",
"submitted":"Time",
"completed":Time",
"status":"Job status",
}
],
}
For
more information about the fields in the following data structures, see the links at the end of this
topic.- "status":
- Return status.
- "message": "ReturnMessage",
- The return message.
- "code": ReturnCode
- The return code.
- "paging"
- The URL to retrieve the next page. Paging is enabled when more than 1000 objects are returned by the query.
- "status":
- Return status.
- "message": "ReturnMessage",
- The return message.
- "code": ReturnCode
- The return code.
- "jobs":
- An array of elements that describe jobs. Each element describes one job.
- "result"
- "commands":"String'
- Array of commands that are run in this job.
- "progress":"String'
- Progress information for the request.
- "exitCode":"Exit code"
- Exit code of command. Zero is success, nonzero denotes failure.
- "stderr":"Error"
- CLI messages from stderr.
- "stdout":"String"
- CLI messages from stdout.
- "request"
- "type":"{GET | POST | PUT | DELETE}"
- HTTP request type.
- "url":"URL"
- The URL through which the job is submitted.
- "data":" "
- Optional.
- "jobId":"ID",
- The unique ID of the job.
- "submitted":"Time"
- The time at which the job was submitted.
- "completed":Time"
- The time at which the job was completed.
- "status":"RUNNING | COMPLETED | FAILED"
- Status of the job.
Examples
The following example creates a node class named cesNodes.
Request URL:
curl -k -u admin:admin001 -X POST --header 'content-type:application/json' --header 'accept:application/json'
-d '{"nodeclassName": "cesNodes", "members": ['mari-11', 'cloudOne1']}'
'https://198.51.100.1:443/scalemgmt/v2/nodeclasses'
The request URL with no field or filter parameter returns only the
details that uniquely identify the object.Response data:
Note: In the JSON data that is returned, the return code indicates whether the
command is successful. The response code 200 indicates that the command successfully retrieved the
information. Error code 400 represents an invalid request and 500 represents internal server error.
{
"status": {
"code": "200",
"message": "..."
},
"job": [
{
"result": {
"commands": "[''mmcrfileset gpfs0 restfs1001'', ...]",
"progress": "[''(2/3) Linking fileset'']",
"exitCode": "0",
"stderr": "[''EFSSG0740C There are not enough resources available to create
a new independent file set.'', ...]",
"stdout": "[''EFSSG4172I The file set {0} must be independent.'', ...]"
},
"request": {
"type": "POST",
"url": "/scalemgmt/v2/nodeclasses",
"data": "{
"nodeclassName": "cesNodes",
"members": "['mari-11', 'cloudOne1]"
},
"jobId": "12345",
"submitted": "2016-11-14 10.35.56",
"completed": "2016-11-14 10.35.56",
"status": "COMPLETED"
}
]
}