Cinder HA Active-Active specs up for review 1

It’s been some time since the last time I talked here about High Availability Active-Active configurations in Openstack’s Cinder service, and now I am quite pleased -and a little bit embarrassed it took so long- to announce that all specs are now up for reviewing. Three months ago I wrote a couple of post proposing different solutions that would allow Cinder Volume Nodes to support Active-Active configurations. One of them played with AMQP’s ACKs and was a little bit complex […]


Simpler Road to Cinder Active-Active 2

Last week I presented a possible solution to support Active-Active configurations in Cinder, and as much as it pains me to admit it, it was too complex, so this week I’ll present a simpler solution. Change of heart I really liked last week’s solution to allow Active-Active HA configurations in Cinder, but it was brought to my attention that the complexity it added to the component was not worth the little benefits it brought (like recovering queued jobs). It didn’t […]


A Cinder Road to Active/Active HA 8

We all want to see OpenStack’s Block Storage Service operating in High Availability with Active/Active node configurations, and we are all keen to contribute to make it happen, but what does it take to get there? Wasn’t Cinder already Active-Active? Maybe you’ve been told that Cinder could be configured as Active/Active, or you’ve even seen deployments configured this way, or you just assumed that this was supported, after all it’s the Cloud, and we like our Clouds redundant, resilient and […]


Cinder’s API Races

Openstack‘s Block Storage project Cinder intends to allow High Availability Active-Active node configurations in the next Liberty Cycle, and for that there are a number of changes that need to happen. One of those changes is making state changes (changes in status field) atomic inside Cinder, and for that there are different solutions, this code tries to provide some insight into these solutions in an empirical way. What’s the problem? Right now Cinder has sections where status is checked for […]


Inside Cinder’s Incremental Backup 10

I’ve been asked a couple of times how Cinder’s Incremental Backup works and what do I actually mean when I say we need to rework Ceph’s Backup driver to support Cinder’s Incremental Backup. So I’ll try to explain both in this post. Backup Workflow Incremental Backup in Cinder was designed with Swift back-end in mind, so reference implementation is versatile enough to handle size limitations on the back-end, and new drivers can relatively easily extend from this implementation to support […]