Jan Kaluza
da95c94528
Support resolving MMDs without any buildrequire.
2018-04-03 09:58:57 -04:00
Jan Kaluza
6fc8c646de
Add 'mbs-manager import_module'.
2018-04-03 09:58:57 -04:00
Jan Kaluza
1d46b332b3
Requires version 1.0 of Modulemd
2018-04-03 09:58:57 -04:00
Jan Kaluza
e5e9a24fce
Allow adding bool to XMD. Fix flake8 issues.
2018-04-03 09:58:57 -04:00
Jan Kaluza
2482e47c07
Fix issues from review. Drop xmd['mbs']['requires']. Do not allow building MSE builds against non-MSE builds.
2018-04-03 09:58:57 -04: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
Igor Gnatenko
85af781920
mmd_resolver: add support for streams exclusion
...
Also fix support for dependencies with empty streams list.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
ebd6dba78f
mmd_resolver: allow configuring output of solve() by policy
...
Also make results more determenistic.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
52e73b64c2
mmd_resolver: store alternatives per source package
...
Input:
* (c0) gtk: [1] + foo: [1]
* (c1) gtk: [1] + foo: [1, 2]
Before:
* c0 + gtk:1 + foo:1
* c1 + gtk:1 + foo:2
After:
* c0 + gtk:1 + foo:1
* c1 + gtk:1 + foo:1
* c1 + gtk:1 + foo:2
Acked-by: Jan Kaluža <jkaluza@redhat.com >
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
e3490d129a
mmd_resolver: generate combinations only for top-level dependencies
...
Reported-by: Petr Šabata <contyk@redhat.com >
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
mprahl
eb0b2e1c38
Add the database resolver plugin
2018-04-03 09:58:57 -04:00
mprahl
d338a390b9
Set local builds to the ready state on import
2018-04-03 09:58:57 -04:00
Igor Gnatenko
9d3bcf4a06
mmd_resolver: replace asserts with meaningful exceptions
...
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
7cbd0a0301
mmd_resolver: rework solvables generation
...
Now we have good separation between runtime and buildtime dependencies:
If mmd has context, it is built artefact which supposed to have only one
dependency entry, we create solvable with real arch for it. Otherwise we
create multiple solvables with "src" arch.
In "src" solvables, "context" is a number which represents index in
dependencies array.
Stream is not included anymore in "evr" because it's incomparable.
Version is not included anymore in "name" because it's there just for
comparison, nothing more (it's not different module-stream).
As a side, add_requires/add_conflicts/add_provides were replaced with
non-deprecated add_deparray method.
With all this, we are ready to handle MMDs which have multiple elements
in dependencies (modulemd v2).
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
060275f094
mmd_resolver: remove useless provides from modules
...
That would be never used and is totally useless.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
652c445b2c
mmd_resolver: simplify conflict rule
...
Conflicting with module(foo) is more than enough to make sure that we
will have only one copy of solvables providing it.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
9ce5dffb14
mmd_resolver: rewrite function for finding alternatives
...
Previous version was assuming that number of alternatives is static
which is wrong, they can be appearing depending on solvables.
Also it was checking even impossible combinations (due to using
itertools.product).
Now we check only real possibilities.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
4ff944477d
mmd_resolver: set 'src' arch for build repo solvables
...
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Jan Kaluža
e7587cb77b
add MMDResolver to find possible combinations between modules
...
Using libsolv for solving part and libmodulemd for getting the data.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Jan Kaluza
253d29bcef
Rewrite ModuleBuild methods to get all streams and all builds using the latest version, not build id.
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
Jan Kaluza
e22cbbab31
Add get_modules_build_required_by_module_recursively to get the input for libsolv solver.
2018-04-03 09:58:57 -04:00
Jan Kaluza
1bbe8d69f1
Add ModuleBuild methods for getting list of streams, last build in a name:stream and all builds in name:stream:version.
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
Nils Philippsen
329a7acd76
Add GLib.Variant helpers
2018-04-03 09:58:57 -04:00
mprahl
2ace817afd
Remove duplicate _get_module call
2018-04-03 09:58:57 -04:00
Yash Nanavati
ed25afd9ec
Code changes for Python 3 support
2018-03-04 03:22:38 -05:00
Matt Prahl
680da620d7
Merge #870 Minor changes towards Python 3 Compatability
2018-02-28 14:08:53 +00:00
Yash Nanavati
1d3fd2af64
Minor changes towards Python 3 Compatability
2018-02-28 09:01:51 -05: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
Matt Prahl
e1ed09d0a2
Merge #860 Decrease time.sleep times in tests to save 60 seconds for test-suite run.
2018-02-08 15:40:45 +00: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
Jan Kaluza
4001d3c488
Use in-memory SQLite database in tests to make them 40% faster.
2018-02-08 08:01:24 +01:00
mprahl
e77ce2c5b1
Fix flake8 errors
2018-02-07 15:01:49 -05:00
Matt Prahl
a5c174d9d3
Merge #858 Make components reuse faster by getting the 'previous_module_build', 'mmd' and 'old_mmd' from DB just once.
2018-02-07 19:56:29 +00:00
Jan Kaluza
f32367cee9
Make components reuse faster by getting the 'previous_module_build', 'mmd' and 'old_mmd' from DB just once.
2018-02-07 20:50:49 +01:00
Matt Prahl
bb865758cb
Merge #857 Don't fail a module build when there are no buildrequires
2018-02-07 11:59:09 +00:00
mprahl
d06bd3a49e
Don't fail a module build when there are no buildrequires
2018-02-06 11:09:31 -05: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
f16bf5f5a5
Add a SQLAlchemy hook to modify "time_modified" on module build entries
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
b7998d4402
Remove the need for nose and solely rely on pytest
2018-02-05 22:11:31 -05:00
mprahl
0f13164ac8
Use a set instead of a list when making sure the buildrequires match on a modulemd
2018-02-05 22:11:31 -05:00
mprahl
fa0020d164
Properly get the module name when a YAML file is submitted
2018-02-02 11:02:45 -05:00
mprahl
4fcb432a33
Fix PDCClient calls to unreleasedvariants
2018-02-02 11:02:45 -05:00
mprahl
8afa30a324
Make the import to PDCClient consistent for easier mocking
2018-02-02 11:02:45 -05:00
Matt Prahl
fb8e9cf02c
Merge #851 Set the owner on Koji CG builds
2018-01-31 00:28:18 +00:00
Matt Prahl
83978c66df
Merge #849 Use external repos tied to the Koji tags on local builds
2018-01-31 00:27:12 +00:00