crush
CRUSH map and rule management.
GET /crush/rules
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/crush/rules
Response 200
id
integer
optional
-
name
string
optional
-
type
string
optional
[REPLICATED, ERASURE]
minSize
integer
optional
-
maxSize
integer
optional
-
steps
array
optional
-
Example response
[
{
"id": 0,
"name": "string",
"type": "REPLICATED",
"minSize": 0,
"maxSize": 0,
"steps": [
{
"op": "TAKE",
"crushMapTextFormat": "string"
}
]
}
]
GET /crush/rules/classes
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/crush/rules/classes
Response 200
Example response
[
"string"
]
DELETE /crush/rules/{name}
Parameters
name
string
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/crush/rules/{name}
POST /crush/rules/simple
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/crush/rules/simple
Example body
{
"name": "string",
"startBucket": "string",
"independent": "string",
"deviceClass": "string",
"erasureCoding": true
}
POST /crush/rules/ssdPrimary
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/crush/rules/ssdPrimary
Example body
{
"name": "string",
"ssdStartBucket": "string",
"ssdIndependent": "string",
"ssdDeviceClass": "string",
"hddStartBucket": "string",
"hddIndependent": "string",
"hddDeviceClass": "string",
"ssdCopies": 0
}
GET /crush/ec-profiles
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/crush/ec-profiles
Response 200
Example response
{}
GET /crush/destroyed-osd-ids
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/crush/destroyed-osd-ids
Response 200
destroyedOsds
array
optional
-
Example response
{
"destroyedOsds": [
{
"id": 0,
"host": "string"
}
]
}
GET /crush/osd/{osdId}/metadata
Parameters
osdId
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/crush/osd/{osdId}/metadata
Response 200
Example response
{}
GET /crush
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/crush
Response 200
nodes
array
optional
-
stray
array
optional
-
Example response
{
"nodes": [
{
"id": 0,
"name": "string",
"status": "UP",
"type": "OSD",
"children": [
0
],
"deviceClass": "string",
"size": 0,
"used": 0,
"reweight": 0,
"diskId": 0,
"serverId": 0,
"journalGuid": "string",
"pgs": 0
}
],
"stray": [
{
"id": 0,
"name": "string",
"status": "UP",
"type": "OSD",
"children": [
0
],
"deviceClass": "string",
"size": 0,
"used": 0,
"reweight": 0,
"diskId": 0,
"serverId": 0,
"journalGuid": "string",
"pgs": 0
}
]
}
POST /crush
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/crush
Example body
{
"nodes": [
{
"id": 0,
"name": "string",
"status": "UP",
"type": "OSD",
"children": [
0
],
"deviceClass": "string",
"size": 0,
"used": 0,
"reweight": 0,
"diskId": 0,
"serverId": 0,
"journalGuid": "string",
"pgs": 0
}
],
"stray": [
{
"id": 0,
"name": "string",
"status": "UP",
"type": "OSD",
"children": [
0
],
"deviceClass": "string",
"size": 0,
"used": 0,
"reweight": 0,
"diskId": 0,
"serverId": 0,
"journalGuid": "string",
"pgs": 0
}
]
}
Response 200
id
integer
optional
-
description
string
optional
-
createdBy
object
optional
-
affectedObject
string
optional
-
changes
array
optional
-
state
string
optional
[PENDING, APPROVED, REJECTED]
Example response
{
"id": 0,
"description": "string",
"createdBy": {
"id": 0,
"name": "string"
},
"affectedObject": "string",
"changes": [
{
"type": "string"
}
],
"state": "PENDING"
}