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

Get a pool's mirroring settings for all namespaces.

Parameters
pool string path Required
The pool to get mirror settings of.
namespace string query
Optional RBD namespace, or the default namespace if null.
Responses
200 successful operation
RbdMirrorPoolInfo object
RBD mirroring details and status of an RBD pool+namespace.
{
  "pool": "string",
  "peers": [
    {
      "id": "string",
      "siteName": "string",
      "direction": "rx_tx",
      "clientName": "string"
    }
  ],
  "siteName": "string",
  "namespace": "string",
  "statusHealth": "string",
  "statusStates": {
    "additionalProp1": 0,
    "additionalProp2": 0,
    "additionalProp3": 0
  },
  "poolMirrorMode": "disabled"
}
patch /pools/{pool}/rbd-mirror

Update a pool's mirroring settings.

Parameters
pool string path Required
The pool to update.
namespace string query
The namespace to operate on (optional). Only in Ceph Octopus or later.
body object
Request to update mirroring settings of an RBD pool
{
  "poolMirrorMode": "disabled"
}
Responses
200 successful operation
ManagedThreadTask object
A long-running task that goes on in the background after this task is completed. See tasks endpoints for details
{
  "id": 0,
  "done": true,
  "name": "string",
  "state": "WAITING",
  "object": "string",
  "output": "string",
  "result": {},
  "progress": {
    "total": 0,
    "complete": 0
  },
  "question": {
    "token": "string",
    "message": "string",
    "timeout": 0,
    "priority": "Standard",
    "timeLeft": 0,
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ]
  },
  "startedAt": 0,
  "startedBy": "string",
  "statusCode": 0,
  "interactive": true
}
get /pools/rbd-mirror/all-infos

Get mirror infos on all pools.

Responses
200 successful operation
RbdMirrorPoolInfo array
RbdMirrorPoolInfo object
RBD mirroring details and status of an RBD pool+namespace.
[
  {
    "pool": "string",
    "peers": [
      {
        "id": "string",
        "siteName": "string",
        "direction": "rx_tx",
        "clientName": "string"
      }
    ],
    "siteName": "string",
    "namespace": "string",
    "statusHealth": "string",
    "statusStates": {
      "additionalProp1": 0,
      "additionalProp2": 0,
      "additionalProp3": 0
    },
    "poolMirrorMode": "disabled"
  }
]
get /pools/rbd-mirror/schedules

Get mirror snapshot schedules of the image, or an empty list if snapshot mode is not enabled.

Responses
200 successful operation
RbdMirrorSnapshotSchedule array
RbdMirrorSnapshotSchedule object
Mirror snapshot schedule information for RBD images in snapshot mode.
[
  {
    "rbd": "string",
    "pool": "string",
    "interval": "string",
    "namespace": "string",
    "startTime": "string"
  }
]
post /pools/rbd-mirror/schedules

Add a new schedule for rbd mirror snapshots.

Parameters
body object
Mirror snapshot schedule information for RBD images in snapshot mode.
{
  "rbd": "string",
  "pool": "string",
  "interval": "string",
  "namespace": "string",
  "startTime": "string"
}
Responses
default successful operation
delete /pools/rbd-mirror/schedules

Delete a schedule for RBD mirror snapshots. Call this endpoint with the same request body as when adding a schedule (via POST). The task returned by this endpoint will not provide information on whether or not a schedule was removed. To check if deletion was successful, request the list of schedules and check for any changes.

Parameters
body object
Mirror snapshot schedule information for RBD images in snapshot mode.
{
  "rbd": "string",
  "pool": "string",
  "interval": "string",
  "namespace": "string",
  "startTime": "string"
}
Responses
default successful operation
post /pools/{pool}/rbd-mirror/peers

Add a pool peer using the bootstrap token from a remote cluster.

Parameters
pool string path Required
The pool for which to add a peer.
body object
Request to create a new peer using a bootstrap token
{
  "siteName": "string",
  "direction": "rx_tx",
  "peerToken": "string",
  "localSiteName": "string"
}
Responses
200 successful operation
ManagedThreadTask object
A long-running task that goes on in the background after this task is completed. See tasks endpoints for details
{
  "id": 0,
  "done": true,
  "name": "string",
  "state": "WAITING",
  "object": "string",
  "output": "string",
  "result": {},
  "progress": {
    "total": 0,
    "complete": 0
  },
  "question": {
    "token": "string",
    "message": "string",
    "timeout": 0,
    "priority": "Standard",
    "timeLeft": 0,
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ]
  },
  "startedAt": 0,
  "startedBy": "string",
  "statusCode": 0,
  "interactive": true
}
get /pools/{pool}/rbd-mirror/token

Get the bootstrap token to set up a peer for the pool. This token can be imported on a peer cluster to automatically set up a connection between the two clusters to mirror the pool. Note that the token contains sensitive information about your cluster! Will return null if anything fails while trying to create the token (e.g. mirroring is not enabled on the pool).

Parameters
pool string path Required
The pool for which to generate a token for.
Responses
200 successful operation
string
"string"
patch /pools/{pool}/rbd-mirror/token

Change the site name of the pool.

Parameters
pool string path Required
The pool for which to set the site name.
body object
Request to update the site name of a pool.
{
  "siteName": "string"
}
Responses
default successful operation
post /pools/{pool}/rbd-mirror/journaling

Enable/Disable journaling for all images not in snapshot mode in the pool.

Parameters
pool string path Required
The pool with the images.
namespace string query
The namespace to operate on (optional).
body object
Request to enable/disable journaling on all images
{
  "enableJournaling": true
}
Responses
200 successful operation
ManagedThreadTask object
A long-running task that goes on in the background after this task is completed. See tasks endpoints for details
{
  "id": 0,
  "done": true,
  "name": "string",
  "state": "WAITING",
  "object": "string",
  "output": "string",
  "result": {},
  "progress": {
    "total": 0,
    "complete": 0
  },
  "question": {
    "token": "string",
    "message": "string",
    "timeout": 0,
    "priority": "Standard",
    "timeLeft": 0,
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ]
  },
  "startedAt": 0,
  "startedBy": "string",
  "statusCode": 0,
  "interactive": true
}
patch /pools/{pool}/rbd-mirror/peers/{id}

Change pool peer settings. These changes only take effect after restarting the rbd-mirror daemon service.

Parameters
pool string path Required
The pool for which to add a peer.
id string path Required
The global ID of the peer to update.
body object
Request to update mirroring settings of a mirror peer
{
  "client": "string",
  "monHosts": "string",
  "siteName": "string",
  "direction": "rx_tx"
}
Responses
200 successful operation
ManagedThreadTask object
A long-running task that goes on in the background after this task is completed. See tasks endpoints for details
{
  "id": 0,
  "done": true,
  "name": "string",
  "state": "WAITING",
  "object": "string",
  "output": "string",
  "result": {},
  "progress": {
    "total": 0,
    "complete": 0
  },
  "question": {
    "token": "string",
    "message": "string",
    "timeout": 0,
    "priority": "Standard",
    "timeLeft": 0,
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ]
  },
  "startedAt": 0,
  "startedBy": "string",
  "statusCode": 0,
  "interactive": true
}
delete /pools/{pool}/rbd-mirror/peers/{id}

Delete a specific peer mirroring cluster from a pool.

Parameters
pool string path Required
The pool containing the peer.
id string path Required
The global ID of the peer to delete.
Responses
200 successful operation
ManagedThreadTask object
A long-running task that goes on in the background after this task is completed. See tasks endpoints for details
{
  "id": 0,
  "done": true,
  "name": "string",
  "state": "WAITING",
  "object": "string",
  "output": "string",
  "result": {},
  "progress": {
    "total": 0,
    "complete": 0
  },
  "question": {
    "token": "string",
    "message": "string",
    "timeout": 0,
    "priority": "Standard",
    "timeLeft": 0,
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ]
  },
  "startedAt": 0,
  "startedBy": "string",
  "statusCode": 0,
  "interactive": true
}
patch /pools/{pool}/rbds/{rbd}/rbd-mirror

Update RBD mirroring settings for the image.

Parameters
pool string path Required
The pool containing the image.
rbd string path Required
The image to update.
namespace string query
The namespace to operate on (optional). Only in Ceph Octopus or later.
body object
Request to update mirroring settings of an RBD image
{
  "primary": true,
  "journaling": true,
  "imageMirrorMode": "disabled"
}
Responses
200 successful operation
ManagedThreadTask object
A long-running task that goes on in the background after this task is completed. See tasks endpoints for details
{
  "id": 0,
  "done": true,
  "name": "string",
  "state": "WAITING",
  "object": "string",
  "output": "string",
  "result": {},
  "progress": {
    "total": 0,
    "complete": 0
  },
  "question": {
    "token": "string",
    "message": "string",
    "timeout": 0,
    "priority": "Standard",
    "timeLeft": 0,
    "defaultResponse": "string",
    "responseOptions": [
      "string"
    ]
  },
  "startedAt": 0,
  "startedBy": "string",
  "statusCode": 0,
  "interactive": true
}
post /pools/{pool}/rbds/{rbd}/rbd-mirror/resync

Force a RBD mirroring resync on the image. Note that this only flags the image, it's up to the rbd-mirror daemon to execute the resync.

Parameters
pool string path Required
The pool containing the image.
rbd string path Required
The image to resync.
namespace string query
The namespace to operate on (optional). Only in Ceph Octopus or later.
Responses
default successful operation
get /pools/{pool}/rbds/{rbd}/rbd-mirror/snapshots

Get mirror snapshots of the image, or an empty list if snapshot mode is not enabled.

Parameters
pool string path Required
The pool containing the image.
rbd string path Required
The image with snapshots.
namespace string query
The namespace to operate on (optional). Only in Ceph Octopus or later.
Responses
200 successful operation
RbdMirrorSnapshot array
RbdMirrorSnapshot object
Mirror snapshot information for RBD images in snapshot mode.
[
  {
    "id": 0,
    "name": "string"
  }
]
post /pools/{pool}/rbds/{rbd}/rbd-mirror/snapshots

Create a mirror snapshot of the image

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