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
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
9b6fd2ba39
Split utils.py to multiple files based on the methods use-case.
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
e5e9a24fce
Allow adding bool to XMD. Fix flake8 issues.
2018-04-03 09:58:57 -04:00
mprahl
eb0b2e1c38
Add the database resolver plugin
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
f5530d9b16
Fix flake8 errors made by jkaluza
2018-02-09 09:12:00 -05:00
Jan Kaluza
6a5d7267fd
Save another 20s in tests.
2018-02-09 11:46:12 +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
e91d09f7ca
Change the format of the unit tests to pytest
2018-01-31 16:34:21 -05:00
Filip Valder
5b4a8f6240
New: Resolver API for pluggable resolvers
2018-01-29 15:54:19 +01:00
Ralph Bean
01c8295269
Add an incrementing prefix to the dist_hash.
...
For #823 .
2018-01-17 16:54:02 -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
6925187f9f
Improve the stale builds poller handler test
2017-12-11 13:27:30 -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
Ralph Bean
318117c0c5
Make our builders into setuptools plugins.
2017-11-13 11:16:13 -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
mprahl
b0eada3e33
Fix KojiContentGenerator from a bug in PR 771
2017-11-10 08:33:53 -05:00
mprahl
a8421568f9
Fix Flake8 errors
2017-11-08 08:45:58 -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
45cce653eb
Add the ability to specify different rebuild methods
2017-11-01 15:39:43 -04: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
f5de140521
Schedule components based on build time
2017-10-23 15:33:57 -04:00
mprahl
8e41f9f335
Try to reuse all components in the batch before starting it
2017-10-23 15:33:57 -04:00
Igor Gnatenko
1e6708b34f
MockedSCM -> FakeSCM
...
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org >
2017-10-18 17:37:13 +02:00
mprahl
62d438651a
Fix tests
2017-10-16 15:09:42 -04:00
Ralph Bean
6150000d1e
Scan for modules stuck in the wait state.
...
And fake a message to get them building again.
But only if they look to have been stuck for more than 10 minutes.
2017-09-29 14:13:58 -04:00
Jan Kaluza
ad6874b0e6
Fix #670 - Tag Content Generator Koji build to special tag based on the base module stream
2017-09-25 08:36:29 +02:00
Ralph Bean
5e08d2ffe4
Introduce pluggable backends.
...
This allows an operator to write a custom messaging backend to handle
whatever transport and format.
2017-09-19 13:13:40 -04:00
Mike Bonnet
2a3aea9c97
add tests for MBSConsumer
2017-09-19 13:12:45 -04:00
Jan Kaluza
999baa2992
Wait for components to be tagged also in final tag before marking module as done.
2017-09-15 15:25:29 +02:00
Filip Valder
3cb41aa5dc
Changes in MBS restful API:
...
- Refactor MBS API code
- Unify module-/component_build API philosophy/design/approach
- Naming fixes
- _utc_datetime_to_iso moved from ModuleBuildAPI and is now a module-level function.
- Existing v1 API remains unchanged. ComponentBuildAPI now supports individual component build listing + verbose mode.
- documented in README
- various component_build API tests added
2017-09-11 14:48:22 +02:00
Jan Kaluza
dfdd924bbf
Always regen repository when starting module build to not wait on kojira.
2017-08-18 09:39:07 +02:00
Jan Kaluza
4bbb0cc416
Create module-build-macros component just once - do not duplicate it for each resubmition of a module.
2017-08-08 06:52:28 +02:00
Filip Valder
7ef2975984
PEP8 fixes
2017-07-17 18:29:10 +02:00
Jan Kaluza
1621c1e4fd
Create app_context before database session.
2017-07-11 09:41:55 +02:00
Stanislav Ochotnicky
40074b088e
Fix test for logging change
...
Change of configuration to enable logging by default caused the test to
fail because mocked object had no id. This change fixes the test and
sets up cleanup for logs
2017-07-04 08:51:53 +02:00
Jan Kaluza
f27b0ddb81
Regenerate the repo when module-build-macros is reused to ensure it is in the buildroot.
2017-05-24 14:26:08 +02:00
Jan Kaluza
22758419c0
Delete build target after config.koji_target_delete_time seconds.
2017-05-11 14:43:05 +02:00
Jan Kaluža
85554e519a
Merge #520 Do not build module-build-macros when all the components will be reused from previous module build.
2017-05-02 10:12:50 +00:00
Jan Kaluza
024877592c
Do not build module-build-macros when all the components will be reused from previous module build.
2017-05-02 12:09:23 +02:00
Nils Philippsen
ec2be36d6e
pep8: don't surround '=' with spaces for keyword args
2017-04-21 12:54:06 +02:00