crush

CRUSH map and rule management.
get /crush
Responses
200 successful operation
CrushTree object
{
  "nodes": [
    {
      "id": 0,
      "pgs": 0,
      "name": "string",
      "size": 0,
      "type": "OSD",
      "used": 0,
      "diskId": 0,
      "status": "UP",
      "children": [
        0
      ],
      "reweight": 0,
      "serverId": 0,
      "deviceClass": "string",
      "journalGuid": "string"
    }
  ],
  "stray": [
    {
      "id": 0,
      "pgs": 0,
      "name": "string",
      "size": 0,
      "type": "OSD",
      "used": 0,
      "diskId": 0,
      "status": "UP",
      "children": [
        0
      ],
      "reweight": 0,
      "serverId": 0,
      "deviceClass": "string",
      "journalGuid": "string"
    }
  ]
}
post /crush
Parameters
body object
{
  "nodes": [
    {
      "id": 0,
      "pgs": 0,
      "name": "string",
      "size": 0,
      "type": "OSD",
      "used": 0,
      "diskId": 0,
      "status": "UP",
      "children": [
        0
      ],
      "reweight": 0,
      "serverId": 0,
      "deviceClass": "string",
      "journalGuid": "string"
    }
  ],
  "stray": [
    {
      "id": 0,
      "pgs": 0,
      "name": "string",
      "size": 0,
      "type": "OSD",
      "used": 0,
      "diskId": 0,
      "status": "UP",
      "children": [
        0
      ],
      "reweight": 0,
      "serverId": 0,
      "deviceClass": "string",
      "journalGuid": "string"
    }
  ]
}
Responses
200 successful operation
ChangeRequest object
{
  "id": 0,
  "state": "PENDING",
  "changes": [
    {
      "type": "string"
    }
  ],
  "createdBy": {
    "id": 0,
    "name": "string"
  },
  "description": "string",
  "affectedObject": "string"
}
get /crush/rules

List crush rules.

Parameters
pagination string query
Responses
200 successful operation
CrushRuleResponse array
CrushRuleResponse object
[
  {
    "id": 0,
    "name": "string",
    "type": "REPLICATED",
    "steps": [
      {
        "op": "TAKE",
        "crushMapTextFormat": "string"
      }
    ],
    "maxSize": 0,
    "minSize": 0,
    "typeLabel": "string"
  }
]
get /crush/ec-profiles
Responses
200 successful operation
object
{
  "additionalProp1": {
    "k": 0,
    "m": 0,
    "plugin": "string",
    "crushRoot": "string",
    "technique": "string",
    "crushDeviceClass": "string",
    "crushFailureDomain": "string"
  },
  "additionalProp2": {
    "k": 0,
    "m": 0,
    "plugin": "string",
    "crushRoot": "string",
    "technique": "string",
    "crushDeviceClass": "string",
    "crushFailureDomain": "string"
  },
  "additionalProp3": {
    "k": 0,
    "m": 0,
    "plugin": "string",
    "crushRoot": "string",
    "technique": "string",
    "crushDeviceClass": "string",
    "crushFailureDomain": "string"
  }
}
post /crush/rules/simple
Parameters
body object
{
  "name": "string",
  "deviceClass": "string",
  "independent": "string",
  "startBucket": "string",
  "erasureCoding": true
}
Responses
default successful operation
delete /crush/rules/{name}
Parameters
name string path Required
Responses
default successful operation
get /crush/rules/classes
Responses
200 successful operation
array
string
[
  "string"
]
post /crush/rules/ssdPrimary
Parameters
body object
{
  "name": "string",
  "ssdCopies": 0,
  "hddDeviceClass": "string",
  "hddIndependent": "string",
  "hddStartBucket": "string",
  "ssdDeviceClass": "string",
  "ssdIndependent": "string",
  "ssdStartBucket": "string"
}
Responses
default successful operation
get /crush/destroyed-osd-ids
Responses
200 successful operation
DestroyedOsdIds object
{
  "destroyedOsds": [
    {
      "id": 0,
      "host": "string"
    }
  ]
}
get /crush/osd/{osdId}/metadata

Retrieve OSD metadata, resulting JSON contains runtime information about the OSD and varies by Ceph version.

Parameters
osdId integer path Required
Responses
200 successful operation
object
Arbitrary JSON data.
{}