138 Commits

Author SHA1 Message Date
Jimmy Berry
cdef5bf129 repo_checker: change package comment default to be direct instead of devel.
Since the tool has been expanded to work on any repository, there are more
repositories that would want direct comments than devel. Set the value
to be devel for the openSUSE products which are the places where that is
desirable.
2018-08-22 21:43:47 -05:00
Jimmy Berry
a57fe7ba4e repo_checker: complete rework to handle arbitrary repos and maintenance.
The rework includes a variety of changes:

- multiple actions per request supported
- automatically detecting "main" repo (useful for devel/home projects)
- full layered repository path state and published taken into account
- arbitrary repository name (ie. not just standard) supported
- intermediate results (used for staging) no longer accept (even if no
  problems detected) until all layers are published
- no longer tied to staging process, but still supports staging workflow
- robust handling of repository state changes during review cycle
- multiple repositories supported for project_only output (ie. file name)
- project_only run supports any OBS project instead of only products
- maintenance_release requests supported with alternate staging approach
2018-08-21 20:49:26 -05:00
Jimmy Berry
6f9a81ff73 osclib/conf: drop main-repo default for all projects. 2018-08-21 20:47:37 -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
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
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
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
d113e01bbb Add Leap 15.1 ARM support 2018-07-16 15:51:47 +02: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
Stephan Kulow
a840f6bf40 Don't store empty config attribute and propose migration 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
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
Jimmy Berry
628519d370 osclib/conf: update nocleanup-packages post migration to new pkglistgen. 2018-05-09 23:31:59 -05:00
Jimmy Berry
e7c611e9ed osclib/conf: change pkglistgen-include-suggested to False. 2018-05-09 23:31:37 -05:00
Jimmy Berry
9a633ec26f osclib/util: provide mail_send(), modified from announcer.py.
Depend on config for relay, from, and followup-to.
2018-04-10 22:51:28 -05:00
ed8feb6105 conf: make sure variable is not None before do lower() 2018-03-29 16:37:19 +08:00
Jimmy Berry
e964cb58a4 osclib/conf: SLE-15: set check-source-in-air-rename-allow to True. 2018-03-16 14:09:24 -05:00
Ludwig Nussel
d66ea3a0b2 check_source: make adding review team configurable 2018-03-09 14:34:42 +01:00
Ludwig Nussel
0f5d25f463 pkglistgen: Fix reading boolean values 2018-03-09 13:50:08 +01:00
Stephan Kulow
defd9954b5
Merge pull request #1429 from jberry-suse/conf-priority-int
osclib/conf: change priority to be string to work with ConfigParser.
2018-03-08 11:19:00 +01:00
Jimmy Berry
5e2834e4bd osclib/conf: configure SLE-15 leaper-override-group. 2018-03-07 14:55:16 -06:00
Jimmy Berry
8332692dad leaper: move review groups to osclib.conf. 2018-03-07 14:55:09 -06:00
Jimmy Berry
2917e7c9fa osclib/conf: change priority to be string to work with ConfigParser. 2018-03-07 13:49:47 -06:00
Jimmy Berry
a40ebc1544 ReviewBot: provide comment command override.
For example:

  @leaper override accept
  @repo-checker override decline
2018-03-06 16:42:12 -06:00
Jimmy Berry
f56ccb878c
Merge pull request #1406 from jberry-suse/pkglistgen-dump-include-update
pkglistgen: solv_cache_update(): support update repo and 4 way merge (and merge skipping)
2018-02-20 20:47:24 -06:00
Jimmy Berry
a11192affd osclib/conf: leap: set download-baseurl-update. 2018-02-15 09:01:33 -06:00
Jimmy Berry
9f2cf8da1c osclib/conf: leap: repo_checker-arch-whitelist to x86_64.
See boo#1080987.
2018-02-14 15:05:41 -06:00
Jimmy Berry
07f4174b11 conf: SLE-15: set pkglistgen-product-family-last to SLE-11:GA. 2018-02-12 17:58:04 -06:00
Jimmy Berry
56df1cf592
Merge pull request #1386 from jberry-suse/pkglistgen-droplist
pkglistgen: integrate drop list creation into update_and_solve and project family methods
2018-02-06 21:08:44 -06:00
Jimmy Berry
893e9678a4 osclib/conf: leap: incorporate proven unselect settings. 2018-02-06 02:15:34 -06:00
Jimmy Berry
3261aed8a1 osclib/conf: leap: incorporate proven splitter settings. 2018-02-06 02:15:27 -06:00
Jimmy Berry
376084009c osclib/conf: include Leap for Factory during pkglistgen. 2018-02-06 00:25:46 -06:00
Jimmy Berry
3331f263dc osclib/conf: add download-baseurl for Leap and Factory. 2018-02-06 00:13:43 -06:00
Jimmy Berry
c7deabd80b osclib/conf: support version in project pattern as value replacement. 2018-02-06 00:13:43 -06:00
Jimmy Berry
0e41747c4e repo_checker: package_comments(): provide option to post on target package.
For SLE where devel projects are not utilized post on the target packages
directly. Posting on the devel projects might make sense, but would pose
the risk of exposing IBS information on OBS prematurely.
2018-01-19 08:50:32 -06:00
Ludwig Nussel
a825608376 pkglistgen: delete kiwis by scope
Replace config option pkglistgen-delete-kiwis by
pkglistgen-delete-kiwis-$scope. The main project needs all kiwis while
in Rings and Stagings we don't want the ftp tree for example.
2018-01-17 14:33:36 +01:00
Ludwig Nussel
67f2773e76 pkglistgen: typo locals vs locales 2018-01-10 17:19:15 +01:00
Jimmy Berry
09a98cddac
Merge pull request #1330 from jberry-suse/pkglistgen-sle
osclib/conf: intial SLE configuration for pkglistgen.
2018-01-09 16:26:24 -06:00
Jimmy Berry
b41bbd1777
Merge pull request #1328 from jberry-suse/pkglistgen-migrate-followup
pkglistgen: migrate bash scripts to python followup
2018-01-09 16:26:03 -06:00