948 Commits

Author SHA1 Message Date
Jimmy Berry
536e17cb79 osclib/stagingapi: rename dashboard_content_* methods to pseudometa_file_*.
No need to be confusing and use the deprecated dashboard name.
2018-08-17 23:19:24 -05:00
Jimmy Berry
5e6df089a6 osclib/stagingapi: drop {load,save}_file_content() methods.
Since the implementations have been made generic and dropped to osclib.core
there is not point in having wrappers in StagingAPI with the same args.
2018-08-17 22:15:58 -05:00
Jimmy Berry
26884da458 osclib/core: provide project_pseudometa_*() functions.
These methods provide for a generic place to store meta data related to
a project. For the time being, keep the original :Staging/dashboard
location for openSUSE products.
2018-08-17 22:11:28 -05:00
Jimmy Berry
89ab151a59 osclib/core: provide source_file_save() adapted from StagingAPI. 2018-08-17 22:07:14 -05:00
Jimmy Berry
c11f78eb83
Merge pull request #1651 from jberry-suse/conf-default-drop-staging
osclib/conf: remove staging default for generic projects.
2018-08-17 11:20:13 -05:00
Jimmy Berry
f0fadd6a05
Merge pull request #1650 from jberry-suse/conf-exclude-sub-projects
osclib/conf: exclude sub-projects from matching project patterns (and Leap:N:Update defaults)
2018-08-17 10:53:24 -05:00
Jimmy Berry
5b5d917074 osclib/conf: provide cached get() method to supersede ReviewBot cache.
Given the slow migration of everything to the shared project config in
tools that change project contexts multiple times a consistent way of
accessing the config without forcing remote calls is needed.
2018-08-17 10:16:43 -05:00
Jimmy Berry
55116d31b5
Merge pull request #1648 from jberry-suse/config-decouple-and-require
osclib/conf: decouple from StagingAPI and always fetch remote config.
2018-08-17 10:02:37 -05:00
Jimmy Berry
5b44ea188d osclib/conf: provide Leap:N:Update default settings. 2018-08-17 00:08:09 -05:00
Jimmy Berry
f6550bfe87 osclib/conf: remove staging default for generic projects.
The original case was to enable remote config, but in general and with
up-coming changes having the staging setting falsely set like this is not
ideal. Since the remote config is loaded via attribute this does not even
affect it anymore. The proper change is to make the "dashboard" container
configurable which is planned.
2018-08-17 00:03:59 -05:00
Jimmy Berry
77e27fae9e osclib/conf: exclude sub-projects from matching project patterns.
Otherwise, :Update projects match the primary product settings which
gives the wrong impression to tools as things like :Update:Staging do
not exist. Since :Update and other sub-projects are in a different phase
of development they should really have separate settings. :Ports however
does have stagings and in theory should act like parent product. If it
becomes desirable to split that can be done in the future.

Some policy settings related to ReviewBots likely are desirable to carry
over, but that can be resolved in follow-up as they are not currently used.
2018-08-16 23:50:23 -05:00
Jimmy Berry
0696a0fe6c osclib/stagingapi: utilize osclib.core.attribute_value_*() implementations.
Provides convenience aliases that require less arguments.
2018-08-16 22:01:46 -05:00
Jimmy Berry
760ddf39e6 osclib/conf: decouple from StagingAPI and always fetch remote config.
As the remote config is no longer optional for SLE and is utilized by
openSUSE to the point were it is dangerous not to load the remote config
it should be required. Currently only certain users call apply_remote()
while this will make it built-in during construction and thus makes the
usage consistent and no longer require StagingAPI.
2018-08-16 21:53:40 -05:00
Jimmy Berry
68c3150069 osclib/conf: utilize osclib.core.attribute_value_load() instead of StagingAPI. 2018-08-16 21:42:58 -05:00
Jimmy Berry
65be714632 osclib/conf: drop dashboard/config migration to attribute.
Should no longer be needed and provides one less dependency on StagingAPI
which will be removed from Config class.
2018-08-16 21:41:14 -05:00
Jimmy Berry
8bdf571154 osclib/core: provide attribute_value_(load|save) adapted from StagingAPI. 2018-08-16 21:38:11 -05:00
Jimmy Berry
9c0eb82f51 osclib/prio: support non-important priority. 2018-08-16 18:05:20 -05:00
Jimmy Berry
ffcee027c0 osclib/core: maintainers_get(): rework to properly supports groups.
Previously, group members were only added if no maintainers were present
whereas group members should always be considered. Additionally, project
queries never included group members. Now groups are included in both.
2018-08-16 00:31:37 -05:00
Jimmy Berry
038bec6113 osclib/core: provide groups_members() to expand muliple groups users. 2018-08-16 00:27:37 -05:00
Jimmy Berry
600a486745 Utilize ET.fromstringlist() intead of joining strings. 2018-08-16 00:26:53 -05:00
Stephan Kulow
cc79ce04f0
Merge pull request #1628 from coolo/fix_1626
Lazy evaluation the ring projects
2018-08-01 16:58:33 +02:00
Stephan Kulow
b40036fb71 Lazy evaluation the ring projects
So we can use the StagingAPI also for projects below the target
project

Fixes #1626
2018-08-01 16:15:48 +02:00
Björn Geuken
9552b16330 Rename superseded_by_id to superseded_by
OBS is going to drop the superseded_by_id attribute soon as it is just
an alias for superseded_by.
2018-08-01 10:49:10 +02:00
Stephan Kulow
9951b454fb
Merge pull request #1620 from coolo/fix_repo_checker
repo_checker: Fix the review loop
2018-07-19 21:54:39 +02:00
Stephan Kulow
4f275a5af8 Move expanded_repos into staging api
and make pkglistgen and repo_checker use it. We will have more
cases in the future of tools requiring it :)
2018-07-19 09:14:30 +02:00
d113e01bbb Add Leap 15.1 ARM support 2018-07-16 15:51:47 +02:00
Stephan Kulow
ae97da90e5 Remove more of :DVD subproject handling 2018-07-05 20:43:07 +02:00
6a8062c071 check_command: subproject method is no longer exists in dashboard 2018-07-05 16:31:25 +08:00
71763873e3 stagingapi: remove staging_walk() function
DVD subproject has been obsoleted, no need to check :DVD anymore.
2018-07-04 21:27:19 +08:00
93ee829260 stagingapi: remove project_status_walk() function
subprojects method has been removed from dashboard,
project_status_walk() is not needed anymore.
2018-07-04 21:24:24 +08:00
Ludwig Nussel
9e59de4feb stagingapi: add support for Backports 2018-07-03 15:25:56 +02:00
Ludwig Nussel
6bdf227553 stagingapi: apply default config first
by reinterpreting the fallback as default we can actually install
default values without having to touch all other sections
2018-06-29 13:07:05 +02:00
30c32af1aa No longer have Ring2 and staging :DVD subproject 2018-06-29 18:29:47 +08:00
Jimmy Berry
da36ae9931 check_source: replace one action limitation with configurable rule.
Allows tool to be used on multi-action requests while still enforcing
the rule for Factory and Leap which should reject such requests due to
staging process.
2018-06-28 12:14:19 -05:00
Jimmy Berry
e6157ce837 osclib/stagingapi: attribute_value_load(): ensure using desired value.
OBS likes to not follow its API documentation and tends to ignore the
specific attribute option and returns everything. This results in
returning the first element that lxml decide to match to the pattern.

Not sure if OBS broke this recently, or if #1573 was poorly tested.
2018-06-27 17:00:36 -05:00
Jimmy Berry
a909b40461 osclib/stagingapi: superseded_request(): revert poor indentation changes.
Human eyes can vertically. One does not write math homework like:

1. y = mx + b
        b = y - mx

or

1. y = mx + b
b = y - mx


one write it

1. y = mx + b
   b = y - mx
2018-06-20 15:30:13 -05:00
Stephan Kulow
67121e297e
Merge pull request #1573 from coolo/use_attributes
Use attribute to store staging config
2018-06-19 06:38:32 +02:00
7238800b36 request_splitter: gcc8 is the default compiler now 2018-06-15 21:01:59 +08:00
Stephan Kulow
0180de281a Fix test cases 2018-06-15 13:16:46 +02:00
Stephan Kulow
a840f6bf40 Don't store empty config attribute and propose migration 2018-06-15 11:40:02 +02:00
Stephan Kulow
5e0e6c5126 Catch 404 for attributes (python3 way) 2018-06-15 11:40:02 +02:00
Stephan Kulow
fa2e4f7b75 Migrate SUSE config into attributes 2018-06-15 11:40:02 +02:00
Stephan Kulow
92398937e7 Make remote-config mandatory
It's the only way to sync things between different staging managers. oscrc
just won't do
2018-06-15 11:40:02 +02:00
Stephan Kulow
030e7b807f Move config into an OBS attribute
Right now we require a Staging subproject to use staging plugin, which
is suboptimal especially for maintenance requests. The OBS attributes allow
to store the things right attached to the project - and the permissions
can be controlled in parallel to the maintainers right, which gives us
enough freedom
2018-06-15 11:40:02 +02:00
bd251bc6b7 Freeze adi: do not check the first package in frozenlinks but metadata
Check the devel project from the first package in frozenlinks won't work
if the package has been deleted, check the first package in metadata
instead.
2018-05-17 19:01:58 +08:00
75b8a82851
Merge pull request #1538 from dirkmueller/ports_arches
Add ppc64le to pkglist gen for Leap 15.0 Ports
2018-05-15 13:44:41 +01:00
62652b934c pkglistgen: Add ppc64le for Leap 15.0 Ports
this architecture is also part of port, not only aarch64, and
we need architecture specific expansions, so extend default list
of architectures accordingly.
2018-05-15 11:58:28 +02:00
Stephan Kulow
082ee52aaf ttm: Load and Store the ignored issues in an OBS attribute 2018-05-14 20:00:57 +02:00
Stephan Kulow
9b4b0ed15a Begin porting to python3 (osc branch) 2018-05-14 11:04:39 +02:00
Jimmy Berry
628519d370 osclib/conf: update nocleanup-packages post migration to new pkglistgen. 2018-05-09 23:31:59 -05:00