[openstack-dev] [oslo] Proposal: add local hacking for oslo-incubator

Ben Nemec openstack at nemebean.com
Thu May 8 15:22:10 UTC 2014


On 05/06/2014 01:13 PM, Joe Gordon wrote:
>
>
>
> On Mon, May 5, 2014 at 10:56 AM, Ben Nemec <openstack at nemebean.com
> <mailto:openstack at nemebean.com>> wrote:
>
>     On 05/05/2014 10:02 AM, ChangBo Guo wrote:
>
>         Hi Stackers,
>
>         I find some common code style would be avoided while I'm
>         reviewing code
>         ,so think these check would
>         be nice to move into local hacking. The local hacking can ease
>         reviewer
>         burden.
>
>         The idea from keystone blueprint [1].
>         Hacking is a great start at automating checks for common style
>         issues.
>         There are still lots of things that it is not checking for that it
>         probably should. The local hacking ease reviewer burden . This
>         is the
>         list of from [1][2] that would be nice to move into an automated
>         check:
>
>         - use import style 'from openstack.common.* import' not use 'import
>         openstack.common.*'
>
>
>     This is the only one that I think belongs in Oslo.  The others are
>     all generally applicable, but the other projects aren't going to
>     want to enforce the import style since it's only to make Oslo syncs
>     work right.
>
>
> I agree this belongs in oslo-incubator only as well. But I am still
> confused as to why this is needed. It sounds like this is a workaround
> for a bug in the sync script.

I feel like there was a reason we couldn't make both import styles work 
properly, but my memory is fuzzy.  Maybe ChangBo can comment.

>
>
>         - assertIsNone should be used when using None with assertEqual
>         - _() should not be used in debug log statements
>         -do not use 'assertTrue(isinstance(a, b)) sentence'
>         -do not use 'assertEqual(type(A), B) sentence'
>
>
>     The _() one in particular I think we'll want as we make the logging
>     changes.  Some additional checks to make sure the the correct _
>     function is used with the correct logging function would be good too
>     (for example, LOG.warning(_LE('foo')) should fail pep8).
>
>     But again, that belongs in hacking proper, not an Oslo module.
>
>
>
> Yup, this belongs in hacking although this gets a little tricky to do
> right, as we don't want false positives
> http://git.openstack.org/cgit/openstack-dev/hacking/tree/README.rst#n42
>
> We have to make sure that '_' is what we think it is and that 'LOG' is
> the logger, just checking for 'LOG'  isn't very robust.
>
> Patches welcome! http://git.openstack.org/cgit/openstack-dev/hacking
>
>
>     The assert ones do seem to fit the best practices as I understand
>     them, but I suspect there's going to be quite a bit of work to get
>     projects compliant.
>
>
> Although some projects already have the assert ones, I don't see a lot
> of value in them.

I would probably give priority to the assertTrue(isinstance...) one 
because I believe assertTrue yields a less useful error message when it 
fails.  The others are mostly style issues I don't feel that strongly 
about, although I could see some value in them just to avoid having 
someone come along and leave a "-1, use assertIsNone" comment (I try not 
to -1 for that alone, but I won't promise that I never have, and I'm 
pretty sure other people do).

>
>
>
>         [1]
>         https://blueprints.launchpad.__net/keystone/+spec/more-code-__style-automation
>         <https://blueprints.launchpad.net/keystone/+spec/more-code-style-automation>
>         [2]
>         https://github.com/openstack/__nova/blob/master/nova/hacking/__checks.py
>         <https://github.com/openstack/nova/blob/master/nova/hacking/checks.py>
>
>         I just registered a blueprint for this in [3] and submit first
>         patch in [4].
>
>         [3]
>         https://blueprints.launchpad.__net/oslo/+spec/oslo-local-__hacking
>         <https://blueprints.launchpad.net/oslo/+spec/oslo-local-hacking>
>
>         [4] https://review.openstack.org/#__/c/87832/
>         <https://review.openstack.org/#/c/87832/>
>         <https://github.com/openstack/__nova/blob/master/nova/hacking/__checks.py
>         <https://github.com/openstack/nova/blob/master/nova/hacking/checks.py>>
>
>
>         Should we add local hacking for oslo-incubator ?  If yes, what's the
>         other check will be added ?
>         Your comment is appreciated :-)
>
>         --
>         ChangBo Guo(gcb)
>
>
>         _________________________________________________
>         OpenStack-dev mailing list
>         OpenStack-dev at lists.openstack.__org
>         <mailto:OpenStack-dev at lists.openstack.org>
>         http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev
>         <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>
>     _________________________________________________
>     OpenStack-dev mailing list
>     OpenStack-dev at lists.openstack.__org
>     <mailto:OpenStack-dev at lists.openstack.org>
>     http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>




More information about the OpenStack-dev mailing list