abh1sar commented on PR #9748: URL: https://github.com/apache/cloudstack/pull/9748#issuecomment-2667927024
> Hi @abh1sar, ok. I will allocate some time to look at this in the coming days. As I mentioned before, we don't have a bucket level quota setting. We do have a User level QoS setting. I think the only thing that I can do currently is to set the User (that owns the bucket) QoS settings to the limit specified in the create bucket request. An example might be as below: > > * Bucket B1 created for User A with a quota of 5GB. > * > Plugin adjusts the HyperStore user A's quota to 5GB > * Bucket B2 created for User A with a quota of 5GB. > * > Plugin keeps HyperStore user A's quota at 5GB (updates CS DB quotas for B1,B2 to 5GB to match) > * Bucket B3 created for User A with a quota of 3GB. > * > Plugin reduces HyperStore user A's quota to 3GB (updates CS DB quotas for B1,B2,B3 to 3GB to match) > * Bucket B2's quota is adjusted to 10GB > * > Plugin expands HyperStore user A's quota to 10GB (updates CS DB quotas for B1,B2,B3 to 10GB to match) > > When any adjustment happens to the user's quota, all of the HyperStore buckets owned by that account need to get their quota settings updated in the DB to correctly represent the latest user's quota setting. > > This is currently all we can do I think. If we document it, it should not be too hard to understand for the admin. > > Does this sounds ok? I think plugin wise, the plugin currently does not update information about different bucket(s) when processing a request for a certain bucket, so I will need to figure out how best to do that. I do think it is easier for the administrator to understand the implementation and understand what the quota is set to though if it is done this way. Hi @tpodowd There could be another approach : if the user has 3 buckets of size 5GB, 10GB and 3GB, we keep the quota in CS DB as 5, 10 and 3 respectively. On the plugin side we can set the total user quota to be the sum of all quotas i.e. 18GB. So, the plugin needs to increase, decrease user quota whenever a bucket is created/ destroyed or quota is changed. This will also need to be documented, that a bucket from the same user can feed space from another bucket of the same user (Although we defined bucket quota as 5, 10 and 3, the actually usage could be 6, 6 and 6.) Another thing could be, if you are ok with Cloudian not supporting Object Storage Limits, you can document that and make the quota field non-mandatory for Cloudian. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
