Add key shortcuts to Evernote web with this extension

If you are an Evernote’s web interface user and you are anything like me, you’ve probably felt the pain and frustration of not being able to move around with your keyboard when using the service. Now you can increase your productivity with this new Chrome Extension that adds shortcuts to most common functionality. I’m a Linux user, and even though there are unofficial Evernote applications like Everpad, there is no official application, so I always end up using the web […]


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


Yay, another Google Cloud Storage Python Library

There’s yet another Python library for Google Cloud Storage library out there, mine ;-). It’s called gcs-client and it’s a somewhat mix of Google’s Api Python Client (without the discovery) and Google’s App Engine GCS Client. A couple of weeks ago I wanted to play with Google’s Cloud Storage using Python and found that none of the big libraries fit my profile. On one had I had the Google Api Python Client which is really neat, but it is too […]


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


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 8

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