T-shooting Tips for a Failing Mock-init (code: QWERTY)
by Tweeks
Hey all,
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.
Tweeks
10 years, 5 months
koji-1.7.1
by Mike McLean
Koji 1.7.1 is tagged and posted.
* Mon Nov 19 2012 Mike McLean <mikem at redhat.com> - 1.7.1-1
- improved upload mechanism
- koji-shadow enhancements
- handle multiple topurl values in kojid
- fix form handling
- mount all of /dev for image tasks
- avoid error messages on canceled/reassigned tasks
- handle unauthenticated case in moshimoshi
- fix the tag_updates query in tag_changed_since_event
- stop tracking deleted repos in kojira
- don't die on malformed tasks
- fix bugs in our relpath backport
- avoid baseurl option in createrepo
- message bus plugin: use timeout and heartbeat
- add maven and win to the supported cli search types
- remove latest-by-tag command
- fix noreplace setting for web.conf
- add sanity checks to regen-repo command
- debuginfo and source options for regen-repo command
- make taginfo command compatible with older koji servers
A few entries deserve further explanation:
1) improved upload mechanism
The new upload mechanism avoids the overhead of xmlrpc and base64
encoding. Depending on other factors this can make for a tremendous
speed improvement. It also reduces cpu load on the hub.
The boolean use_fast_upload config option for the cli and kojid controls
whether the new mechanism is used. This defaults to True for kojid
(which is assumed to be talking to a matching kojihub) and False for the
cli (which might be talking to an older hub).
2) handle multiple topurl values in kojid
You can now provide multiple topurl values in kojid.conf, e.g.
topurl=http://hub.example.com/kojifiles http://hub2.example.com/kojifiles
If you do, then kojid will generate multiple baseurls for the mock
config files it generates.
We do not (yet) do anything else with the extra topurl values. For other
places where we use topurl, only the first matters.
10 years, 5 months
[pungi PATCH] Exclude obsoleted packages
by Panu Matilainen
Inspired by recent fedora-devel list discussion, here's a patch to save
some space from images by excluding obsoleted packages. Arguably those
packages should just die and not hang around in the repos, but these
undead packages seem fairly persistent...
This is what I see with F18 install DVD:
Before patch:
-rw-r--r--. 1 root root 4687134720 Nov 12 21:10 Fedora-18-x86_64-DVD.iso
With the patch:
-rw-r--r--. 1 root root 4550819840 Nov 12 21:01 Fedora-18-x86_64-DVD.iso
This is what makes up the difference:
[root@turre tmp]# grep obsoleted pungi-exclude-obsoletes.log
Pungi:INFO: Excluding ql2100-firmware.noarch (obsoleted by
linux-firmware.noarch)
Pungi:INFO: Excluding grub.x86_64 (obsoleted by grub2.x86_64)
Pungi:INFO: Excluding rt61pci-firmware.noarch (obsoleted by
linux-firmware.noarch)
Pungi:INFO: Excluding ql23xx-firmware.noarch (obsoleted by
linux-firmware.noarch)
Pungi:INFO: Excluding ql2200-firmware.noarch (obsoleted by
linux-firmware.noarch)
Pungi:INFO: Excluding rt73usb-firmware.noarch (obsoleted by
linux-firmware.noarch)
Pungi:INFO: Excluding module-init-tools.x86_64 (obsoleted by kmod.x86_64)
Pungi:INFO: Excluding maven-shared-common-artifact-filters.noarch
(obsoleted by maven-common-artifact-filters.noarch)
Pungi:INFO: Excluding jaxen-bootstrap.noarch (obsoleted by jaxen.noarch)
Pungi:INFO: Excluding maven-shared-dependency-tree.noarch (obsoleted by
maven-dependency-tree.noarch)
Pungi:INFO: Excluding dvipng.x86_64 (obsoleted by texlive-dvipng-bin.x86_64)
Pungi:INFO: Excluding xdvik.x86_64 (obsoleted by texlive-xdvi-bin.x86_64)
Pungi:INFO: Excluding dvipdfmx.x86_64 (obsoleted by
texlive-dvipdfmx-bin.x86_64)
Pungi:INFO: Excluding dvipdfm.x86_64 (obsoleted by
texlive-dvipdfm-bin.noarch)
Pungi:INFO: Excluding nfs-utils-lib.x86_64 (obsoleted by libnfsidmap.x86_64)
[root@turre tmp]#
- Panu -
10 years, 6 months
Mash and rpmdb
by Thomas
Hi,
In a dev environement on RHEL 6.3, I am running mash (latest git) every 5
minutes against 20 koji tags.(both 1.6 and 1.7)
I am running sequentially the "mash tag"
After few hours my rpmdb is corrupted and I need to execute db_recover -h
/var/lib/rpm.
It seems "createrepo" (0.9.8-5.el6) doesn't release the locks correctly
everytime. (/usr/lib/rpm/rpmdb_stat -CA)
Does someone already ran into this issue before I investigate more ?
cheers,
--
Thomas
10 years, 6 months
[koji PATCH] lower the priority for koji-shadow submitted builds
by Dan Horák
Lowering the priority for koji-shadow submitted builds means that user submitted
build don't have to wait until koji-shadows queue is empty, also notifications
are sent earlier when the queue is full.
---
util/koji-shadow | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/util/koji-shadow b/util/koji-shadow
index 6d844b3..12b0bc3 100755
--- a/util/koji-shadow
+++ b/util/koji-shadow
@@ -1065,7 +1065,7 @@ class BuildTracker(object):
#TODO ...and verify repo
repo_id, event_id = session.getTaskResult(task_id)
#kick off build
- task_id = session.build(src, None, opts={'repo_id': repo_id} )
+ task_id = session.build(src, None, opts={'repo_id': repo_id}, priority=5 )
return task_id
def report(self):
--
1.7.7.6
10 years, 6 months
[koji PATCH 1/4] don't replace existing build when running with prefer-new
by Dan Horák
Only try to replace a build with newer one when the required one is missing.
It also means the buildroot will be closer to the one in primary.
---
util/koji-shadow | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/util/koji-shadow b/util/koji-shadow
index 6d844b3..89a67d5 100755
--- a/util/koji-shadow
+++ b/util/koji-shadow
@@ -730,7 +730,7 @@ class BuildTracker(object):
if depth > 0:
print "%sDep replaced: %s->%s" % (head, build.nvr, replace)
return build
- if options.prefer_new and not options.build:
+ if options.prefer_new and not (options.build or build.state == "common"):
latestBuild = self.newerBuild(build, tag)
if latestBuild != None:
build.substitute = latestBuild.nvr
--
1.7.7.6
10 years, 6 months