Enforce alphabetical ordering in requirements file

Bug #1285478 reported by ChangBo Guo(gcb) on 2014-02-27
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Blazar
Low
Christian Berendt
Cinder
Wishlist
HouMing Wang
Glance
Undecided
ChangBo Guo(gcb)
Glance Client
Undecided
ChenZheng
Ironic
Won't Fix
Wishlist
Xurong Yang
OpenStack DBaaS (Trove)
Wishlist
HouMing Wang
OpenStack Dashboard (Horizon)
Undecided
ChenZheng
OpenStack Heat
Fix Released
Undecided
ChenZheng
OpenStack Identity (keystone)
Wishlist
ChenZheng
Stackalytics
Undecided
ChangBo Guo(gcb)
neutron
Wishlist
ChenZheng
python-cinderclient
Wishlist
HouMing Wang
python-ironicclient
Fix Released
Undecided
ChenZheng
python-neutronclient
Undecided
Christian Berendt
python-troveclient
Wishlist
HouMing Wang
storyboard
Undecided
Fengqian
tempest
Undecided
ChenZheng
tuskar
Low
Fengqian
zaqar
Undecided
Fengqian

Bug Description

Sorting requirement files in alphabetical order makes code more readable, and can check whether specific library
in the requirement files easily. Hacking donesn't check *.txt files.
We had enforced this check in oslo-incubator https://review.openstack.org/#/c/66090/.

This bug is used to track syncing the check gating.

How to sync this to other projects:

1. Copy tools/requirements_style_check.sh to project/tools.

2. run tools/requirements_style_check.sh requirements.txt test-requirements.txt

3. fix the violations

Changed in nova:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-novaclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in glance:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-glanceclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in keystone:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-keystoneclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in horizon:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in trove:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-troveclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in swift:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in heat:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-cinderclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-heatclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-ironicclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-neutronclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in ceilometer:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in stackalytics:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in tempest:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in python-swiftclient:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in cinder:
assignee: nobody → ChangBo Guo(gcb) (glongwave)
Changed in cinder:
assignee: ChangBo Guo(gcb) (glongwave) → Hou Ming Wang (houming-wang)
ChenZheng (chen-zheng) on 2014-02-27
Changed in horizon:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)
Changed in ceilometer:
assignee: ChangBo Guo(gcb) (glongwave) → Hou Ming Wang (houming-wang)
Changed in swift:
assignee: ChangBo Guo(gcb) (glongwave) → Hou Ming Wang (houming-wang)
ChenZheng (chen-zheng) on 2014-02-27
Changed in tempest:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)
Changed in trove:
assignee: ChangBo Guo(gcb) (glongwave) → Hou Ming Wang (houming-wang)
ChenZheng (chen-zheng) on 2014-02-27
Changed in heat:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)
Changed in python-cinderclient:
assignee: ChangBo Guo(gcb) (glongwave) → Hou Ming Wang (houming-wang)
Changed in python-troveclient:
assignee: ChangBo Guo(gcb) (glongwave) → Hou Ming Wang (houming-wang)
Changed in python-swiftclient:
assignee: ChangBo Guo(gcb) (glongwave) → Hou Ming Wang (houming-wang)
Changed in nova:
status: New → In Progress
Changed in python-novaclient:
status: New → In Progress
ChenZheng (chen-zheng) on 2014-02-27
Changed in horizon:
status: New → In Progress

Fix proposed to branch: master
Review: https://review.openstack.org/76770

Changed in glance:
status: New → In Progress
ChenZheng (chen-zheng) on 2014-02-27
Changed in python-neutronclient:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)

Fix proposed to branch: master
Review: https://review.openstack.org/76775

Changed in heat:
status: New → In Progress

Fix proposed to branch: master
Review: https://review.openstack.org/76780

Changed in tempest:
status: New → In Progress
ChenZheng (chen-zheng) on 2014-02-27
Changed in neutron:
assignee: nobody → ChenZheng (chen-zheng)
Changed in python-heatclient:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)
Changed in python-glanceclient:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)
ChenZheng (chen-zheng) on 2014-02-27
Changed in keystone:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)
ChenZheng (chen-zheng) on 2014-02-27
Changed in python-keystoneclient:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)
no longer affects: python-keystoneclient

Fix proposed to branch: master
Review: https://review.openstack.org/76827

Changed in python-ironicclient:
assignee: ChangBo Guo(gcb) (glongwave) → ChenZheng (chen-zheng)
status: New → In Progress
Xurong Yang (idopra) on 2014-02-27
Changed in ironic:
assignee: nobody → Xurong Yang (idopra)
status: New → In Progress
Jay Bryant (jsbryant) on 2014-02-27
Changed in cinder:
importance: Undecided → Low
Changed in python-cinderclient:
importance: Undecided → Low
gordon chung (chungg) on 2014-02-27
Changed in ceilometer:
importance: Undecided → Low
no longer affects: swift
no longer affects: python-swiftclient
Samuel Merritt (torgomatic) wrote :

Is this some kind of contest? Are you aiming for the lowest possible importance/emails ratio in a bug report?

Julien Danjou (jdanjou) wrote :

This is pissing me off too.

no longer affects: ceilometer
Changed in keystone:
status: New → In Progress

Fix proposed to branch: master
Review: https://review.openstack.org/77062

Changed in cinder:
status: New → In Progress
Fengqian (fengqian-gao) on 2014-02-28
Changed in tuskar:
assignee: nobody → Fengqian (fengqian-gao)
status: New → In Progress

Fix proposed to branch: master
Review: https://review.openstack.org/77064

Changed in trove:
status: New → In Progress
Fengqian (fengqian-gao) on 2014-02-28
Changed in marconi:
assignee: nobody → Fengqian (fengqian-gao)
status: New → In Progress
Fengqian (fengqian-gao) on 2014-02-28
Changed in storyboard:
assignee: nobody → Fengqian (fengqian-gao)
status: New → In Progress
Changed in tuskar:
importance: Undecided → Low

Fix proposed to branch: master
Review: https://review.openstack.org/77109

Changed in python-troveclient:
status: New → In Progress

Fix proposed to branch: master
Review: https://review.openstack.org/77110

Changed in python-cinderclient:
status: New → In Progress

Reviewed: https://review.openstack.org/77071
Committed: https://git.openstack.org/cgit/openstack/tuskar/commit/?id=249063daf0b5890f740334e2108437c1558c7ab0
Submitter: Jenkins
Branch: master

commit 249063daf0b5890f740334e2108437c1558c7ab0
Author: Fengqian Gao <email address hidden>
Date: Fri Feb 28 12:41:11 2014 +0800

    Sort requirement files in alphabetical order

    Sort requirement files in alphabetical order and enforce pep8 check.

    Partial-Bug: #1285478

    Change-Id: I0ff79651df9529a7c8da87cc51dcf0a1594702f9

David Stanek (dstanek) wrote :

This feels like one of those bugs that may make things harder to read in the end. Keystone's requirements files are currently divided into sections. The requirements.txt has two sections and the test-requirements.txt has several. I have found value (especially as a newcomer) in having the test-requirements.txt divided into groups with a note about why they are there and/or related.

Generally I don't find one big block of text to be more readable. I think carefully placed whitespace and comments are more valuable. Since we have multiple requirements files I already have to `grep -i something *requirements.txt` when looking to see if we have a dependency, so having them in alphabetical order wouldn't help me here either.

Fengqian (fengqian-gao) on 2014-03-01
Changed in tuskar:
status: In Progress → Fix Committed
Fengqian (fengqian-gao) wrote :

I have the same feeling as David Stanek's. In some projects, the requirements file have the blankline and comments. In this situation, this kind of sorting might confuse you, so i propose the patch here:

https://review.openstack.org/#/c/77526/

Joe Gordon (jogo) on 2014-03-03
no longer affects: python-novaclient
no longer affects: nova
Changed in neutron:
importance: Undecided → Wishlist
status: New → Triaged
Changed in python-cinderclient:
importance: Low → Wishlist
Changed in cinder:
importance: Low → Wishlist

Reviewed: https://review.openstack.org/76769
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=4d6238ceb47188a856cddb7a66650abda6c22b1c
Submitter: Jenkins
Branch: master

commit 4d6238ceb47188a856cddb7a66650abda6c22b1c
Author: ChenZheng <email address hidden>
Date: Thu Feb 27 14:22:18 2014 +0800

    Sort requirement files in alphabetical order

    This makes code more readable, and can check whether specific library
    in the requirement files easily. We enforce the check in pep8, We also
    add the tools for checking requirements.txt and test_requirements.txt.

    Change-Id: Ia0a24553b7a5204faf6413c17dae6ba6aae2b5e8
    Closes-Bug: #1285478

Changed in horizon:
status: In Progress → Fix Committed
devananda (devananda) on 2014-03-04
Changed in ironic:
importance: Undecided → Wishlist
Thierry Carrez (ttx) on 2014-03-05
Changed in horizon:
milestone: none → icehouse-3
status: Fix Committed → Fix Released

Reviewed: https://review.openstack.org/76827
Committed: https://git.openstack.org/cgit/openstack/python-ironicclient/commit/?id=07827ed717f94ed05027787cc0c875e0a2e18844
Submitter: Jenkins
Branch: master

commit 07827ed717f94ed05027787cc0c875e0a2e18844
Author: ChenZheng <email address hidden>
Date: Thu Feb 27 19:34:47 2014 +0800

    Sort requirement files in alphabetical order

    This makes code more readable, and can check whether specific library
    in the requirement files easily. We also enforce the check in pep8.

    Change-Id: I138b332102a94557f153f8982ec00d493e2472b0
    Closes-Bug: #1285478

Changed in python-ironicclient:
status: In Progress → Fix Committed
John Griffith (john-griffith) wrote :

I don't think this is a real problem, especially considering the req files should be auto-updated anyway. I don't see any value in messing with this, other than making sure we're in alphabetical order once then let the requirements update tools update files correctly. Adding a check for this doesn't seem to add any value.

Changed in cinder:
status: In Progress → Invalid
Dolph Mathews (dolph) on 2014-03-09
Changed in keystone:
importance: Undecided → Wishlist
Changed in trove:
importance: Undecided → Wishlist
Changed in tuskar:
status: Fix Committed → Fix Released

Reviewed: https://review.openstack.org/76812
Committed: https://git.openstack.org/cgit/openstack/python-heatclient/commit/?id=339f3e4de075d7790286e993b525d81756a763ca
Submitter: Jenkins
Branch: master

commit 339f3e4de075d7790286e993b525d81756a763ca
Author: ChenZheng <email address hidden>
Date: Thu Feb 27 18:03:28 2014 +0800

    Sort requirement files in alphabetical order

    This makes code more readable, and can check whether specific library
    in the requirement files easily. We also enforce the check in pep8.

    Change-Id: I08434dd56d41a82045e4119e547b7b3f60d66698
    Closes-Bug: #1285478

Changed in python-heatclient:
status: New → Fix Committed
Changed in neutron:
status: Triaged → In Progress
Kurt Griffiths (kgriffs) on 2014-04-01
Changed in marconi:
importance: Undecided → Low
Changed in python-heatclient:
milestone: none → v0.2.9
importance: Undecided → Low

Reviewed: https://review.openstack.org/76775
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=035abae6ef6c87f7439392de955e3c55882bfa73
Submitter: Jenkins
Branch: master

commit 035abae6ef6c87f7439392de955e3c55882bfa73
Author: ChenZheng <email address hidden>
Date: Thu Feb 27 14:49:09 2014 +0800

    Sort requirement files in alphabetical order

    This makes code more readable, and can check whether specific library
    in the requirement files easily. We also enforce the check in pep8.

    Change-Id: I032c3c3d29522ce85f64b21d6428d975e46cc701
    Closes-Bug: #1285478

Changed in heat:
status: In Progress → Fix Committed
no longer affects: python-heatclient
Thierry Carrez (ttx) on 2014-04-17
Changed in horizon:
milestone: icehouse-3 → 2014.1

Fix proposed to branch: master
Review: https://review.openstack.org/94733

Changed in python-neutronclient:
assignee: ChenZheng (chen-zheng) → Christian Berendt (berendt)
status: New → In Progress
Changed in climate:
assignee: nobody → Christian Berendt (berendt)

Reviewed: https://review.openstack.org/94734
Committed: https://git.openstack.org/cgit/stackforge/stackalytics/commit/?id=59086405c27b0207c4db64e0f2eac3d3815e79d0
Submitter: Jenkins
Branch: master

commit 59086405c27b0207c4db64e0f2eac3d3815e79d0
Author: Christian Berendt <email address hidden>
Date: Wed May 21 23:59:23 2014 +0200

    sort requirement files in alphabetical order

    This makes code more readable, and can check whether specific library
    in the requirement files easily. We also enforce the check in pep8.

    Change-Id: I98be4ab6c46301fabe8badc00dd3a60333473414
    Closes-Bug: #1285478

Changed in stackalytics:
status: New → Fix Committed
Changed in python-troveclient:
importance: Undecided → Wishlist
Christian Berendt (berendt) wrote :

change not wanted in python-neutronclient

Changed in python-neutronclient:
status: In Progress → Invalid
Christian Berendt (berendt) wrote :

change not wanted in neutron

Changed in neutron:
status: In Progress → Invalid
Dmitry Tantsur (divius) wrote :

Code review blocked by code reviewer

Changed in ironic:
status: In Progress → Won't Fix

Change abandoned by Nikhil Manchanda (<email address hidden>) on branch: master
Review: https://review.openstack.org/77064
Reason: Review clean up.

Abandoning since the last update > 3 weeks ago.

Please restore if patch is still in progress.

Changed in blazar:
importance: Undecided → Low
status: New → Triaged
Thierry Carrez (ttx) on 2014-06-11
Changed in heat:
milestone: none → juno-1
status: Fix Committed → Fix Released
Kurt Griffiths (kgriffs) on 2014-06-11
Changed in marconi:
milestone: none → juno-2
Changed in python-glanceclient:
status: New → In Progress

Change abandoned by Christian Berendt (<email address hidden>) on branch: master
Review: https://review.openstack.org/94732
Reason: https://review.openstack.org/#/c/76817/ should be preferred

Ilya Shakhat (shakhat) on 2014-07-08
Changed in stackalytics:
status: Fix Committed → Fix Released
Kurt Griffiths (kgriffs) wrote :
Changed in marconi:
milestone: juno-2 → none
status: In Progress → Won't Fix
importance: Low → Undecided
Dolph Mathews (dolph) wrote :

See bug 1365061 instead.

Changed in blazar:
status: Triaged → Invalid
Changed in glance:
status: In Progress → Invalid
Changed in keystone:
status: In Progress → Invalid
Changed in trove:
status: In Progress → Invalid
Changed in python-cinderclient:
status: In Progress → Invalid
Changed in python-glanceclient:
status: In Progress → Invalid
Changed in python-troveclient:
status: In Progress → Invalid
Changed in storyboard:
status: In Progress → Invalid
Changed in tempest:
status: In Progress → Invalid

Change abandoned by ChenZheng (<email address hidden>) on branch: master
Review: https://review.openstack.org/76817

Thierry Carrez (ttx) on 2014-10-16
Changed in heat:
milestone: juno-1 → 2014.2
Changed in python-ironicclient:
milestone: none → 0.7.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers