OpenStack Glance: a first glimpse at image conversion

Following my best Kilo’s additions selection, today I will be introducing the Glance image conversion. This feature was discussed at the last OpenStack summit in Paris, you can access the etherpad discussion. Before you get all excited, let me tell you first that the patch introduced during this Kilo cycle is the first of a series. So do not get disappointed if it does not fit your needs yet (and it probably won’t…). Now if you are still inclined reading the article let’s jump in!

Read On...

OpenStack Glance: deactivate an image

Kilo has been released last week. This blog post is the first of a series that will demonstrate some nifty new features.

Managing cloud images life cycle is a real pain for public cloud providers. Since users have the ability to import their own images they can potentially introduce vulnerabilities with them. Thus the cloud operators should be able to deactivate (temporary) an image to inspect it. Later operators can reactivate it or just remove it if they believe the image is a threat for the cloud environment.

Another use case, as well is for cloud image updates, while performing the update of an image the operator might want to hide it from all the users. Then when the update is complete he can reactivate the image so the users can boot virtual machines from it.

Read On...

Ceph using Monitor key/value store

Ceph monitors make use of leveldb to store cluster maps, users and keys. Since the store is present, Ceph developers thought about exposing this through the monitors interface. So monitors have a built-in capability that allows you to store blobs of data in a key/value fashion. This feature has been around for quite some time now (something like 2 years), but haven’t got any particular attention since then. I even noticed that I never blogged about it :).

Read On...

Stretching Ceph networks

This is a quick note about Ceph networks, so do not expect anything lengthy here :). Usually Ceph networks are presented as cluster public and cluster private. However it is never mentioned that you can use a separate ne

Read On...

Feel the awk power

Some of my favorite AWK expressions:

OSD_LISTEN_PORTS:$(netstat -tlpn | awk -F ":" '/ceph-osd/ { sub (" .*", "", $2); print $2 }' | uniq)
NETWORK=$(ip -4 -o a | awk '/eth0/ {print $4}')
IP=$(ip -4 -o a | awk '/eth0/ { sub ("./..", "", $4); print $4 }')


Because grep foo | awk '{print $1}' is not elegant!

Read On...

OpenStack Summit Vancouver: thanks for your votes

Bonjour, bonjour ! Quick post to let you know that my talk submission has been accepted, so I’d like to thank you all for voting. As a reminder, our talk (Josh Durgin and I) is scheduled Tuesday, May 19 between 11:15am - 11:55am.

Also note that the summit has other Ceph talks!


See you in Vancouver!

Read On...

OpenStack: reserve memory on your hypervisors

One major use case for operators is to be able to reserve a certain amount of memory in the hypervisor. This is extremely useful when you have to recover from failures. Imagine that you run all your virtual machines on shared storage (Ceph RBD or Sheepdog or NFS). The major benefit from running your instances on shared storage is that it will ease live-migration and evacuation. However, if a compute node dies you want to make sure that you have enough capacity on the other compute nodes to relaunch your instances. Given that the nova host-evacuate call goes through the scheduler again you should get an even distribution.

But how to make sure that you have enough memory on the other hypervisors? Unfortunately there is no real memory restriction mechanism. In this article I will explain how we can mimic such behavior.

Read On...