Commit Graph

26 Commits (237636b129b9d32aad8dea3fb1c5893032a62e90)

Author SHA1 Message Date
Sergey Nikitin ffb80d98c8 Fix py35
Change-Id: I5cdbb397dfa249faf67557f686934a995eb3e6fd
2020-09-01 09:37:25 +04:00
Ken'ichi Ohmichi cad73b5646 Add config validation for default_data
It is a little difficult to set up default_data.json for users, and
we already have the corresponding schema in the code. JSON-Schema
outputs useful error message when users misconfigures some items.
So this patch makes the schema validation enabled for default_data.

Change-Id: Id0efae913c202a30476d73a3821711c5250fcfee
2017-04-06 12:33:38 -07:00
Ilya Shakhat 33d8ec8e4f Sync requirements with OpenStack global requirements
Change-Id: Ic9046ea38059b6aa55bb683b07b28e3ff25dae6d
2017-03-29 16:45:01 +04:00
Ilya Shakhat 5a8bc5649e Use requests lib instead of low-level urllib calls
With requests library users can run stackalytics-processor from
environments located behind HTTP/HTTPS proxy. Proxy address is
configured by setting the environment variables HTTP_PROXY or

Closes-Bug: #1351136

Change-Id: I6a65afb0f99b351dc2183294d9127cbbebc35856
2015-09-22 15:37:07 +03:00
Ilya Shakhat 11db9c1de6 Update from global-requirements
1. python-memcached is now Py3 compatible, the separate reqs file
   is not needed
2. update tox.ini from latest cookiecutter
3. re-generated docs for cli

Change-Id: Id0d394f12618bc5ec7860a57043641efcdc6715f
2015-08-04 16:17:12 +03:00
Ilya Shakhat 72dcfee0c9 Use oslo.log instead of incubated code
Also use namespaceless oslo.config

Change-Id: I9bb01bd1e6154b8bc2aa82848b45fdd411c24fb7
2015-03-20 15:47:53 +03:00
Ilya Shakhat 0d9f72e52f Update from global requirements
Fix lots of pep8 issues caused by new version of hacking.

Change-Id: I70c1bef9e826a7c74ef87c052fc248e858ea0c73
2014-12-22 18:49:58 +03:00
Ilya Shakhat 7323b684b2 Make project list retrieval configurable
Now list of projects can be retrieved from both gerrit and github.

Change-Id: I4743dc618eff3a69e5d9291cb5c4b680c89dd3cf
2014-12-09 15:18:51 +03:00
Ilya Shakhat 2d6f712ca6 Sync Oslo and migrate from sources to oslo libs instead
Use oslo.utils, oslo.serialization and oslo.i18n instead of sources
in openstack/common

Change-Id: I82b0563efefdc1e897b5c2c19cce80632c3d550e
2014-10-06 14:03:32 +04:00
Andreas Jaeger 7155d072b0 warn against sorting requirements
And do not check for sorted requirements.

Change-Id: I64ae9191863564e278a35d42ec9cd743a233028e
Closes-Bug: 1365061
2014-09-03 22:27:53 +02:00
Longgeek 8a85da6a1d Update requirements* files matching global requ
Change-Id: I19713f71b87eff8f6b68e6c38c68e60ffd28e778
2014-07-01 03:23:36 +08:00
Ilya Shakhat 96e9a8b08d Sync Oslo code
Change-Id: I9782f235d09ed2d66add23e4db7a892066cdf0cb
2014-06-27 13:07:09 +04:00
Monty Taylor 3edba4b907 Get project list from gerrit
There is no need to interact with github. The full project list can
be retreived from a single query to gerrit to get the full project

Change-Id: I49a7c3a7ff7d070b8a166c11e66475870cdcd6ca
2014-06-17 10:59:48 +04:00
Ilya Shakhat 8442f2d8e4 Make gravatar link on client-side
Link to gravatar image is generated completely on client-side and no
longer included into user or record objects.

Added libs:
 * JS MD5 (BSD license)
 * JS jQuery.gravatar (WTFPL license), changed

Removed libs:
 * Flask.Gravatar

Closes bug 1320242

Change-Id: Iee08dc845c162a3ccb97d176997df31a6e7b3c63
2014-05-22 17:32:05 +04:00
Christian Berendt 59086405c2 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
2014-05-21 23:59:41 +02:00
Ilya Shakhat e2a86d0e8a Sync requirements with globals
Change-Id: I1af1fb3002b56b0d6f7b8d60e123f8f85c4eed96
2014-03-04 14:10:00 +04:00
Ilya Shakhat 3e005e2606 Module groups based on governance program list
Process official programs list and add module groups based on it.
Module groups are added for every program (like OpenStack Networking),
every type of project (like integrated) and all official projects.

* Added config parameter program-list-uri
* Removed manual group configurations in default_data that duplicate official list
* Fixed issue with spaces in module group name in UI

Change-Id: I9503d46f009a388aafc27d5ed31e1e8cab40ea2c
2014-02-14 15:35:21 +04:00
Ilya Shakhat c5f173a744 Synched requirements with the global list
Fixed assertEquals calls that are marked as errors by new hacking tool.

Note that the sync process is semi-automated since the project depends on
non-standard libs missing in the global list.

Change-Id: Ia6d74919458e6a8ebd22254e368aba357dd8a842
2013-12-18 17:05:28 +04:00
Ilya Shakhat b12567e39a Fixed version of psutil
Resolves bug 1217883

Change-Id: I6473ab4ba5c1232ef230ef62017f277c8117fb48
2013-08-28 17:47:22 +04:00
Ilya Shakhat cc63998aa1 Updated with global requirements
* Move to the latest pbr, remove d2to1
* Move to the latest hacking, remove flake and pep8

Closes bug 1212325

Change-Id: I4384a0470a5ab2297d62d249d08bd78d515c25c2
2013-08-19 14:01:49 +04:00
Ilya Shakhat b721d95d87 Launchpad lib is replaced by direct request via urllib
Launchpad lib is used to find user by his email. The same can be done by
accessing LP API directly. This operation doesn't require login to LP and
works much faster.

Closes bug 1213071

Change-Id: I3a6add2a78e2f493c721840a8c8b9041d8e49654
2013-08-16 23:27:36 +04:00
Ilya Shakhat 8de351099a Got rid of persistent storage
Implements blueprint remove-persistent-storage

Change-Id: I640abbf3472eba35e8b456a0ba42c45dc88d3d31
2013-08-06 13:30:24 +04:00
Ilya Shakhat de7e8f297c Use GitHub lib to retrieve project list
* Project list is retrieved with help of PyGitHub
* Difference in default data is checked by hash
* Fixed issue with invalid utf8 chars in git parsing

Partially implements blueprint add-more-projects.

Change-Id: I7cc9bc758c1f0d522af403a2b41c8298d80d843c
2013-08-05 17:43:10 +04:00
Ilya Shakhat 5c554a35f9 Implemented review processing and stats calculation
* Added review control system module that retrieves reviews from Gerrit
* Refactored runtime storage not to depend on storage contents
* Refactored commit processor and new review processor is added
* Review record processor spawns reviews and marks
* Memory storage is made able to store reviews along with commits
* Migrated to hacking-0.6
* Marks are processed in contribution details and shown on engineer details screen

Implements blueprint review-stats

Change-Id: I80b70de372752cd3d1790da1904c0d423d61e81a
2013-07-29 17:35:19 +04:00
Ilya Shakhat b7f19335f6 Implementation of blueprint stackalytics-core
* Data updater is implemented
* Completed implementation of commit processor
* Logging is added into commit processor and runtime storage
* Commit processor is fixed
* Domain-company map is inverted
* Extracted get update count into separate function
* Fixed regex that matches diff statistics (lines inserted, lines deleted and files changed)
* Implemented caching of unknown users
* Replaced dictionaries by sets for pids and branches
* Vcs is responsible for module and branches fields of commit record
* Added release tags support
* Implemented statistics by company
* Added config for releases
* Implemented front-end for companies details
* Implemented front-end for modules details
* Fixed metric switch
* Implemented timeline rendering
* Release selector is fixed
* Chdir is needed after cloning a new repo
* Company details screen is implemented
* Fixed invalid emails processing by Launchpad
* Fixed parsing of 0 files changed case
* Module details screen implemented
* Commit message is cleared and links are inserted
* Engineer details screen is implemented
* Fixed mapping from company to email for subdomains of 3rd level
* Fixed wrong user structure for users not found by LP
* Also coverage for commit processor
* Fixed company matching algorithm
* The company was not matched when user email had more domains than company's one
* Add option to enforce sync with default data
* Default data is added. Old confs removed
* Add *.local into gitignore

Scripts cleanup

Moved from pylibmc to python-memcached

Library pylibmc depends on libmemcached and doesn't work on CentOS (version conflict bw lib requirement and memcached).

Change-Id: I0cc61c6d344ba24442ec954635010b518c0efa95
2013-07-10 23:05:47 +04:00
Ilya Shakhat a5f1411218 Initial code commit 2013-06-22 15:42:32 +04:00