Hello, All !
There is one issue with Active/Actvie cinder cluster. Each cinder-volume instance in cluster holds it's own local allocated_capacity_gb. When cinder-volume service starts it counts all volumes created on particular pool and calculates allocated_capacity_gb
accordingly. If one instance of cinder-volume create volume - it increase its local allocated_capacity_gb. If other instance delete volume - it decrease its local allocated_capacity_gb. And each instance of cinder-volume in cluster reports its own local allocated_capacity_gb.
It cause incorrect allocated_capacity_gb presented to cinder get-pools --detail. And it is able to see even negative value of allocated_capacity_gb for pool.
There is reported issue about it:
https://bugs.launchpad.net/cinder/+bug/1927186
There is document about different approaches of Active-Active cinder support, but there is nothing about incorrect allocated_capacity_gb report on it:
https://docs.openstack.org/cinder/latest/contributor/high_availability.html
Looks like without fixing allocated_capacity_gb we have to get all valumes and calculate this value by portal (it isnt quite effective and resource consuming by the way).
Are there any plans to complete Active/Active support for cinder ?
For example as the coordinator is demand for Active/Active support
(“My recommendation is to do this right: configure the cluster option,
remove the backend_host, and configure the coordinator.”, https://lists.openstack.org/pipermail/openstack-discuss/2020-November/018853.html)
- it is possible to move allocated_capacity_gb for each pool to redis or to listen notification queue and change local allocated_capacity_gb for each instance of cinder-volume accordingly