rbd-mirror

Manage RBD mirroring for RBD pools. To configure RBD mirroring, first start an RBD mirror service on the cluster that data should be mirrored to. Then use this API to enable mirroring on pools with the same name on both clusters. To connect the two clusters, generate a bootstrap token on one of the pools, and import the token on the same pool on the other cluster.

GET /pools/{pool}/rbd-mirror/token

Parameters

pool
string
path
The pool for which to generate a token for.

Endpoint

curl -X GET http://mgmt-node:8080/api/pools/{pool}/rbd-mirror/token
                

Response 200

Example response

"string"
                  

PATCH /pools/{pool}/rbd-mirror/token

Parameters

pool
string
path
The pool for which to set the site name.
body
object
optional
Request to update the site name of a pool.

Endpoint

curl -X PATCH http://mgmt-node:8080/api/pools/{pool}/rbd-mirror/token
                

Example body

{
  "siteName": "string"
}
                

POST /pools/{pool}/rbd-mirror/peers

Parameters

pool
string
path
The pool for which to add a peer.
body
object
optional
Request to create a new peer using a bootstrap token

Endpoint

curl -X POST http://mgmt-node:8080/api/pools/{pool}/rbd-mirror/peers
                

Example body

{
  "peerToken": "string",
  "siteName": "string",
  "localSiteName": "string",
  "direction": "rx_tx"
}
                

Response 200

object
string
optional
-
done
boolean
optional
-
result
object
optional
-
question
object
optional
-
id
integer
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
output
string
optional
-

Example response

{
  "object": "string",
  "done": true,
  "result": {},
  "question": {
    "token": "string",
    "message": "string",
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ],
    "priority": "Standard",
    "timeout": 0,
    "timeLeft": 0
  },
  "id": 0,
  "statusCode": 0,
  "startedAt": 0,
  "startedBy": "string",
  "name": "string",
  "state": "WAITING",
  "output": "string"
}
                  

DELETE /pools/{pool}/rbd-mirror/peers/{id}

Parameters

pool
string
path
The pool containing the peer.
id
string
path
The global ID of the peer to delete.

Endpoint

curl -X DELETE http://mgmt-node:8080/api/pools/{pool}/rbd-mirror/peers/{id}
                

Response 200

object
string
optional
-
done
boolean
optional
-
result
object
optional
-
question
object
optional
-
id
integer
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
output
string
optional
-

Example response

{
  "object": "string",
  "done": true,
  "result": {},
  "question": {
    "token": "string",
    "message": "string",
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ],
    "priority": "Standard",
    "timeout": 0,
    "timeLeft": 0
  },
  "id": 0,
  "statusCode": 0,
  "startedAt": 0,
  "startedBy": "string",
  "name": "string",
  "state": "WAITING",
  "output": "string"
}
                  

PATCH /pools/{pool}/rbd-mirror/peers/{id}

Parameters

pool
string
path
The pool for which to add a peer.
id
string
path
The global ID of the peer to update.
body
object
optional
Request to update mirroring settings of a mirror peer

Endpoint

curl -X PATCH http://mgmt-node:8080/api/pools/{pool}/rbd-mirror/peers/{id}
                

Example body

{
  "siteName": "string",
  "monHosts": "string",
  "direction": "rx_tx",
  "client": "string"
}
                

Response 200

object
string
optional
-
done
boolean
optional
-
result
object
optional
-
question
object
optional
-
id
integer
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
output
string
optional
-

Example response

{
  "object": "string",
  "done": true,
  "result": {},
  "question": {
    "token": "string",
    "message": "string",
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ],
    "priority": "Standard",
    "timeout": 0,
    "timeLeft": 0
  },
  "id": 0,
  "statusCode": 0,
  "startedAt": 0,
  "startedBy": "string",
  "name": "string",
  "state": "WAITING",
  "output": "string"
}
                  

PATCH /pools/{pool}/rbds/{rbd}/rbd-mirror

Parameters

pool
string
path
The pool containing the image.
rbd
string
path
The image to update.
namespace
string
query
optional
The namespace to operate on (optional). Only in Ceph Octopus or later.
body
object
optional
Request to update mirroring settings of an RBD image

Endpoint

curl -X PATCH http://mgmt-node:8080/api/pools/{pool}/rbds/{rbd}/rbd-mirror?namespace=string
                

Example body

{
  "journaling": true,
  "imageMirrorMode": "disabled",
  "primary": true
}
                

Response 200

object
string
optional
-
done
boolean
optional
-
result
object
optional
-
question
object
optional
-
id
integer
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
output
string
optional
-

Example response

{
  "object": "string",
  "done": true,
  "result": {},
  "question": {
    "token": "string",
    "message": "string",
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ],
    "priority": "Standard",
    "timeout": 0,
    "timeLeft": 0
  },
  "id": 0,
  "statusCode": 0,
  "startedAt": 0,
  "startedBy": "string",
  "name": "string",
  "state": "WAITING",
  "output": "string"
}
                  

PATCH /pools/{pool}/rbd-mirror

Parameters

pool
string
path
The pool to update.
namespace
string
query
optional
The namespace to operate on (optional). Only in Ceph Octopus or later.
body
object
optional
Request to update mirroring settings of an RBD pool

Endpoint

curl -X PATCH http://mgmt-node:8080/api/pools/{pool}/rbd-mirror?namespace=string
                

Example body

{
  "poolMirrorMode": "disabled"
}
                

Response 200

object
string
optional
-
done
boolean
optional
-
result
object
optional
-
question
object
optional
-
id
integer
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
output
string
optional
-

Example response

{
  "object": "string",
  "done": true,
  "result": {},
  "question": {
    "token": "string",
    "message": "string",
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ],
    "priority": "Standard",
    "timeout": 0,
    "timeLeft": 0
  },
  "id": 0,
  "statusCode": 0,
  "startedAt": 0,
  "startedBy": "string",
  "name": "string",
  "state": "WAITING",
  "output": "string"
}
                  

POST /pools/{pool}/rbd-mirror/journaling

Parameters

pool
string
path
The pool with the images.
namespace
string
query
optional
The namespace to operate on (optional).
body
object
optional
Request to enable/disable journaling on all images

Endpoint

curl -X POST http://mgmt-node:8080/api/pools/{pool}/rbd-mirror/journaling?namespace=string
                

Example body

{
  "enableJournaling": true
}
                

Response 200

object
string
optional
-
done
boolean
optional
-
result
object
optional
-
question
object
optional
-
id
integer
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
output
string
optional
-

Example response

{
  "object": "string",
  "done": true,
  "result": {},
  "question": {
    "token": "string",
    "message": "string",
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ],
    "priority": "Standard",
    "timeout": 0,
    "timeLeft": 0
  },
  "id": 0,
  "statusCode": 0,
  "startedAt": 0,
  "startedBy": "string",
  "name": "string",
  "state": "WAITING",
  "output": "string"
}
                  

POST /pools/{pool}/rbds/{rbd}/rbd-mirror/resync

Parameters

pool
string
path
The pool containing the image.
rbd
string
path
The image to resync.
namespace
string
query
optional
The namespace to operate on (optional). Only in Ceph Octopus or later.

Endpoint

curl -X POST http://mgmt-node:8080/api/pools/{pool}/rbds/{rbd}/rbd-mirror/resync?namespace=string
                

GET /pools/{pool}/rbds/{rbd}/rbd-mirror/snapshots

Parameters

pool
string
path
The pool containing the image.
rbd
string
path
The image with snapshots.
namespace
string
query
optional
The namespace to operate on (optional). Only in Ceph Octopus or later.

Endpoint

curl -X GET http://mgmt-node:8080/api/pools/{pool}/rbds/{rbd}/rbd-mirror/snapshots?namespace=string
                

Response 200

id
integer
optional
ID of the snapshot.
name
string
optional
Name of the snapshot.

Example response

[
  {
    "id": 0,
    "name": "string"
  }
]
                  

POST /pools/{pool}/rbds/{rbd}/rbd-mirror/snapshots

Parameters

pool
string
path
The pool containing the image.
rbd
string
path
The image with snapshots.
namespace
string
query
optional
The namespace to operate on (optional). Only in Ceph Octopus or later.

Endpoint

curl -X POST http://mgmt-node:8080/api/pools/{pool}/rbds/{rbd}/rbd-mirror/snapshots?namespace=string
                

GET /pools/rbd-mirror/schedules

Parameters

No parameters...

Endpoint

curl -X GET http://mgmt-node:8080/api/pools/rbd-mirror/schedules
                

Response 200

pool
string
optional
Name of the pool, or "-"/null if the schedule affects all pools.
namespace
string
optional
Namespace with in the pool, or "-"/null if the schedule affects all namespaces.
rbd
string
optional
Name of the RBD image, or "-"/null if the schedule affects all images.
interval
string
optional
Interval time of the schedule specified as time in days, hours or minutes (with suffixes d/h/m, e.g. 7d, 12h or 30m).
startTime
string
optional
Optional start time of the schedule specified in the ISO 8601 time format.

Example response

[
  {
    "pool": "string",
    "namespace": "string",
    "rbd": "string",
    "interval": "string",
    "startTime": "string"
  }
]
                  

POST /pools/rbd-mirror/schedules

Parameters

body
object
optional
Mirror snapshot schedule information for RBD images in snapshot mode.

Endpoint

curl -X POST http://mgmt-node:8080/api/pools/rbd-mirror/schedules
                

Example body

{
  "pool": "string",
  "namespace": "string",
  "rbd": "string",
  "interval": "string",
  "startTime": "string"
}
                

DELETE /pools/rbd-mirror/schedules

Parameters

body
object
optional
Mirror snapshot schedule information for RBD images in snapshot mode.

Endpoint

curl -X DELETE http://mgmt-node:8080/api/pools/rbd-mirror/schedules
                

Example body

{
  "pool": "string",
  "namespace": "string",
  "rbd": "string",
  "interval": "string",
  "startTime": "string"
}