#599 [modularity]: buildorder not respected
Closed 4 years ago by frostyx. Opened 5 years ago by cipherboy.

I triggered a module build as follows:

$ copr-cli build-module --url https://src.fedoraproject.org/modules/pki/raw/10.6/f/pki.yaml  testing-pki-module
Created module pki-master-20190319195820

Per libmodulemd/spec.v2.yaml, these packages should be built in the following groups:

  1. JSS
  2. TomcatJSS, LDAP SDK
  3. PKI-Core, Dogtag PKI

This is how it builds e.g., in Koji.

That execution triggered this copr bulid.

This largely failed because it didn't respect the build order:

  • JSS built successfully since it is a first-level package.
  • Ldap SDK built successfully because it doesn't have a dependency on the JSS version built in the module.
  • TomcatJSS passed on F30 since it was started after JSS F30 passed, but failed otherwise -- because it was missing the JSS version from the first step -- (DEBUG util.py:554: BUILDSTDERR: No matching package to install: 'jss >= 4.5.3' -- but that's provided by the JSS built in this module.)
  • Similar for dogtag-pki / pki-core since they depend both on JSS and TomcatJSS from this module build.

A retried build causes all packages to succeed: https://copr.fedorainfracloud.org/coprs/cipherboy/testing-pki-module/module/235783

In short, I believe buildorder isn't respected in a COPR Module build.


Metadata Update from @frostyx:
- Issue assigned to frostyx
- Issue tagged with: bug

5 years ago

Metadata Update from @frostyx:
- Issue tagged with: modularity

5 years ago

Thank you very much for the comprehensive bug report @cipherboy, it is very helpful.

I am going to specify the issue here. Copr actually parses and determines the buildorder groups from the module yaml correctly. I wanted to be absolutely sure about this, so I've created a unit test for this specific module. You can see it in PR#609.

The actual problem is, that Copr currently has no mechanism, that would say "this batch of builds needs to wait and start after this batch finishes". I thought, that we had something like that working in the past, but I was mistaken. I am going to implement it to solve this issue, it should be fairly simple.

Cool, thanks again for looking into these issues. :) The PR looks good.

Just for the record, there happened some commits in the pki module repo and now it has much more components. To reproduce the original issue, use

copr-cli build-module --url https://src.fedoraproject.org/modules/pki/raw/5481137b5f5490825ff9eeb55ca0277e65914394/f/pki.yaml testing-pki-module

instead of the original

copr-cli build-module --url https://src.fedoraproject.org/modules/pki/raw/10.6/f/pki.yaml  testing-pki-module

PR#613 finally merged, I am closing the issue.
We are currently working on a release, so it should be in production soon.

Metadata Update from @frostyx:
- Issue status updated to: Closed (was: Open)

4 years ago

Login to comment on this ticket.

Metadata