2360 Commits

Author SHA1 Message Date
7f18e332a0 Merge pull request #635 from nilxam/fix_compare_list
Force using expand in the api call and ignores the linking package
2017-01-13 12:39:08 +08:00
Jimmy Berry
6a521fc063 Correct indentation level of in requests_ignored check.
In the previous state this worked for any project except factory, now it
works on factory too.
2017-01-12 16:14:33 -06:00
264917f732 Force using expand in api call and ignore the linking package 2017-01-13 00:43:41 +08:00
Ludwig Nussel
e68120ae15 Merge pull request #632 from openSUSE/fix_comments_default
Fix comments default for openqa-maintenance bot
2017-01-12 13:03:08 +01:00
Ludwig Nussel
47a20b81b9 Merge pull request #631 from jberry-suse/request-ignore
Provide ignore/unignore request staging commands.
2017-01-12 11:34:02 +01:00
Ludwig Nussel
d72ef36cfc Merge pull request #634 from jberry-suse/origin-changed
leaper.py: indicate if origin differs from the expected origin.
2017-01-12 09:50:57 +01:00
Jimmy Berry
b25fda9b47 Provide ignore/unignore request staging commands.
It is not uncommon for a request to be in a pending state which requires
action beyond the scope of the staging workflow, but does not make sense
to deny the request. For lack of a "postponed" or "pending" state on OBS
a sudo-state of "ignore" is provided for the staging workflow. The ignore
state will remove a request from the "list" and "adi" commands so as not
to be accidentally staged. This avoids the need for keeping a context of
what requests should be ignored in one's memory.

It is expected that an ignored request will have comments reflecting what
is to be done or one should be added via the -m option of ignore command.
2017-01-11 18:32:23 -06:00
Jimmy Berry
6275fc52bc leaper.py: indicate if origin differs from the expected origin. 2017-01-11 14:37:26 -06:00
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