Skip to content

DLE API/CLI– extend to support multiple volumes

Goal

DLE API/CLI need to support the case of "logical" (dump/restore) data provisioning when we have 2 or more volumes and some rotation logic:

  • which snapshot belongs to which volume
  • which clone belongs to clone volume
  • what volume is active
  • what are the characteristics of each volume (disk space used, etc)
  • do we have spare volumes or all volumes are "busy" so we won't be able to perform next refresh unless we delete some clones (perhaps, this should be a warning of the global state of DLE)
  • each volume is supposed to have a single snapshot – dataStateAt is also an attribute of a volume?

TODO / How to implement

TBD – @akartasov please add details here

  • Add a new field Pool string to the Snapshot struct
  • Clone contains a link to a snapshot that will contain a mention of the pool
  • Add to the GET /status response an active pool
  • Add to GET /status disk space metrics
    • Return "N/A" if data cannot be provided, e.g. files-related details on LVM.
    • Use both physical and logical sizes (Used and LogicalReferenced) for clones and snapshots.

Acceptance criteria

As an admin or user of DLE, I can see the info about all volumes available. Particularly, I can understand the details of data refresh policy and what to expect during the next refresh attempt.

Edited by Artyom Kartasov