Commit Graph

208 Commits

Author SHA1 Message Date
mprahl
314688f170 Correct the docstrings referring to the old modulemd type 2018-10-02 12:59:36 -04:00
Chenxiong Qi
520a979d3d Add singleton system_resolver
system_resolver is created based on loaded configuration, which could
avoid calls like `GenericResolver.create(conf)` repeatedly in the code.

However, if some cases need to create a specific resolver explicitly,
`GenericResolver.create` could be called with addition argument, for
example db or mbs is passed to argument backend in tests.

Signed-off-by: Chenxiong Qi <cqi@redhat.com>
2018-09-28 11:00:52 +08:00
Martin Curlej
5a3d3d99d3 ISSUE-991: Added a method to the producer that will move stuck builds into 'failed' state
Signed-off-by: Martin Curlej <mcurlej@redhat.com>
2018-08-30 16:02:24 +02:00
Jan Kaluza
56fe201c33 Fill in the 'filterer_rpms' in backend to not access Koji from frontend. 2018-08-21 07:58:52 +02:00
mprahl
713172e1d5 Remove some other noisy debug logs 2018-08-14 11:22:04 -04:00
mprahl
79be63a7e7 Remove the debug log saying the MBS received a message to reduce noise 2018-08-14 10:03:53 -04:00
mprahl
4c9c338298 Fix a log statement in the tag handler 2018-08-07 14:38:42 -04:00
mprahl
f08135352a Use the NVR instead of the component name when responding to a tag message
This addresses an issue when a module contains builds that have different
names in their NVR than the component name in MBS. This happens with
SCLs for instance. MBS wouldn't be able to find the component to mark
as tagged in the database since it was searching by the wrong name, so the
build would just stall. This uses the NVR now to find the correct build
in the database.
2018-08-07 11:54:28 -04:00
mprahl
a78c564073 Revert "Store the component's build ID and use that to identify the build when acting on a tag message"
This reverts commit 9bd16beeef.
2018-08-07 10:32:50 -04:00
mprahl
9bd16beeef Store the component's build ID and use that to identify the build when acting on a tag message
This resolves an issue where the component name is different than the
package being tagged due to a macro such as those used for SCLs.
2018-08-03 20:45:00 -04:00
Martin Curlej
dfe7660519 Removed PDC dependency from MBS and replaced it with MBS prod instance.
Signed-off-by: Martin Curlej <mcurlej@redhat.com>

Removed pdc from comments.

Signed-off-by: Martin Curlej <mcurlej@redhat.com>

Adding missing files.

Signed-off-by: Martin Curlej <mcurlej@redhat.com>

Updated PR according to review.

Signed-off-by: Martin Curlej <mcurlej@redhat.com>

Local modules builds now

Signed-off-by: Martin Curlej <mcurlej@redhat.com>

Removed copr from config

Signed-off-by: Martin Curlej <mcurlej@redhat.com>

Fixed bugs

Signed-off-by: Martin Curlej <mcurlej@redhat.com>
2018-07-04 10:13:18 +02:00
mprahl
36a9026ca8 Remove references to COPR 2018-06-28 10:00:06 -04:00
Ralph Bean
6981449853 Fix local builds.
I discovered that local builds have been broken by recent (good) changes in
dnf.  At the end of every batch, we regenerate the local repo with createrepo
and we also call modifyrepo to include the modulemd file as we progress.  This
was added in #467.

What we really want, is for the modulemd file to be present at the *end* of the
build.

Recently, dnf started respecting the modulemd file natively, such that builds
we built in batch0 would not show up in batch1.  They would be present in the
repo, but they would be marked as belonging to a module which was not enabled,
and so could not be pulled in.  Every module build would fail because
module-srpm-macros was in a disabled module (the module being built at the
time).

This change makes it so that the module metadata is only added to the repo at
the very end of the build.  I moved it into a `finalize` method on the builder
which the copr builder was using, and for symmetry's sake I moved the koji
content generator code to the same method on that builder.

There was a circular import issue to solve between the koji module builder and
the koji content generator modules that generated a larger diff, but is mostly
cosmetic and mock changes.
2018-06-25 17:05:22 -04:00
Qixiang Wan
8b807a9fcd Generate koji tag from MBS and use informative name
koji now supports tags with max length of 256, we can use
more informative tag name instead of the hash one.

The new format of koji tag name is:

    module-<name>-<stream>-<version>-<context>

However when the generated tag's length > (256 - len('build')), we
fallback to the old way of name in hash format (module-<hash>).

In this change, koji tag is always generated from MBS itself, even
with pdc resolver.

FIXES: #918 #925
2018-04-26 22:04:16 +08:00
Jan Kaluza
31ddbe51a5 Add generate_expanded_mmds which returns list of MMDs which can be submitted as MSE builds and submit them. 2018-04-03 09:58:57 -04:00
mprahl
28e821fee0 Start querying modules by context when it's available
When implementing module stream expansion, we'll need to make sure
the buildrequires are queried using their context as well.
2018-04-03 09:58:57 -04:00
mprahl
f19f76872c Use the build object directly instead of its JSON in the modules handler 2018-04-03 09:58:57 -04:00
mprahl
d3f92bf5d3 Make the resolver functions less PDC specific 2018-04-03 09:58:57 -04:00
mprahl
f0852d9009 Port to libmodulemd and support v2 modulemd without module stream expansion 2018-04-03 09:58:57 -04:00
mprahl
654820ac31 Fix error that occurs when a batch hasn't started but a repo regen message is received
Fixes #864
2018-02-19 13:56:46 -05:00
Jan Kaluza
683056de0a Decrease time.sleep times in tests to save 60 seconds for test-suite run. 2018-02-08 09:03:32 +01:00
mprahl
575c2b8f05 Make the poller not resume paused module builds if there was recent activity on the build
This fixes an issue that occurs when someone submits a module build and most of its components
get reused and the poller just so happens to try to resume the build.
2018-02-06 10:45:07 -05:00
mprahl
8f024e6b04 Remove the dependency on vcrpy in unit tests and modernize some of the test data 2018-02-05 22:17:18 -05:00
mprahl
df594da8a5 Remove the Koji proxyuser functionality 2018-01-30 11:49:03 -05:00
Filip Valder
5b4a8f6240 New: Resolver API for pluggable resolvers 2018-01-29 15:54:19 +01:00
mprahl
667e946444 Reset the module-build-macros state when building it from a resumed module build 2018-01-23 09:41:59 -05:00
mprahl
3c07ea38e4 Cancel new repo tasks on module build failures 2018-01-22 14:39:30 -05:00
mprahl
7b7211e4ee Fix an error that occurs when a module build is resumed and module-build-macros was cancelled 2018-01-22 13:30:43 -05:00
mprahl
a67b53f5c3 Add a "context" field on component and module releases in Koji for uniqueness for when Module Stream Expansion is implemented 2018-01-16 10:36:09 -05:00
mprahl
a54045e518 Don't run KojiModuleBuilder.buildroot_connect in the stale module builds poller 2017-12-11 13:27:30 -05:00
mprahl
f478e69307 Clarify and add log statements when an orphaned module-build-macros is used 2017-12-08 16:07:32 -05:00
mprahl
1fa6cc6fc5 Clarify log statements and code when tagging when the batch is done 2017-12-08 16:06:18 -05:00
mprahl
aa4ca009ef Fix situations where module-build-macros builds in Koji but fails in MBS and the build is resumed 2017-12-08 15:50:55 -05:00
mprahl
30ef85af01 Fix "instant complete" builds and reusing all components 2017-11-27 16:20:28 -05:00
mprahl
02e11b9b39 Don't try to untag stale module builds that don't have any completed components 2017-11-20 10:38:56 -05:00
mprahl
ef5dc64f2b Transition stale failed builds to the "garbage" state and untag their components 2017-11-17 12:07:51 -05:00
mprahl
fa6f43e748 Fail module builds directly when a component build in a batch fails 2017-11-17 10:44:15 -05:00
Ralph Bean
8431d2698b Explicit imports of builders in the test suite. 2017-11-10 16:03:14 -05:00
mprahl
bb0dde9936 Only complete the module build when *all components are tagged* and a KojiRepoRegen message is received 2017-11-10 08:33:53 -05:00
Ralph Bean
f369182d72 Merge #771 Make the module build log name configurable 2017-11-08 16:12:14 +00:00
Jakub Kadlcik
f098e6e3b7 Make the module build log name configurable 2017-11-07 00:04:14 +01:00
mprahl
11e39ab0c3 Fix multiple transitions to the failed state 2017-11-06 16:46:57 -05:00
mprahl
d8f126e978 Allow resuming from a failure during the "init" phase
This also shifts build failure transitions from individual functions
in utils.py to the init module handler.
2017-11-06 14:15:12 -05:00
mprahl
c7e6fff1d8 Handle module builds without components 2017-10-31 14:47:26 -04:00
Jan Kaluža
a7ab1249da Merge #736 Do not get buildroot_groups everytime we create KojiModuleBuilder. 2017-10-26 19:20:08 +00:00
Jan Kaluza
b56f56a486 Use dogpile.cache to cache the default_buildroot_groups result 2017-10-26 14:03:23 +02:00
Jan Kaluza
8fedf35b6c Log the original exception in consumer before trying to do anything else. Also commit the db.session before doing build.transition 2017-10-26 13:26:43 +02:00
Martin Curlej
60b3d97c97 flake8 cleanup
Signed-off-by: Martin Curlej <mcurlej@redhat.com>

removed some noqa tags
2017-10-25 12:13:59 +02:00
mprahl
a9bf4e9727 Add a sleep in the init handler to protect against a race condition 2017-10-16 14:45:04 -04:00
mprahl
6e8d103a0c Remove unneeded build transition 2017-10-16 14:45:04 -04:00