Commit Graph

106 Commits

Author SHA1 Message Date
Takashi Kajinami ccb73f3b21 Drop six
... because this tool may not be run with Python 2. This allows us to
reduce additional dependencies.

Change-Id: I21f16361d8678ea5eb10966fde75228dcec8f861
2024-02-19 02:52:10 +09:00
Dmitriy Rabotyagov 5e4b092c53 Rename extra-atcs key to extra-acs
We have agreed to use term Active Contrubitor rather then
Active Technical Contributor, which means it's high time we've aligned
naming in our tools and releases documentation to align on
term to use. Moreover, it makes even more sense with Extra ACs, since
these are designed for ones, who do not contribute in gerrit but with
other means, which are usually non-technical.

Needed-By: https://review.opendev.org/c/openstack/releases/+/893833
Needed-By: https://review.opendev.org/c/openstack/election/+/893810
Change-Id: Id9f2d182d93a9fbe1357e9ecd4814d49d6eb962f
2023-09-06 10:09:30 +02:00
Zuul 337fed1627 Merge "Add project stats check tool" 2022-06-03 17:28:30 +00:00
ricolin 14e078a7a3 Add project stats check tool
Validate on Zuul builds and Gerrit.
This is needed for project stats check. Please check etherpad for more
detail discussion or output example [1].

Run project_stats_check.py with no arguments will run on all projects
defined in `reference/projects.yaml`.

If you wish to run for specific project or branch. Run like:
`project_stats_check.py -p heat,sahara -b master,stable/xena`

[1] https://etherpad.opendev.org/p/health_check

Change-Id: I84c3a4898a74c26746fd66d046a80b8936a608e9
2022-05-27 13:11:31 +00:00
Ghanshyam Mann 76b54e9284 Remove TC Liaisons framework
TC is more connected with project teams with the
weekly meeting and PTG TC+Leadership interaction sessions.

Also, TC liaisons did not work the way we expected it. In Zed
PTG, we decided to remove it.

- https://etherpad.opendev.org/p/tc-zed-ptg

Change-Id: I08702b015245df35d40e08fa08a3269cc6bb1cac
2022-04-20 20:38:40 -05:00
Radosław Piliszek b7f45e2266 Remove the tags framework (part 1)
This change enacts the first steps of the TC's decision to remove
the tags framework. [1]

This change does not remove all the parts to avoid breaking
the releases tooling as well as to preserve useful information
as discussed under this change and during one of the TC meetings.
[2]

[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-October/025554.html
[2] https://meetings.opendev.org/meetings/tc/2022/tc.2022-01-20-15.00.log.html

Change-Id: Iab4a136905a9c7a61530ff7576a216d229f717a0
2022-02-03 18:32:27 +00:00
Ghanshyam Mann 4a31ed4709 Add 'goal-proposal' topic vote in review check status tool
'goal-proposal' is not present in review check status tool,
adding it with the merging criteria defined in house rules

- https://governance.openstack.org/tc/reference/house-rules.html#community-wide-goal-proposals

Change-Id: Ief8b3b145600990961be90b913868a41615e59eb
2021-11-19 10:54:42 -06:00
Radosław Piliszek 9128e50225 Fix gate
and a related script.

pydot2 is not maintained and stopped being installable.
pydot is maintained and seems to work the same.

Change-Id: Id248d2349c31b4cb4ad82c2afde10787c75081c7
2021-09-16 15:58:18 +00:00
Zuul 3aaa73e3c3 Merge "Improve check-review-status" 2020-12-14 22:11:48 +00:00
Ghanshyam Mann 889cfafad8 Add checks for repo not to be in both project and legacy data
Change-Id: I007c3e06989853222f9a78cadcc15a14457f6d3e
2020-12-10 18:47:25 -06:00
Mohammed Naser b3fece4993 Improve check-review-status
Our tooling was relying on the fact that names matched which
is not a reliable way of detecting users.  This changes it
to instead do a lookup based on the email and match the
Gerrit account ID which should work reliably.

Change-Id: I0096b9dfb211b60cd1872017a1d5c0753a1bc653
2020-12-09 11:08:00 -05:00
Zuul 8e9ef659fb Merge "Implement distributed leadership in tools and schema" 2020-11-02 14:12:39 +00:00
Ghanshyam Mann c387ba5f18 Implement distributed leadership in tools and schema
We have resolution merged for distributed leadership[1] and
there are few projects want to adopt this model in Wallaby cycle,
first one is oslo[2].

This commit add the support of new model in governance tooling,
doc and, schema. Basically making changes to fill the distributed
leadership liaisons and displaing those in projects rst.
Below are the changes done:

- Removed 'PTL' field to be mandatory instead making either 'PTL' or
  'leadership_type: distributed' field as mandatory.
- To avoid confustion with existing liasion field, changed TC
  liaison field name from 'liaisons' to sub field named 'tc_members'
- Extended the existing liaison field for distributed leadersip
  liaisons.

It will looks like below:
  liaisons:
    tc_members:
      - zaneb
      - ttx
    release:
      - name: Hervé Beraud
        irc: hberaud
        email: hberaud@redhat.com
      - name: Daniel Bengtsson
        irc: damani
        email: dbengt@redhat.com
    tact-sig:
      - name: Hervé Beraud
        irc: hberaud
        email: hberaud@redhat.com
    security:
      - name: Daniel Bengtsson
        irc: damani
        email: dbengt@redhat.com

and on site:

TC Members Liaisons
ricolin, belmoreira

Release Liaisons
Hervé Beraud (hberaud) <hraud@redhat.com>, Daniel Bengtsson (damani) <dbengt@redhat.com>

[1] https://governance.openstack.org/tc/resolutions/20200803-distributed-project-leadership.html
[2] https://review.opendev.org/#/c/757906

Change-Id: If96915a16a8746aed6f0cb844c53ad61a300c234
2020-10-16 17:32:28 +00:00
Mohammed Naser 3f85bfb545 Update TC size
Change-Id: I1a076e5bed2587e47aad3e85dbfac7ada868cb3a
2020-10-14 11:30:55 -04:00
Zuul 1def53ced2 Merge "Drop all exceptions for legacy validation" 2020-09-04 21:21:38 +00:00
Zuul 51ad28139e Merge "Fix names inside check-review-status" 2020-08-17 20:40:14 +00:00
Mohammed Naser 6b2e491df6 Fix names inside check-review-status
The review status checked for exact and full matches, this means it
would not match if someone had their Gerrit name as NAME (username).

This fixes that.

Change-Id: I69bec7a42ad17424bd12afbba21fe99e85b96159
2020-08-12 10:52:23 -04:00
Mohammed Naser 5084a1e130 Drop all exceptions for legacy validation
This patch needs to merge once we've cleaned up all of the exceptions
for the legacy file validation which will ensure that all repositories
are cleanly retired.

Change-Id: If10ecaf0222a026d79dbee2aacecd86cb98ac681
2020-08-07 15:47:27 -04:00
Mohammed Naser d5a9229ec2 Add legacy repository validation
This patch improves the legacy repository validation by ensuring that we
actually make sure the repository is properly retired.  This job will
only run on changes to the legacy.yaml file to avoid a high number of
API calls.

Change-Id: I40f1818955eaa0a2037f239aeced86c3faf3281e
2020-08-07 15:47:05 -04:00
Mohammed Naser 79fd6a86f3 tools: update check-review-status to drop grace period
We've decided that we're removing grace period on resolutions and this
patch updates the tooling to reflect that.

Depends-On: https://review.opendev.org/735361
Change-Id: I74583fb696356a00cef898647b135c2476936305
2020-06-18 10:44:57 -04:00
Mohammed Naser 3f6d191614 tools: fix check_review_status for new project-update
We have some new house rules for project-update which don't require a
timeframe that a change has to be opened for and only 2 roll call votes.

This patch updates the tooling to reflect it.

Change-Id: I7bde69d6abd6df004c60b80caf6669c24fef111a
2020-06-15 15:10:07 -04:00
Andreas Jaeger 7931f9818d Cleanup py27 support
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove obsolete sections from setup.cfg
- Use newer openstackdocstheme and Sphinx versions for Python3
- Cleanup */source/conf.py to remove now obsolete content.
- Remove install_command from tox.ini, the default is fine
- Move python3 to testenv in tox.ini
- Switch to hacking 3, fix problems found.

Change-Id: I26fcab3b288b5ed64c74f7a6725b43036f195d44
2020-04-17 17:33:47 +02:00
Jean-Philippe Evrard f8456a9ab5 Update TC size
We can now adapt the TC size for our review tooling, now that
the election is confirmed.

Change-Id: I7d7e53349f4a50bd906b8fc0679ae79fa5bd8e2d
2020-04-16 15:08:27 +00:00
Mohammed Naser dbcfd6656c check-review-status: update age calc
This patch changes the approval script to allow approving the change
after 7 days. This should also clarify all the "earliest" dates by
making sure they have a time in UTC.

Co-Authored-By: Nate Johnston <nate.johnston@redhat.com>
Co-Authored-By: Jean-Philippe Evrard <jean-philippe@evrard.me>
Change-Id: I611dd4e44928c42dae35fd9527a62fa948a2cc3f
2019-10-01 14:12:56 +02:00
Zuul 74fe33aadc Merge "Make TC size configurable" 2019-10-01 07:47:49 +00:00
Jean-Philippe Evrard 570e88995e Make TC size configurable
With the goal to reduce the TC to 9, we should be able to configure
the size of the TC in a var.

All the required votes were changed to be counted from the TC size
instead of being staticly defined.

The term "majority" term was appropriately adapted:
sensu stricto it means above 50%. It was replaced by supramajority
(for stronger requirements) or reached enough votes
(for lower requirements).

This made it possible to see the fact that majority was wrongly used
for "formal-vote". The "can_approve = 'YES'" used everywhere
didn't really mean a positive workflow for "formal-vote", as majority
is maybe not reached and votes could be flipped. This separates
a "YES" (a technical 'YES' which could be extended
with the majority condition) from a definitive "CAN APPROVE".

Change-Id: I4682c8795ca8d912ed3fa1951c98a90a34c4352c
2019-09-24 00:36:39 +02:00
Jean-Philippe Evrard 46667f0158 Adapt tox tool based on latest changes
The rules for the typo changes have been adapted, so we should
adapt the tooling to not be stricter than the rules.

Change-Id: Ibca617be5736da411bfc97a647fb805796ad09ef
2019-09-23 23:06:51 +02:00
Zuul 9c10b108d7 Merge "document house rules for approving election results" 2019-09-17 22:57:57 +00:00
Doug Hellmann 27f9b2fd3f document house rules for approving election results
There is no reason to treat election results as requiring a formal
vote, so document them as a special case under house rules, along with
the reasoning. Update the review status tool to reflect this change.

Change-Id: If907b2f4627da289f76e3a8b92d49f08a116535d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2019-09-09 13:56:48 -04:00
Graham Hayes 9e77ed6816
Update Project Liasons for new TC roster
New TC members, new project Liasons - a simple run of
`python ./tools/assign_liaisons.py --replace-all` making this a random
assignment of TC member -> project.

Change-Id: Ib1e1c44c3fe5c5509dbdcb76b2db88323d8c64e5
Signed-off-by: Graham Hayes <gr@ham.ie>
2019-09-05 13:05:21 +01:00
Mohammed Naser 346d3d2f06 linters: enforce ATC membership after January 2020
In the past, we did not have any enforcement for extra ATCs in
terms of foundation membership.  This has resulted in entries
being added which are not foundation members that cannot be
ATCs.

This patch adds a check to ignore our old records (until they
expire out in January 2020) and enforce it on any newly added
ATCs.

Change-Id: Id1f6d5b0bffb41c952e140372a3594669359fbdb
2019-08-12 10:46:42 -04:00
Graham Hayes a9ea7e1c5f
s/liasons/liaisons/
Change-Id: I34a39a8ce7c3dcb80248422b3e56a56951fac774
Signed-off-by: Graham Hayes <gr@ham.ie>
2019-07-08 11:42:59 +01:00
Zuul ce14fd18e7 Merge "Update assignment script to output to projects.yaml file" 2019-06-28 19:01:05 +00:00
Graham Hayes aaef9cc8f0
Allow yaml checks to work with mktemp in a different path
Change-Id: I960c680f1e2bae93fea047a4ef805e6e748dc5b9
Signed-off-by: Graham Hayes <gr@ham.ie>
2019-06-28 12:40:52 +01:00
Graham Hayes 69dcd77817
Update assignment script to output to projects.yaml file
Change-Id: I261d5bbb7d36308b7e460533dc2f20b2feeb19eb
Signed-off-by: Graham Hayes <gr@ham.ie>
2019-06-28 12:35:56 +01:00
caoyuan 77da85c3ba Replace git.openstack.org URLs with opendev.org URLs
Change-Id: I64ca9232d168f6b8203b7b19cbf7280635dded52
2019-06-27 09:26:19 +00:00
Zuul 0e589165f0 Merge "tools: add retired-on check" 2019-06-06 15:45:01 +00:00
Mohammed Naser a2a884c03d tools: add retired-on check
We don't currently do any linting at all for the legacy projects,
this patch adds some basic linting.

Change-Id: If1173779525d0c247b3d3367f0e14de27ad2985e
2019-05-27 10:02:14 +02:00
Mohammed Naser b4a104745c tools: report dissenting votes for project-update
If there is a project-update change where we have a -1 code review,
we should probably put that into account as it might mean that it's
not the good time to land it.

Change-Id: If95af41005a0b328ffbda74f6b56b00d68a98eea
2019-05-22 21:59:06 +08:00
Mohammed Naser b441be89f0 members: convert to yaml
The static file format that we've held for a while fails to scale
at some point, as run out of ways to split data.  This patch
converts it all into a YAML file.

Change-Id: I4264c663d82077940873e2d3a1564b4e232daa9e
2019-03-07 13:05:47 -05:00
Doug Hellmann 8a7493692f add vote list to status report
Show who has voted or not on each change, in case someone needs to be
pinged.

Change-Id: I67c3566b3e7c22419dbc60bb585ef20b8a6d499b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2019-03-06 15:24:10 -05:00
Doug Hellmann a490d70a85 show the owner of each patch in status report
Change-Id: I25879e7a8f4d5a5f2632bfea7a2d3122e2f5a660
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2019-03-06 13:48:33 -05:00
Doug Hellmann 9256cc6d5a automatically derive the release team PTL for delegating those changes
We have the data to know who the release PTL is, so we can look it
up. We don't have a name for the VMT or stable SIG, so we have to
continue to hard-code those.

Change-Id: Ia87fd65f25f709d49fd6bad365e4c1607f878d8f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2019-03-06 13:30:17 -05:00
Jeremy Stanley 186fe85198 Remove team fragility stats script
We no longer provide governance tags focused on team "fragility" so
the team_fragility.py is fairly irrelevant for us now and its
presence in this repository may be sending the wrong message. It
also relies on Stackalytics which, at the time of writing, is not
open source.

Change-Id: I842e186f113727badfecff78eb37f74c225c1a22
2019-02-13 19:04:55 +00:00
Doug Hellmann f4d8b7ff5d apply 7 day rule to formal-vote items
Ensure that the charter rule that formal-vote items stay open at least
7 days is applied. This change interprets that rule to mean that if
the majority votes in favor of a change within the 7 day period, the 3
day waiting period will include any of the remaining 7 days. So if the
majority is reached on day 1, the patch must stay open 7 days and if
the majority is reached on day 7 the patch must stay open an
additional 3 days.

Change-Id: I48841570ff19b779b2e35de8218a8f56b408df92
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2019-02-12 13:46:18 -05:00
Doug Hellmann b43772b84b report whether delegated reviewer has commented on patch
Sometimes the delegate comments without voting, and that is useful to
have when trying to decide if a patch is ready for approval.

Change-Id: I9001cbe8c8a47f4a2185b0c49a5b4aa931c6fa1a
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-12-12 11:48:18 -05:00
Doug Hellmann 9190e309c3 refactor vote testing for delegated reviews
Remove redundant logic for finding votes by a particular person.

Change-Id: Ie7fa93054fc1987cd54b8905c7c09f115d1aaf97
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-12-12 11:47:57 -05:00
Doug Hellmann 11d0914c69 update check-review-status to look for rejection by delegate
If the person to whom a decision has been delegated rejects it, report
that the patch cannot be approved.

Change-Id: I70f2ddf726f94fb6d11558510232cc5e96c4bbc5
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-12-12 09:39:37 -05:00
Zuul 3d228870f8 Merge "add a house rule for the release-management key in projects.yaml" 2018-12-10 15:43:08 +00:00
Doug Hellmann 5194642047 correct date comparison in check_review_status.py
The earliest allowed merge date was being reported differently from
the way the date comparison was performed with the effect that the tool
reported it was OK to merge a change before it should have. Switch to <=
to ensure that the two dates match.

Change-Id: Iab2c783aae4fd769d02e60a6884f1128d3471270
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-12-05 10:21:33 -05:00