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"
}