Commit Graph

12 Commits

Author SHA1 Message Date
Thierry Carrez 4d56baded8 Remove team diversity tags
Team diversity tags (single-vendor and diverse-affiliation) no
longer provide useful context for our users:

- As projects mature and feature development activity is more
  limited, a lot of projects were flapping between states
  depending on a couple commits or reviews, cross-project work
  or community goals activity.

- In teams where a single individual ends up picking up the bulk
  of core reviewing duties, the diversity tags incentivized them
  to limit their activity.

- Data was based on Stackalytics, which is not a highly reliable
  data source. Basing tags on raw data is not a great idea. Raw
  diversity data should be used to raise flags for further
  analysis (with context) rather than jumping to conclusions.

- Binary tags can't reflect the complexity of that data.
  Single-vendor does not mean the same for PowerVMStackers and
  for Keystone. Trends are actually more important than value
  at a single point in time.

- Organizational diversity is just one factor of fragility for
  project teams. Individual fragility (where the bulk of the
  work is done by one person) is actually more prevalent those
  days.

Change-Id: I1f1e55a7605ddff572b7b674c58ab419a7fc913f
2018-07-03 15:54:52 +02:00
Doug Hellmann 1c98c456b5 add flake8 to the linter job
Turn on flake8 for code style checks, like in our other repos. Fix or
explicitly ignore various issues to allow the linter job to pass.

Change-Id: I7bfd8cf5e9c00dfa83c0393a4307fd54d2113047
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-03-15 17:47:28 -04:00
gengchc2 1d9b388bf1 Replaces yaml.load() with yaml.safe_load() for governance
Yaml.load() return Python object may be dangerous if you receive
a YAML document from an untrusted source such as the Internet.
The function yaml.safe_load() limits this ability to simple Python
objects like integers or lists.

Reference:
https://security.openstack.org/guidelines/dg_avoid-dangerous-input-parsing-libraries.html

Change-Id: Icf559f9c8b37c6f564c820fde79c85a77ba4f839
2017-03-10 01:05:29 +00:00
zhangyanxian 95a62e7ed0 Remove white space between print and ()
TrivialFix

Change-Id: I3bc6b2f7c7968488ee3b8e69f2ba0d6828d79ebe
2016-07-20 09:04:36 +00:00
Thierry Carrez 9f49dbbc2e Retire release:has-stable-branches tag
The release:has-stable-branch is useless and should be retired:

- The git repository is the true source of information whether
  a given repo has stable branches or not. The tag is therefore
  redundant, and often inaccurate (since it's not necessarily
  updated when a project creates stable branches).

- Having "stable" branches does not mean that the repository
  applies the common stable branch maintenance policy. This
  tag therefore does not convey any useful information for our
  downstream users. Whether a project follows stable policy or
  not is now described using the stable:follows-policy tag.

Change-Id: I7d7d24db0de4728977218f9b7fadc060f69c2e55
2016-04-14 11:29:35 +02:00
Shamail Tahir 55f6386c83 Fix projects.yaml path in validate_tags
This fixes the path for the projects.yaml file in the validate_tags
script.

Change-Id: Ib7a05fb03ef9f4c7e739ba5b712bc2f6fe64d55e
2016-03-30 13:18:01 -04:00
Swapnil Kulkarni (coolsvap) f87d69c497 Keep py3.X compatibility for urllib
Change-Id: I0bdf317d29cd83ad1ef9aec3b1646e84df2660de
2015-12-23 20:48:17 +05:30
Joe Gordon 00c03a24c5 Add team:single-vendor tag
Objectively communicates when project teams are driven by a single
organization, so that this fact can be taken into account in project
adoption decisions.

Change-Id: I399046ab7c3266b08c2a48382abfb89c33aab146
2015-11-12 18:12:37 +01:00
Russell Bryant 2326a2db16 diversity: Factor out policy from data gathering.
The diversity script had a single function that gathered a bunch of
stats from stackalytics and also determined whether the diversity
criteria was met.  Split the policy check out.  This is just a bit of
refactoring in preparation for adding some additional stats and policy
checks based on this code.

While we're at it, rename the script to 'teamstats', since this will
soon be looking at more than diversity.

Change-Id: I7993249b14cbb94a4700de10fc31bc0cd0394cf7
Signed-off-by: Russell Bryant <rbryant@redhat.com>
2015-07-31 14:08:00 -04:00
Thierry Carrez 9400b21680 Introduce the "deliverables" concept
Our current projects.yaml file lists project teams and git
repositories associated to those. However, things we publish
as a single "thing" may be represented by multiple code
repositories. For example, a "neutron" release is actually made
of openstack/neutron and openstack/neutron-*aas. A "sahara"
release is actually made of openstack/sahara, openstack/sahara-extra
and openstack/sahara-image-elements. Those are all tagged at the
same time with the same version number, and published together
as a single "deliverable".

This change proposes to encode this layer in the projects.yaml file.
It also proposes to apply tags to the deliverable level rather than
at git repository level. Tags are meant to apply to things that are
consumed by our users, not to the technical pieces that help us
build those things. Note that for most projects have single-repo
deliverables and won't really look different. See Sahara and Neutron
in the proposed file to see examples of multi-repo deliverables.

Since this introduces a breaking change in the file format, we also
take the opportunity to simplify the YAML format: since tags no
longer have attributes they can be listed as an array rather than
as a dictionary, sparing us the useless "name:" part.

Change-Id: I2aa729d1b4278743a5e99b41178dc2d11b3e1348
2015-07-27 15:23:01 +02:00
Joe Gordon 540c96d173 Add check for 'release:has-stable-branches'
repo based tag validation that checks for the existence of a branch named
stable/kilo.

Change-Id: Icd88d94f8e2fe8c75553cb02d150eaa07b73aacb
2015-04-20 08:47:28 -07:00
Joe Gordon bf8d72ea96 Add tool/framework to automatically validate the tag applications.
Add tools/validate_tags.py framework to automatically validate the usage
of tags in reference/projects.yaml. This is only for tags that can be
enforced pragmatically.

This is not intended for gating purposes, rather to make the process of
updating projects.yaml easier.

Supports both team and repository based tags.

Updated diversity.py to work with validate_tags

Change-Id: Id477bfcfccb4dbf5f03f328273c9487ccc48e054
2015-04-20 08:46:51 -07:00