#7757 Update builders to have mock 1.4.15+
Closed: Fixed a year ago by kevin. Opened a year ago by ignatenkobrain.

This is needed in order to use DynamicBuildRequires which is already approved by FESCo.

I will create ticket to change configuration to actually allow to use them once we will have new RPM in Rawhide.

This is somewhat blocked by our armv7 builders being still fedora-27, but I will try and come up with something there.

Metadata Update from @kevin:
- Issue assigned to kevin
- Issue priority set to: Waiting on Assignee (was: Needs Review)

a year ago

@kevin any updates here? In theory, RPM 4.15 will be in rawhide by the end of next week.

At which point we will also need to set mock option dynamic_buildrequries=True

I'm trying to find a stable armv7 combo of userspace and kernel thats new enough to have the new mock.

Once we have that we can move all the builders to it... I'll let you know when I find it.

All builders except ppc64 are running on Fedora 29 now.
I didn't update mock yet because I think that first it would be good to disable ppc64 in EPEL 6/7 and then disable ppc64 builders.

Metadata Update from @mizdebsk:
- Issue tagged with: koji

a year ago

This is already done. I disabled ppc64 on epel6/7 targets when f28 went EOL, and I disabled those builders a few days ago so they should not be active for any jobs.

We can delete them anytime I think.

mock and koji and oz and imagefactory and createrepo_c can all be updated when we like...

This is now done. (except armv7 builders are still updating, but I need to head to bed... they should be done in a bit and I will check them in the morning.)

Metadata Update from @kevin:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

a year ago

I've set mock.dynamic_buildrequires=1 in f31-rpm tag, but mock config generated by Koji doesn't have it. Do we need to restart builders / hub or anything like that?

Yeah, I didn't do so last night as the armv7 builders were still updating.

so, I then did so, but we need koji-containerbuild* to be made python3 now. ;(

I downgraded the x86_64 buildhw/buildvm's for now so everything back working, and once we have python3 koji-containerbuild we can update again...

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

a year ago

@cverna is going to work on a new containerbuild package today...

ok. Got containerbuild and urlgrabber moved to python3.

All builders are updated. Please try it again...

Dynamic BuildRequires still somehow don't work.. Do you know how to debug this?

If I run mock --rebuild --enablerepo=local /path/to/srpm locally it works fine, however in koji it does not. It seems mock is new, but something does not work.

I can try and debug when I get home (after tomorrow).

Two quick thoughts: Does it work in stg? and does it perhaps need to have that setting on the build tag? f31-build?

@kevin Never tested it in stg. Well, mock's behavior is if it finds dynamic BuildRequires, and the option is not set, then it should just stop build and complain. However, it just continues build which means it does not detect dynamic BuildRequires. See https://github.com/rpm-software-management/mock/blob/mock-1.4.16-1/mock/py/mockbuild/backend.py#L275-L281

I checked src.rpm it produces and it does contain that...

I am not 100% sure if this is related but this change might have broken the container base image builds (https://koji.fedoraproject.org/koji/taskinfo?taskID=35517242).

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/koji/daemon.py", line 1295, in runTask
    response = (handler.run(),)
  File "/usr/lib/python3.7/site-packages/koji/tasks.py", line 311, in run
    return koji.util.call_with_argcheck(self.handler, self.params, self.opts)
  File "/usr/lib/python3.7/site-packages/koji/util.py", line 263, in call_with_argcheck
    return func(*args, **kwargs)
  File "/usr/sbin/kojid", line 4172, in handler
    images = self.do_images(ks, template, inst_tree)
  File "/usr/sbin/kojid", line 3807, in do_images
    self.base_img = self._buildBase(template, params)
  File "/usr/sbin/kojid", line 3915, in _buildBase
  File "/usr/sbin/kojid", line 3863, in _checkImageState
    image.os_plugin.abort() # forcibly tear down the VM
AttributeError: 'NoneType' object has no attribute 'abort'

I can try to spend a little bit more time later today investigating this.

I'll get to this soon, hoopefully later today. I have some more burning fires to do right now... but it's on the list!

ok, the patched mock is in place. There may be some insatiability as I am working on fixing some other things on koji, but you should be able to test...

This is complete as far as I can tell. Let us know if there's anything further to do.


Metadata Update from @kevin:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

a year ago

Login to comment on this ticket.