Commit Graph

632 Commits

Author SHA1 Message Date
Jan Kaluža
bb5dd5f75c Merge #227 Fix #105 - Add new cancel API call which can be used to cancel the module build. 2016-11-30 15:56:34 +00:00
Jan Kaluza
1e4e1be91e Fix #105 - Add new cancel API call which can be used to cancel the module build. 2016-11-30 12:20:50 +01:00
Jan Kaluza
f7350a395f Allow file:// URLs when building modules locally 2016-11-30 10:33:20 +01:00
Ralph Bean
27484f2c32 Merge #225 Fix #223, #224 - Use generated Mock config, define local RPM repository there and make it available in Mock chroot after batch is built. 2016-11-28 16:39:21 +00:00
Ralph Bean
20cf4a9ea8 Merge #218 Try to build testmodule.yaml as unit-test with fake builder backend. 2016-11-28 16:35:10 +00:00
Jan Kaluza
dd3eb61b53 Fix #223, #224 - Use generated Mock config, define local RPM repository there and make it available in Mock chroot after batch is built. 2016-11-25 12:15:32 +01:00
Jan Kaluza
77366b94ce Try to build testmodule.yaml as unit-test with fake builder backend. 2016-11-24 14:01:28 +01:00
Jan Kaluza
4f6d683645 Fix #173 - Handle includedmodules by building their components recursively. 2016-11-23 06:38:16 +01:00
Jan Kaluza
c719e1d0c1 Fix the buildroot_connect calls in repos and models and set 'system' to 'mock' when invoked from manage.py using build_module_locally 2016-11-22 10:54:38 +01:00
Filip Valder
88e6ddf953 configuration logic goes to config.py 2016-11-21 22:54:18 +01:00
Filip Valder
3a64a8cf66 reflect new configuration loading 2016-11-21 22:54:18 +01:00
Filip Valder
6d9446de8d docs update 2016-11-21 22:54:18 +01:00
Filip Valder
f8496379eb cosmetic changes 2016-11-21 22:54:18 +01:00
Filip Valder
febb8de4f6 tests and test.test_models module initialization updated 2016-11-21 22:53:32 +01:00
Filip Valder
f2cd0a3033 runtime config files moved to conf/ directory 2016-11-21 22:49:57 +01:00
Ralph Bean
83db7d07bf Whitespace. 2016-11-21 15:36:34 -05:00
Ralph Bean
2357691c03 Add a test for resolve_profiles. 2016-11-21 13:50:55 -05:00
Ralph Bean
439721da99 Gather build groups from module profiles.
Fixes #181.

When initializing the buildroot for a module build, we used to set up
some build 'groups' for the tag: `build` and `srpm-build`.  These are
the lists of RPMs that koji is supposed to install into the buildroot
before anything else is done.  Crucial stuff goes here, like `git` in
the `srpm-build` group so that koji can clone the repo in the first
place.

We had those lists hardcoded before.  This list changes that to use the
`buildroot` and `srpm-buildroot` profiles of the modules which are our
dependencies (recursively).

This will allow people like @psabata and the base-runtime to make
changes to the build groups for the generational core and work around
their own problems, instead of having to ask us to expand that list.

There were a couple ways to do this:

- I could've cloned the SCM repos for all dependencies and gotten their
  profiles from the modulemd source there.  This seemed flimsy because
  we only want to depend on the profiles of modules that were *really*
  built.
- We could modify PDC to stuff the modulemd contents in there.  We
  already get some dep and tag info from PDC.  My thought here was that
  it would be too heavyweight to store every copy of the modulemd file
  in PDC for every build ever.  We already have it in MBS.
- Lastly, and this is what I did here, I just referred to MBS' own
  database to get the profiles.  This seems to work just fine.

One side-effect is that we need the build profiles from the manually
bootstrapped modules that were put together by hand, and were never
built in the MBS.  In order to work around that, I added an alembic
upgrade script which pre-populates the database with one fake
bootstrapped base-runtime module.  We can expand on that in the future
if we need.
2016-11-21 13:25:52 -05:00
Ralph Bean
e278ffa5a4 build.buildroot_task_id is not a thing.
... and it never was, as far as I can tell from the gitlog.
2016-11-21 13:25:52 -05:00
Ralph Bean
641639b5b2 Remove this dockerfile stuff.
It isn't actually used by Jenkins, and is therefore confusing.

Fixes #182.
2016-11-21 09:44:17 -05:00
Jan Kaluza
528b6ab20a Do not submit failed components for a build 2016-11-21 13:07:18 +01:00
Jan Kaluza
9aca8057a3 Handle the exception in builder.build(...) code and do not mark whole module as failed - mark just the particular component. 2016-11-18 19:09:03 +01:00
Ralph Bean
5e8013f429 A koji configuration for the tests. 2016-11-18 10:22:50 -05:00
Ralph Bean
d83f210297 Get tests of the retry decorator working in the test suite. 2016-11-18 10:19:41 -05:00
Ralph Bean
c65cf0ab7f Merge #207 Fix tests and move duplicate code to separate class. 2016-11-18 14:26:03 +00:00
Jan Kaluza
936c22f33e Fix tests and move duplicate code to separate class. 2016-11-18 15:12:04 +01:00
Filip Valder
8c6a5f4919 Merge #196 Fix #94 - handle IOError 2016-11-18 14:11:20 +00:00
Filip Valder
9b808d4354 test buildroot_read() incl. FakeKojiModuleBuilder and FakeKojiSession 2016-11-18 14:39:27 +01:00
Filip Valder
99c3c1e717 catch on IOError and retry 2016-11-18 14:37:54 +01:00
Jan Kaluža
b2b63e6a1f Merge #204 Resolve component refs on build submission. 2016-11-18 12:25:57 +00:00
Filip Valder
2b9885241a resolved conflicts with #179 2016-11-18 10:33:51 +01:00
Filip Valder
35781690a7 wip: new test for KojiModuleBuilder.buildroot_ready() 2016-11-18 10:24:34 +01:00
Filip Valder
37cde8cf2f Load testing values from config 2016-11-18 10:24:34 +01:00
Filip Valder
eee1283a14 PEP8 2016-11-18 10:24:34 +01:00
Filip Valder
62b4a34ffd Load config 2016-11-18 10:24:34 +01:00
Filip Valder
d8942ba44a Load defaults from config 2016-11-18 10:24:34 +01:00
Filip Valder
951a54576f add: Testing config values for koji 2016-11-18 10:24:34 +01:00
Filip Valder
2a53b74bcf Lint 2016-11-18 10:24:34 +01:00
Filip Valder
2227d88333 Uncomment /etc/module_build_service stuff kor koji.conf 2016-11-18 10:24:34 +01:00
Filip Valder
ca198daebf Default network timeouts 2016-11-18 10:24:34 +01:00
Filip Valder
708b9a52a8 Network timeouts + lint 2016-11-18 10:22:35 +01:00
Filip Valder
225d116d45 lint 2016-11-18 10:22:35 +01:00
Ralph Bean
bf9e854046 Store the reason for failure. 2016-11-17 16:14:22 -05:00
Ralph Bean
411da3def5 Resolve component refs on build submission.
Fixes #203.

The modulemd files we had used to all pin the commit hashes of the
components they were pulling in.  We changed this with modulemd-1.0 and
now modules can define their components in terms of their *stream*
(a.k.a. their dist-git *branch*).  This is awesome, and is a big
stepping stone towards greater things.

The problem is that we used to take that git ref literally from the
modulemd and pass it on to koji.  Now that instead we are passing on a
branch name to koji, it falls down.  Koji requires us to send it an
explicit commit hash.

This change takes that branch name and converts it to an explicit commit
hash when the module is first submitted.

Verified that things are working again:
- http://koji.stg.fedoraproject.org/koji/taskinfo?taskID=90084980
2016-11-17 14:49:48 -05:00
Matt Prahl
7857f3a373 Remove krb5-stg.fp.o 2016-11-16 16:26:59 -05:00
Matt Prahl
03df8d5865 Move docs to docs folder 2016-11-16 16:16:43 -05:00
Matt Prahl
e470f79ffb Remove information on manual kerberos configuration 2016-11-16 16:15:56 -05:00
Matt Prahl
efd5d203b3 Merge #184 Add Build Rate Limiting 2016-11-16 20:51:07 +00:00
Ralph Bean
a45eba41e8 Merge #194 Allow configurable mock resultsdir and backup logs after each component build 2016-11-16 20:47:18 +00:00
Matt Prahl
244b77f54c Add component build throttling 2016-11-16 15:24:17 -05:00