T-shooting Tips for a Failing Mock-init (code: QWERTY)
Moray Henderson
Moray.Henderson at ict-software.org
Thu Dec 6 12:04:29 UTC 2012
> From: Tweeks [mailto:tweeks at rackspace.com]
> Sent: 29 November 2012 15:01
>
> I probably banged my head with some of your in the #koji channel a
> couple of weeks ago on this.. but I never got it figured out. My work
> group was trying to set
> up a CI/CD Jenkings test & build server using Jenkins + Koji (all on
> one box) and ran into some probelms. Besides the documentation not
> exactly being well suited
> for SSL auth configs, we found that we could get everything working
> except the actual mock portion. The mock chroot seems to get mostly
> set up (packages installed
> by kojibuilder/kojid), but when the system tried to do the mock-init,
> it fails every time.
>
> We even tried following the #koji guys' suggestions of invoking mock
> manually from the command line like this:
> =============
> # su - kojibuilder
> -bash-3.2$ mock -r koji/dist-c5-build-6-10 --init
> INFO: mock.py version 1.0.28 starting...
> State Changed: init plugins
> INFO: selinux enabled
> WARNING: selinux: 'yum' does not support '--setopt' option
> State Changed: start
> State Changed: lock buildroot
> State Changed: clean
> INFO: chroot (/var/lib/mock/dist-c5-build-6-10) unlocked and deleted
> State Changed: unlock buildroot
> State Changed: init
> State Changed: lock buildroot
> Mock Version: 1.0.28
> INFO: Mock Version: 1.0.28
> INFO: calling preinit hooks
> State Changed: running yum
> State Changed: unlock buildroot
> INFO: Installed packages:
> fd = None <---------
> fd = 8 <-------- I added these to puython for t-shooting...
> fd = 10 <---------
> Traceback (most recent call last):
> File "/usr/sbin/mock", line 866, in ?
> main(retParams)
> File "/usr/sbin/mock", line 738, in main
> chroot.init()
> File "<peak.util.decorators.rewrap wrapping mockbuild.backend.init at
> 0x012C89B0>", line 3, in init
> File "/usr/lib/python2.4/site-packages/mockbuild/trace_decorator.py",
> line 70, in trace
> result = func(*args, **kw)
> File "/usr/lib/python2.4/site-packages/mockbuild/backend.py", line
> 258, in init
> self._show_installed_packages()
> File "/usr/lib/python2.4/site-packages/mockbuild/backend.py", line
> 553, in _show_installed_packages
> gid=self.chrootgid,
> File "/usr/lib/python2.4/site-packages/mockbuild/backend.py", line
> 489, in doChroot
> printOutput=printOutput, *args, **kargs)
> File "<peak.util.decorators.rewrap wrapping mockbuild.util.do at
> 0x0128A758>", line 3, in do
> File "/usr/lib/python2.4/site-packages/mockbuild/trace_decorator.py",
> line 70, in trace
> result = func(*args, **kw)
> File "/usr/lib/python2.4/site-packages/mockbuild/util.py", line 317,
> in do
> preexec_fn = preexec,
> File "/usr/lib64/python2.4/subprocess.py", line 550, in __init__
> errread, errwrite)
> File "/usr/lib64/python2.4/subprocess.py", line 999, in
> _execute_child
> raise child_exception
> OSError: [Errno 2] No such file or directory
> ^^^^^^^^^^^^^^^
>
> Anyone have some good t-shooting tips?
> BTW.. I'm just trying to build a RHEL zsh src RPM here. nothing fancy.
>
> Our system is CentOS 5.8 (a requirement), koji-1.7.
A combination of "INFO: selinux enabled" at the top and "OSError: [Errno 2]"
at the bottom is suspicious. I haven't played with the interaction between
Koji, Mock and SELinux, but does a "setenforce 0" before manually
initializing the mock root make any difference? If so, I guess there's some
extra SELinux policy for koji/mock that isn't in CentOS 5.8. Use "aureport
--avc -ts recent" to see SELinux denials to work out what needs to be added.
Re-enable SELinux after the test.
Moray.
"To err is human; to purr, feline."
More information about the buildsys
mailing list