[Openstack] Nova trunk completely broken on Python 2.6
Ewan Mellor
Ewan.Mellor at eu.citrix.com
Tue Jan 17 02:48:23 UTC 2012
As of the following changeset, Nova trunk is completely broken on Python 2.6. I presume that we're still supporting 2.6? (We better had be!)
commit 035b43b1fd320008234e066e30629fb0e359b424
Author: Naveed Massjouni <naveedm9 at gmail.com>
Date: Thu Jan 12 18:38:21 2012 +0000
Refactoring logging _log function.
We should not be overriding private functions of core python modules.
Fixes bug: 915597
Change-Id: I1d1f6dc142cd822030a671f7f2f477a44acafe46
The problem is that the code calls super(NovaLogger, self), but NovaLogger inherits from logging.Logger which is a basic-style class on Python 2.6, and so you can't call super on it.
I mainly raise this on the mailing list because I thought that we might want to revert this for now, in case things get a bit flaming-torches-and-pitchforks. I can propose one of a few fixes (or someone can beat me to it):
1. Remove all the calls to super, replacing them with explicitly named calls to logging.Logger.
2. Declare NovaLogger as class NovaLogger(logging.Logger, object), which I've not tried but I which presume works.
3. As 2, but conditional on Python 2.6.
Any preferences?
While I'm here, any chance we can have a unit test running on Python 2.6?
Cheers,
Ewan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20120117/00bcfe86/attachment.html>
More information about the Openstack
mailing list