[openstack-dev] Deprecation warnings considered harmful?

Doug Hellmann doug at doughellmann.com
Sun Mar 15 13:42:33 UTC 2015

> On Mar 15, 2015, at 7:35 AM, Duncan Thomas <duncan.thomas at gmail.com> wrote:
> On 13 March 2015 at 17:36, Doug Hellmann <doug at doughellmann.com <mailto:doug at doughellmann.com>> wrote:
> I wish we, as a community, were less obsessed with creating so many
> hacking rules. These are really minor changes and it's going to be a
> relatively short-lived issue that could just be fixed once. If there's a
> regression, fixing *that* won't be hard or take long.
> Ok, this comment has peaked my interest again, since I hold pretty much the exact opposite view and am a well known fan of hacking checks. My logic is:
> - Hacking checks point out the error for most submitters before review, saving reviewer time and CI cycles, and increasing the comfort level of the submitter (for most people, a -1 feels harsh/negative)
> - Hacking checks don't slip up and miss one because they are reviewing at 1am the night before the deadline
> - Regressions hurt, and not all of our code is covered by unit tests / CI
> - Debugging the output of a hacking check is many times faster than debugging a unit test, even for simple failures (and work is underway to may this even faster)
> - Hacking checks that are left around for migrations like this even a few cycles longer than they are needed have zero cost. As long as nobody type 'oslo.foo' then they never need even know of their existence. We can be really lazy about removing them with no harm at all.

My comment was based on the observation that we have gone farther than I think is helpful with the checks, because we’ve started holding up other work until new checks can be implemented. That means we’re placing a higher priority on building our own tools than on building the thing we set out to build in the first place.

When I updated tempest to use the graduated libraries instead of incubated code I did most of the work with a few calls to “sed -i”. I also didn’t have to wait for the hacking check to be implemented before I could start the cleanup/graduation work, which means now the work in tempest is *done* and I can move on to other work.

Sometimes adding automation helps because of the need for an ongoing check, but in this case I don’t think it is warranted because of the nature of the change. If we successfully remove the namespace package next cycle and a regression is introduced before then, then broken imports just won’t work and the reason will be clearly stated in the error message Python gives. The problem is both easy to diagnose and easy to fix. We don’t need another check for that.


> Am I missing something? I am a general proponent of 'write hacking checks for any mechanical code change'. We've seen definite benefits from this approach and few to no downsides that I'm aware of.
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150315/150b58af/attachment.html>

More information about the OpenStack-dev mailing list