On 09/22/2014 11:24 AM, Ihar Hrachyshka wrote: > On 22/09/14 17:07, Radomir Dopieralski wrote: >> Horizon's tests were recently broken by a change in the Ceilometer >> client that removed a deprecated exception. The exception was >> deprecated for a while already, but as it often is, nobody did the >> work of removing all references to it from Horizon before it was >> too late. Sure, in theory we should all be reading the release >> notes of all versions of all dependencies and acting upon things >> like this. In practice, if there is no warning generated in the >> unit tests, nobody is going to do anything about it. > >> So I sat down and started thinking about how to best generate a >> warning when someone is trying to catch a deprecated exception. I >> came up with this code: > >> http://paste.openstack.org/show/114170/ > >> It's not pretty -- it is based on the fact that the `except` >> statement has to do a subclass check on the exceptions it is >> catching. It requires a metaclass and a class decorator to work, >> and it uses a global variable. I'm sure it would be possible to do >> it in a little bit cleaner way. But at least it gives us the >> warning (sure, only if an exception is actually being thrown, but >> that's test coverage problem). > >> I propose to do exception deprecating in this way in the future. > > > Aren't clients supposed to be backwards compatible? Isn't it the exact > reason why we don't maintain stable branches for client modules? > > So, another reason to actually start maintaining those stable branches > for clients. We already do it in RDO (Red Hat backed Openstack > distribution) anyway.
I think the real question is how much warning was given on the removal of the exception. Was there a release out for 6 months with the deprecation? That's about our normal time for delete threshold. Honestly, I have no idea. If ceilometer client did the right thing and gave enough deprecation time before the remove, it's an issue about why horizon didn't respond to the deprecation sooner. -Sean -- Sean Dague http://dague.net
signature.asc
Description: OpenPGP digital signature
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev