2302 Commits

Author SHA1 Message Date
Ludwig Nussel
827333d3e4 Implement config for manager42
For example for Leap 42.3 it could look like this
2017-01-11 17:59:39 +01:00
Ludwig Nussel
dd26743202 Fetch request info from different api url 2017-01-11 17:43:11 +01:00
Ludwig Nussel
d21dbfb8c4 Merge pull request #629 from jberry-suse/osclib-cache
Provide cache for expensive and cache-able staging requests.
2017-01-11 17:26:15 +01:00
Jimmy Berry
cff5befed3 Provide cache for expensive and cache-able staging requests.
The two slowest staging API calls are for information that rarely changes.
By caching the result the commands typically execute over twice as fast.
Going further can see improvements of an order of magnitude or more by
caching almost all the GET requests.

In contrast to osclib/memoize.py this cache operates at the HTTP request
level. This has several advantages:

- Caches the expensive part (ie the HTTP request). There are a number of
  functions in osc.core and elsewhere that make the same API request, but
  process the result differently which would require multiple API calls
  using memoize.
- Handles cases were a loader function uses class attributes as input and
  output and thus no relevant method parameters or return. An important
  example is StagingAPI._generate_ring_packages().
- Storage is project aware which allows caches to be deleted when a project
  is known to have changed.
- Due to project awareness, can utilize OBS /statistics/latest_updated API
  call to determine which projects need to be expired.

The cache file structure is as follows:

- hostname(apiurl)
  - project
    - sha1(url)
  - sha1(url)

See Cache.PATTERNS for changing the time to live (ttl) or add patterns to
be cached.
2017-01-11 10:23:54 -06:00
Stephan Kulow
d6bb0b1129 Fix comments default for openqa-maintenance bot
And remove some of the noisy debug output
2017-01-11 13:35:33 +01:00
df7d88fab5 Merge pull request #623 from jberry-suse/osc-check_source-port
Port osc-check_source.py to ReviewBot as check_source.py.
2017-01-11 18:31:13 +08:00
Ludwig Nussel
9d55545080 Merge pull request #627 from nilxam/add_compare_list
Add compare_pkglist.py
2017-01-11 11:04:04 +01:00
Ludwig Nussel
7503c175e1 Merge pull request #628 from jberry-suse/devel-project-list
Provide a utility to print the list of devel projects for a given project.
2017-01-11 11:03:24 +01:00
Jimmy Berry
8db3461a00 Port osc-check_source.py to ReviewBot as check_source.py.
In the process of porting many improvements and bug fixes were added. Usage
follows the standard ReviewBot format and allows for new execution styles,
but the following examples replicate previous usage.

# Review all requests assigned to factory-auto.
./check_source.py --group factory-auto review

# Review request 13370.
./check_source.py --group factory-auto id 13370

# --project translates to project command.
# No longer automatically includes $project:NonFree.
./check_source.py --group factory-auto project openSUSE:Factory

New options available are:

--ignore-devel          ignore devel projects for target package
--devel-whitelist=FILE  file containing whitelisted projects (one per line)
--review-team=GROUP     review team group added to requests with > 8 diff
--repo-checker=USER     repo checker user added after accepted review

Note that --ignore-devel used to be provided as env[IGNORE_DEVEL_PROJECTS].

Some highlights about what was cleaned up:
- cryptic variable names replaced
- replaced custom osc queries with osc.core calls where applicable
- removed the need to load package information for all packages within
  target project which cuts runtime in half for single review
- removed extraneous code that performed extra steps for no reason
  os.path.dirname(os.path.realpath(__file__.replace('.pyc', '.py')))
  os.path.dirname(os.path.realpath(__file__))
  and _checker_prepare_dir() which needlessly chdir() twice.
- one logic branch failed to cleanup checkout directory
- new flags provide additional flexibility
2017-01-10 19:33:41 -06:00
Jimmy Berry
609a11c4d7 Provide a utility to print the list of devel projects for a given project. 2017-01-09 23:33:09 -06:00
Martin Pluskal
55ae25046c Merge pull request #630 from fschilling/updatekgrafthosts
Update kGraft host-list
2017-01-09 08:50:40 +01:00
schillingf
aa50704a46 Update kGraft host-list
* Add kgraft0h, kgraft0i, kgraft1b and kgraft1c.
* Remove kgraft09 (kernel out of support)
2017-01-08 19:52:38 +01:00
39df4abab1 Add compare_pkglist.py 2017-01-06 16:12:43 +08:00
Stephan Kulow
72d99f6041 Merge pull request #626 from fschilling/addkgrafthosts
Add hosts kgraft22 and kgraft23
2017-01-04 15:08:00 +01:00
schillingf
9db77eeaf0 Add hosts kgraft22 and kgraft23 2017-01-04 14:57:24 +01:00
Ludwig Nussel
7fe0322b70 Merge pull request #624 from jberry-suse/adi-clean
adi_command: whitespace cleanup.
2017-01-02 16:36:01 +01:00
Jimmy Berry
0ec78beb93 Remove duplicate ReviewBot.do_project(). (#621) 2017-01-02 09:37:35 +01:00
Jimmy Berry
7431af4a72 Rework ReviewBot.CommandLineInterface to provide class option. (#622)
Alleviates the need for a lot of duplicate code, some of which is already
out-of-sync.
2017-01-02 09:34:13 +01:00
Jimmy Berry
c739687ac0 Remove duplicate ReviewBot.set_request_ids_project() (#620) 2017-01-02 09:24:34 +01:00
Jimmy Berry
f75e9bdaf3 adi_command: whitespace cleanup.
Tabs vs spaces is even scarier in python.
2016-12-29 16:27:11 -06:00
Stephan Kulow
cc7888ed65 Fix syntax 2016-12-25 07:57:30 +01:00
Ludwig Nussel
ffdb9430f7 Merge pull request #618 from lnussel/crawler
Expand decimal revisions in requests
2016-12-23 10:30:11 +01:00
Ludwig Nussel
aadd3f96eb Expand decimal revisions in requests
Requests may either contain the srcmd5 or the decimal revision. So we
may need to convert the revision to srcmd5.
2016-12-20 09:23:19 +01:00
Martin Pluskal
d19b324f5e Merge pull request #616 from fschilling/kgrafthostupdate
Add SUTs kGraft{0g,1a,21}
2016-12-18 12:30:10 +01:00
schillingf
688da5b208 add SUTs kGraft{0g,1a,21} 2016-12-16 15:49:28 +01:00
Ludwig Nussel
6f2edba8d0 Merge pull request #613 from lnussel/manager
Catch non-existing project
2016-12-13 16:02:55 +01:00
Ludwig Nussel
37687890ed Catch non-existing project
SP3 doesn't exist yet in OBS
2016-12-13 16:01:57 +01:00
Ludwig Nussel
02f42f567d Merge pull request #611 from jberry-suse/select-progress
Indicate select command progress.
2016-12-12 14:27:26 +01:00
Ludwig Nussel
506b69688f Merge pull request #610 from lnussel/leaper
Adjust leaper for 42.3
2016-12-12 14:16:11 +01:00
Ludwig Nussel
b18ebcaa23 Merge pull request #612 from openSUSE/better_openqa_summary
Change incident summary
2016-12-12 14:16:02 +01:00
Stephan Kulow
3c4976fd88 Change incident summary
Include all groups counting the passing jobs too (we need a link
to the passing groups to see if SP1 and SP2 were tested)
2016-12-09 14:03:55 +01:00
Jimmy Berry
6e0f2165e0 Indicate select command progress. 2016-12-06 16:40:05 -06:00
Ludwig Nussel
56ee7bb3fe Adjust leaper for 42.3 2016-12-06 17:00:32 +01:00
Ludwig Nussel
556f9b6b2d Merge pull request #608 from lnussel/adi
Improve adi list output
2016-12-06 15:39:46 +01:00
Ludwig Nussel
f77a7e1650 Merge pull request #607 from lnussel/staging
Split config for Leap
2016-12-06 15:39:30 +01:00
Ludwig Nussel
7ec1c1955b Improve adi list output 2016-12-06 12:59:47 +01:00
Ludwig Nussel
077d3b66f6 Split config for Leap
Leap doesn't have ppc in staging so split defaults so we don't need
an .oscrc
2016-12-06 12:57:00 +01:00
Ludwig Nussel
175cde8b20 Merge pull request #606 from andreasstieger/improve_maintainer_review_msg
Improve message for multiple maintainer reviews
2016-12-06 12:55:48 +01:00
Ludwig Nussel
7bd0cf38b0 Merge pull request #605 from lnussel/workarounds
Add back SLE-workarounds
2016-12-06 12:55:28 +01:00
Andreas Stieger
f5d47c3ded Improve message for multiple maintainer reviews 2016-12-02 13:39:52 +01:00
Ludwig Nussel
e8a8dbdf8d Add back SLE-workarounds
Not all packages in there are accepted yet so we need to avoid manager42
to mark them as FORK.
2016-11-30 17:44:02 +01:00
Ludwig Nussel
e6fa6c43f0 Merge pull request #602 from nilxam/up_for_423
Update version in manager_42 and update_crawler
2016-11-30 17:41:43 +01:00
ba102f22ec Merge pull request #604 from nilxam/fix_delete_minor
Just findall linked tag to instead of search sourceinfo
2016-11-30 20:54:33 +08:00
982bd86c6b Just findall linked tag to instead of search sourceinfo
In this case, sourceinfo is not sub-element but root.
2016-11-30 19:05:31 +08:00
92716f4671 Merge pull request #603 from nilxam/more_decline
Decline add_role request or incorrect delete request
2016-11-30 15:59:27 +08:00
6d3324ee81 Decline add_role request or incorrect delete request 2016-11-29 19:57:40 +08:00
a716635532 Update version in manager_42 and update_crawler 2016-11-29 16:29:48 +08:00
Stephan Kulow
4607d725da Move to requests module (#601)
urllib is for some reason *much* slower - like minutes instead of microseconds
2016-11-26 06:59:58 +01:00
Stephan Kulow
0f9830606c Fix link to the failed step (#600)
Instead of linking to the first step in a failed test, link to the first
failing. openQA uses this route internally to delay parsing details
2016-11-24 12:20:30 +01:00
Stephan Kulow
cd97953f88 Merge pull request #599 from lnussel/dead_code
remove dead code
2016-11-22 11:30:14 +01:00