1134 Commits

Author SHA1 Message Date
Jimmy Berry
f0291f63e8 osclib/origin: correct import order. 2019-07-16 10:28:41 -05:00
Jimmy Berry
9975f51670 osclib/origin: support pending source lookup against maintenance origin.
Works for both maintenance incident (both states) and release.
2019-07-16 10:28:41 -05:00
Jimmy Berry
e67ee85b5a osclib/origin: handle nested annotation loading and support maintenance incidents. 2019-07-16 10:28:27 -05:00
Jimmy Berry
b34a93e590 osclib/core: provide a series of request list generators.
Given the broken design of multi-action requests which continually wreaks
havoc on code attempting to handle them properly a series of methods for
searching for requests are provided to simplify the process. The core
principal is that both a request and action are returned since the
specific action that matched the search query is important.

Further poorly designed maintenance data structure is also abstracted to
provide a consistent interface for querying source changes regardless of
their state in the workflow.
2019-07-16 10:27:41 -05:00
Jimmy Berry
fa41d3ae21 osclib/origin: origin_annotation_dump() provide raw option. 2019-07-11 16:12:46 -05:00
Jimmy Berry
0f1b9d667e osclib/core: provide request_action_key().
Intended to facilitate standardized keys for action specific information
placed in review scoped storage (ie. reviews/comments).
2019-07-11 16:06:06 -05:00
Jimmy Berry
aa444f79e6 osclib/core: enhance attribute_value_load() to handle boolean attributes. 2019-07-11 16:02:14 -05:00
Jimmy Berry
a8ff27b81f osclib/core: provide action_is_patchinfo() from ReviewBot.
Allows for usage outside of ReviewBot children.
2019-07-11 16:01:42 -05:00
Jimmy Berry
e991b44633 osclib/core: provide simplified search() and utilize. 2019-07-11 15:58:35 -05:00
Stephan Kulow
2ad649781e Readd whitelist for installcheck
This was somehow lost
2019-06-06 15:28:44 +02:00
Stephan Kulow
f840a6f206 Add maintenance-installcheck next to staging-installcheck
A rather small reviewbot just made for one thing: check maintenance
release requests. They are much easier to handle: they are only created
on locked projects, so there is no waiting required. Just checking
and if it's broken, the request can be declined.
2019-06-05 15:37:43 +02:00
Stephan Kulow
868f3e1d6f Retire repo_checker.pl
Extract the writing of the susetags content into a new script that
also creates a yaml file which package comes from what directory.
This information is used in repochecks.py to run findfileconflicts
and installcheck as repo_checker.pl used to
2019-06-05 06:41:14 +02:00
Stephan Kulow
dc77a5f227 Remove --add from select command
Fixes #754
2019-06-03 16:54:30 +02:00
Stephan Kulow
5b062c5752 Fix inner-staging links to use cicount=copy
We need to keep the cicount in sync for the kernel as kernel-syms
requires kernel-default of kernel-source
2019-06-02 14:08:17 +02:00
Jimmy Berry
dcc007cfa6
Merge pull request #2089 from jberry-suse/origin-plugin-cron
origin-manager: replace OBS operator individual project reports with automatic cron command.
2019-05-31 10:24:43 -05:00
Stephan Kulow
a9eab93004 Fix support for multiple spec files
Right after commit of a package into a staging project, it can happen
that OBS replies to GET with 'service in progress' and then we don't
get a file list. As we ignored that exception, we did not create the
other spec files.

Now enhance retried_GET to look for this condition and retry this as
well, so we get reliable package list.
2019-05-31 15:43:18 +02:00
Jimmy Berry
30e38677b6 osclib/core: provide project_locked(). 2019-05-30 17:05:36 -05:00
Stephan Kulow
39f3935d20
Merge pull request #2083 from coolo/dont_crash_on_spec
Do not crash on packages without spec file
2019-05-30 08:54:12 +02:00
Stephan Kulow
8d26d0dec6 Do not crash on packages without spec file 2019-05-29 20:59:13 +02:00
Stephan Kulow
195bb65b48 Ignore current Factory duplicates 2019-05-29 20:31:28 +02:00
Stephan Kulow
137478d6aa Introduce osclib.core.duplicated_binaries_in_repo
Move the core functionality of check_duplicate_binaries_command to be
reusable from installcheck.
2019-05-29 13:57:26 +02:00
Stephan Kulow
b32cbd7d63 Fix staging rebuild on python3 2019-05-29 06:57:13 +02:00
678f243b2b virtually accept: fix string type handling in Python3 2019-05-28 16:51:00 +08:00
Jimmy Berry
65b73f1d41
Merge pull request #2053 from jberry-suse/origin-manager-followups
origin-manager: small follow-ups.
2019-05-24 14:57:50 -05:00
5d13e07b5a accept_command: fix missing the url for uploading product file change
Regression from acc0ffc3852700cc996109f350f72dcb9ff1b3fe , we still need
url for uploading product file change.
2019-05-24 18:12:26 +08:00
Jimmy Berry
dde0edef40 osclib/core: package_version(): drop lxml element and return string version.
Resolves undesirable output when formatting a data structure that includes
the result from this function as yaml.
2019-05-23 17:09:29 -05:00
Jimmy Berry
14ae392743 osclib/util: correct python3 port by casting to list directly after filter.
8bf2602 cast to list during on the return line, but that does not work
if a project_suffix is present.
2019-05-22 20:32:33 -05:00
Stephan Kulow
7d0cad0e66 sha1_short: support bytes and str 2019-05-16 08:02:36 +02:00
Jimmy Berry
ceb4a9cea9 osclib/origin: cast filter() to list() to improve debug output [python3]. 2019-05-15 21:01:51 -05:00
Jimmy Berry
743b3a6cd6 osc-origin, osclib/origin: port first dict key/value access [python3]. 2019-05-15 21:01:00 -05:00
Jimmy Berry
7a1ff946cd osclib/util: sha1_short(): encode data as utf-8 [python3]. 2019-05-15 21:00:11 -05:00
Jimmy Berry
8221df0028
Merge pull request #2014 from jberry-suse/osclib-core-package_list_kind_filtered
osclib/core: rework as package_list_kind_filtered().
2019-05-15 19:39:05 -05:00
acc0ffc385 osclib: make source_file_load() always return string
Makes sense always return string from source_file_load(), this
preventing potentially TypeError on python3. Also changed product file
loading, now source_file_load() used.
2019-05-15 19:34:05 +08:00
Jimmy Berry
45bc515ed8 osclib/core: rework as package_list_kind_filtered(). 2019-05-14 18:58:19 -05:00
Jimmy Berry
feca459bb7 osclib/core: provide package_kind(). 2019-05-14 18:58:12 -05:00
Stephan Kulow
700cf1e41a Fix repository_path_expand to also work in Factory stagings
I got the algorithm wrong - it overwrites repositories only when used
in the same path, not by recursion
2019-05-12 22:35:59 +02:00
Stephan Kulow
97e7d011b8
Merge pull request #2003 from coolo/fix_si
Fix string/bytes confusion with installcheck
2019-05-11 16:53:12 +02:00
Stephan Kulow
7ee9614ac2
Merge pull request #2002 from coolo/repository_fix
Fix and test repository_path_expand on SLE12-SP5
2019-05-11 16:49:16 +02:00
Stephan Kulow
9f9e6b75f3 Fix string/bytes confusion with installcheck 2019-05-11 16:40:27 +02:00
Stephan Kulow
4db9df6aec Fix and test repository_path_expand on SLE12-SP5
The way OBS collapses repositories is different to what we did
2019-05-11 16:34:31 +02:00
Stephan Kulow
d57ba61df5 Remove more references to vcr
I tried to replace the Mocking of functions with httpretty, but
unfortunately httpretty replaces all other API calls with 404s then.

What we'd need is a library sniping out single requests - possibly
by mocking the http_GET function, but that's tricky as well with
caching already overwriting it
2019-05-11 10:26:35 +02:00
Stephan Kulow
925032e0f9 Redo select tests to test package with multiple spec files 2019-05-06 22:38:57 +02:00
Stephan Kulow
aa70305aa2 Fix delete requests with multiple spec files
First gather the links and then wipe - or it will always be empty
2019-05-06 21:36:18 +02:00
Stephan Kulow
00a0bdc982 freeze: Stop ignoring inter project links
We link all packages by their srcmd5 - and only fix the links on
selecting new packages
2019-05-06 21:36:18 +02:00
Stephan Kulow
2765089077 freeze: Remove code handling Test-DVD
We no longer have products using that
2019-05-06 21:36:18 +02:00
Stephan Kulow
bb23be210b For consistency reasons always link the sub packages we're selecting
So far we skipped links between packages in the same ring because we've
frozen a _link pointing from one to the other, but this does not work
with default OBS and creates quite some problems also in adi projects
where it's trying to be smart.

Now simplify this a lot by simply linking it in any case
2019-05-06 21:36:18 +02:00
Stephan Kulow
58d6d7ca16 Python3 fixes 2019-05-04 15:44:44 +02:00
Stephan Kulow
8a7b65d505 Remove fake OBS in favor of using generated test data 2019-05-04 15:44:39 +02:00
Stephan Kulow
5f3dcca267 Fix OBSLock to always write full ISO format
If the microseconds are 0, isoformat won't output any, but our _parse
function expects them. python 3.7 has isoformat/fromisoformat, which
would fix it, but we can't take it atm
2019-05-04 15:44:39 +02:00
Stephan Kulow
0693c88977 Fix crash on staging project without flag section 2019-05-04 15:44:39 +02:00