OpenStack

Open source software for creating private and public clouds.

OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure.

Hundreds of the world’s largest brands rely on OpenStack to run their businesses every day, reducing costs and helping them move faster. OpenStack has a strong ecosystem, and users seeking commercial support can choose from different OpenStack-powered products and services in the Marketplace.

The software is built by a thriving community of developers, in collaboration with users, and is designed in the open at our Summits.


Cinder Active-Active HA – Newton mid-cycle

Last week took place the OpenStack Cinder mid-cycle sprint in Fort Collins, and on the first day we discussed the Active-Active HA effort that’s been going on for a while now and the plans for the future. This is a summary of that session. Just like in previous mid-cycles the Cinder community did its best to accommodate remote attendees and make them feel included in the sessions with hangouts, live video streaming, IRC pings as reminders, and even moving the […]


Mitaka Cinder Recap sessions

During Mitaka we introduced some big changes in Cinder that have a great impact for developers working on new and existing functionality. These new features include, but are not limited to, API microversions, support for Rolling Upgrades, and conditional DB update functionality to remove API races. So we decided to have Recap Sessions during the OpenStack Summit in Austin. The idea behind this was to facilitate adoption and reduce bugs by focusing on explaining how the functionality should be used, […]


Learning something new about Oslo Versioned Objects 2

If you work on an OpenStack project that is in the process of adopting Versioned Objects or has recently adopted them, like we have in Cinder, you’ve probably done some code reviews, and even implemented a couple of Versioned Objects yourself, and are probably thinking that you know your way around them pretty well, but maybe there are some gaps in that knowledge that you are not aware of, specially if you are taking Nova’s or Cinder’s code as reference, […]


Write a Cinder Backup driver in an evening 3

Not too long ago I was asked about the complexity of writing a Driver in Cinder, and after a brief explanation I closed saying that in contrast backup drivers are a lot simpler. Which got me thinking about how easy it actually is to create a backup driver for Cinder and to check it I wrote a driver for Google’s Cloud. In this post I’ll give pointers and you’ll be able to see for yourself how easy it really is. […]


In-use Volume Backups in Cinder 3

Prior to the Liberty release of OpenStack, Cinder backup functionality was limited to available volumes; but in the latest L release, the possibility to create backups of in-use volumes was added, so let’s have a look into how this is done inside Cinder. Before Liberty If you have worked before with backups in Cinder you certainly know that you have to make sure your volumes are in available state before you can back them up, which meant that for in-use […]


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 […]


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 […]


Cinder Volume Back Up Automation 8

In my previous post on OpenStack’s volume backups I gave an overview of Cinder’s Backup service current status and I mentioned that some of the limitations that currently exist could be easily overcome scripting a helper tool. In this post I’m going to explain different options to create such a script and provide one as a sample/reference. Automate what? Among current Cinder Backup service limitations these are some things that can be automated: Backup in-use volumes keeping reference to original […]