jd:/dev/blog

Databases integration testing strategies with Python

Monday 06 January 2014 Python, Ceilometer, OpenStack Comments

The Ceilometer project supports various database backend that can be used as storage. Among them are MongoDB, SQLite MySQL, PostgreSQL, HBase, DB2… All Ceilometer's code is unit tested, but when dealing with external storage services, one cannot be sure that the code is really working. You could be inserting data with an incorrect SQL statement, or in the wrong table. Only having the real database storage running and being used can tell you that.

Read More

OpenStack Design Summit Icehouse, from a Ceilometer point of view

Wednesday 13 November 2013 OpenStack, Ceilometer Comments

Last week was the OpenStack Design Summit Icehouse in Hong-Kong where we, OpenStack developers, discussed and designed the new OpenStack release (Icehouse) that is coming up.

Read More

Python 3.4 single dispatch, a step into generic functions

Tuesday 17 September 2013 Python, Lisp Comments

I love to say that Python is a nice subset of Lisp, and I discover that it's getting even more true as time passes. Recently, I've stumbled upon the PEP 443 that describes a way to dispatch generic functions, in a way that looks like what CLOS, the Common Lisp Object System, provides.

Read More

OpenStack Ceilometer Havana-3 milestone released

Tuesday 10 September 2013 OpenStack, Ceilometer Comments

Last week, the third and last milestone of the Havana development branch of Ceilometer has been released and is now available for testing and download. This means the end of the OpenStack Havana development time is coming, and that the features are now frozen.

Read More

Announcing The Hacker's Guide to Python

Tuesday 03 September 2013 Python, Books Comments

I've been hacking on Python for a lot of years now, on various project. For the last two years, I've been heavily involved in OpenStack, which makes an heavy usage of Python.

Once you start working with a hundred of hackers, on several software and libraries representing more than half a million source lines of Python, things change. The scalability, testing and deployment problems inherent to a cloud platform meddle with everything in designing components.

Read More

The definitive guide on how to use static, class or abstract methods in Python

Thursday 01 August 2013 Python Comments

Doing code reviews is a great way to discover things that people might struggle to comprehend. While proof-reading OpenStack patches recently, I spotted that people were not using correctly the various decorators Python provides for methods. So here's my attempt at providing me a link to send them to in my next code reviews. :-)

Read More

OpenStack Ceilometer Havana-2 milestone released

Saturday 27 July 2013 OpenStack, Ceilometer Comments

Last week, the second milestone of the Havana development branch of Ceilometer has been released and is now available for testing and download. This means the first half of the OpenStack Havana development has passed!

Read More

OpenStack meets Lisp: cl-openstack-client

Thursday 04 July 2013 Common Lisp, Lisp, OpenStack Comments

A month ago, a mail hit the OpenStack mailing list entitled "The OpenStack Community Welcomes Developers in All Programming Languages". You may know that OpenStack is essentially built using Python, and therefore it is the reference language for the client libraries implementations. As a Lisp and OpenStack practitioner, I used this excuse to build a challenge for myself: let's prove this point by bringing Lisp into OpenStack!

Read More

OpenStack Ceilometer Havana-1 milestone released

Friday 31 May 2013 OpenStack, Ceilometer Comments

Yesterday, the first milestone of the Havana development branch of Ceilometer has been released and is now available for testing and download. This means the first quarter of the OpenStack Havana development has passed!

Read More

Rant about Github pull-request workflow implementation

Friday 10 May 2013 GitHub, OpenStack, Gerrit Comments

One of my recent innocent tweet about Gerrit vs Github triggered much more reponses and debate that I expected it to. I realize that it might be worth explaining a bit what I meant, in a text longer than 140 characters.

Read More