[3.7] Allow managing Ceph Pool Quotas (OP-2942)

#885 Declined
Repository
kfchang
Branch
op2942
Repository
openattic
Branch
master
Author
  1. Kiefer Chang
Reviewers
Description

Try to implement OP-2942:

  • backend: allow specifying quota when creating/updating a pool
  • ui: allow specifying quota when creating/editing a pool

Signed-off-by: Kiefer Chang zapchang@gmail.com

  • Issues OP-2942

Comments (9)

    1. Lenz Grimmer

      Thank you for re-visiting this. You should have been able to force-push your changes into the same PR branch again, after making local changes. This way, the conversation is contained in a single PR.

  1. Lenz Grimmer

    Looks good, thank you. Probably not related to your change, but I noticed that the Ceph RBD page fails to load if a pool has reached it’s quota and the health status has changed to HEALTH_WARN - the oA backend returns:

    500 - INTERNAL SERVER ERROR

    Command 'rbd get image parent' terminated because of timeout (30 sec).

    1. Lenz Grimmer

      This error disappears if I increase or remove the quota and the health goes back to HEALTH_OK.

    2. Kiefer Chang author

      Thanks. Did some tests, turn out that if an RBD image is opened in RW mode (which is default), RBD image methods block when the image’s pool reaches its quota or is full.

      Image methods doesn’t block if we set read_only flag to True when initializing a RBD Image instance.

      Need some time to figure out correct read-write modes for all RBD Image instances in code. Also there might be some checks/warning should be shown to users when they want to manipulate resources in a full pool.

      Not sure if rgw, iSCSI, and NFS resources are also affected, need further tests.

  2. Lenz Grimmer

    Also, it’s somewhat inconvenient having to enter the Maximum number of storage in plain bytes without being able to specify prefixes for multiples of bytes - would it be possible to accept units like “10 GiB” here? See the RBD creation dialogue for an example.