Commit Graph

37 Commits

Author SHA1 Message Date
mprahl
9d40718895 Allow module components to use a git ref outside of the master branch 2018-09-06 15:04:24 -04:00
Ralph Bean
e7089d7be0 Rename this to be PDC-agnostic. 2018-09-04 09:51:56 -04:00
Ralph Bean
0aff640ef3 Optionally, block building modules with EOL streams.
Requested by @mboddu in:

- https://pagure.io/fm-orchestrator/issue/960
- https://pagure.io/modularity/issue/102
2018-08-31 15:23:04 -04:00
Jan Kaluza
dad03d3742 Copy the buildrequires which are not in requires list to expanded MMD. 2018-08-28 15:15:58 +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
Ralph Bean
84762891f7 Close threadpools after use. 2018-08-15 12:47:18 -04:00
Ralph Bean
4279e947be Allow overriding the name and stream from scm repos.
If configured on the server side, disabled by default.
2018-08-13 14:08:36 -04:00
mprahl
d54422adeb Don't filter RPMs of reused components from a module that depends on itself
If a module has filters set and it buildrequires itself, issues occur
during component reuse. In that event, the filtered RPMs from the
previous module build will not be available in the buildroot because the NVRs
in the filters will match the RPMs from the reused component.

Co-authored-by: Jan Kaluza <jkaluza@redhat.com>
2018-08-13 11:13:40 -04:00
mprahl
f422b82ce7 Make _get_reusable_module a public method so it can be used elsewhere 2018-08-09 19:25:35 -04:00
mprahl
5197eb4912 Revert "Use the libmodulemd API properly when setting values on existing objects"
This reverts commit 8173040ea6. Since it didn't
provide any real benefit after talking with sgallagh, it seems like we'd better
off not introduce more risk to the next deployment.
2018-08-07 12:03:44 -04:00
mprahl
411e459008 Use the actual name from the NVR instead of component.package when reusing components
The name from the NVR and the name from the component may be different based on
the macros being used as part of the build. SCLs are a great example of this.
2018-08-07 10:34:09 -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
mprahl
8173040ea6 Use the libmodulemd API properly when setting values on existing objects
MBS has been using the libmodulemd API incorrectly by assuming that
methods like `get_rpm_components` return the actual object in memory
and not a copy. This has been true but wasn't something sgallagh
intended. We found this out after he had me test his new version of
libmodulemd. This PR removes those assumptions.
2018-07-17 09:00:42 -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
Martin Curlej
0aa9f014ce Added search for modules by binary rpm.
Signed-off-by: Martin Curlej <mcurlej@redhat.com>

Updated PR according to review.

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

Searching by multiple koji tags + tests

Signed-off-by: Martin Curlej <mcurlej@redhat.com>
2018-06-26 15:52:37 +02:00
Mikolaj Izdebski
31d92b1484 Fix MSE for self-buildrequiring modules
We can't rely on matching name-stream to distinguish which module is
currently being built as modules can buildrequire older versions of
the same module-stream.

Fixes #954
2018-06-18 14:25:44 +02:00
Matt Prahl
764c467c1d Merge #950 New: Support querying of modules/components with multiple state value filtering 2018-06-15 00:36:33 +00:00
Filip Valder
f1fc7ed467 New: Support querying of modules/components with multiple state value filtering 2018-06-13 09:42:38 +02:00
Martin Curlej
e2e804b1d6 Added the ability to search mbs builds by the whole NSVC string.
Signed-off-by: Martin Curlej <mcurlej@redhat.com>

Found about the magical properties of zip.

Signed-off-by: Martin Curlej <mcurlej@redhat.com>
2018-06-13 09:30:52 +02:00
Owen W. Taylor
19bf94f0ea Load 'context' for local builds
'context' needed to be stored into the in-memory database and then
propagated for builds added to a MockModuleBuild with --add-local-build.
2018-05-30 15:47:14 -04:00
Ralph Bean
95eead27f3 Merge #934 Log this exception. 2018-05-08 19:55:02 +00:00
Ralph Bean
12fcd91bcd Log this exception.
If libmodulemd returns some garbage, it will be nice to know what it is.
2018-05-08 15:49:51 -04:00
Matt Prahl
3a4fd53e7a Merge #930 Fallback to the old Koji tag format for the target name when the tag name is too long 2018-05-08 19:48:56 +00:00
Ralph Bean
5a8764e8d9 py3: The dict-value objects returned by .values() doesn't support addition. 2018-05-08 14:18:00 -04:00
mprahl
15a7e322a6 Fallback to the old Koji tag format for the target when the tag name is too long 2018-05-08 09:11:22 -04:00
Qixiang Wan
d83e6897ca Change ModuleBuild.context to db column
1. Changed ModuleBuild's context property to db column, it's
non-nullable and default value is '00000000' to keep it consistent
with previous behaviour.

2. Changed ModuleBuild.contexts_from_mmd to return a tuple of
(ref_build_context, build_context, runtime_context, context).

3. Updated tests affected by this change.
2018-04-28 11:46:31 +08: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
Matt Prahl
8351713828 Merge #922 Generate 'context' from hash based on buildrequires/requires stream. Reuse components only from module with the same stream_build_context. 2018-04-24 22:50:02 +00:00
Jan Kaluza
8d1d439737 Generate 'context' from hash based on buildrequires/requires stream. Reuse components only from module with the same stream_build_context. 2018-04-24 15:45:26 +02:00
Jan Kaluza
836fb9db10 Keep the 'module_name:[]' in requires unexpanded in generate_expanded_mmds. 2018-04-06 10:48:59 +02:00
mprahl
c2824138d3 Fix a bug in MSE when a module requires a module that isn't also a buildrequire 2018-04-05 10:58:29 -04:00
Jan Kaluža
4b9a5fb551 Merge #904 Rename a variable for clarity in load_local_builds 2018-04-05 12:13:38 +00:00
Jan Kaluza
65513afd1a Share the same in the dist tag between all MSE builds. 2018-04-05 10:42:56 +02:00
mprahl
d4d9360662 Rename a variable for clarity in load_local_builds 2018-04-04 11:12:08 -04:00
mprahl
19db295795 Fix flake8 errors 2018-04-03 09:58:57 -04:00
Jan Kaluza
9b6fd2ba39 Split utils.py to multiple files based on the methods use-case. 2018-04-03 09:58:57 -04:00