Hi,
I have setup a koji server and client builder successfully and can submit koji client commands and issue build tasks successfully. When an SRPM build task is taken by my builder server (same server as koji-hub/web) the mock buildroot gets setup ok and yum installed the correct build group binary packages etc within the buildroot. Then as mock goes to build the source RPM it fails as the location of the source RPM is the /mnt/work/cli-build..... NFS folder, but that NFS folder is not mounted to/available within the buildroot.
How do I make my source rpm available to the mock buildroot environment without using NFS or is my setup wrong ?
Thanks, C.
My koji build task was submitted as follows: [kojiadmin@nse-build ~]$ koji build newbay-nse /usr/src/redhat/SRPMS/zookeeper-3.2.2-1.src.rpm
Mock output:
INFO: mock.py version 1.0.7 starting... State Changed: init plugins State Changed: start State Changed: lock buildroot State Changed: clean State Changed: init State Changed: lock buildroot Mock Version: 1.0.7 INFO: Mock Version: 1.0.7 State Changed: running yum INFO: mock.py version 1.0.7 starting... State Changed: init plugins State Changed: start INFO: Start(/mnt/koji/work/cli-build/1298901262.7331891.WlovUVjV/zookeeper-3.2.2-1.src.rpm) Config(nse-build-41-31) State Changed: init State Changed: lock buildroot Mock Version: 1.0.7 INFO: Mock Version: 1.0.7 State Changed: running yum State Changed: setup ERROR: Exception(/mnt/koji/work/cli-build/1298901262.7331891.WlovUVjV/zookeeper-3.2.2-1.src.rpm) Config(nse-build-41-31) 0 minutes 0 seconds INFO: Results and/or logs in: /var/lib/mock/newbay-nse-build-41-31/result Traceback (most recent call last): File "/usr/sbin/mock", line 693, in ? main(retParams) File "/usr/sbin/mock", line 635, in main do_rebuild(config_opts, chroot, args) File "<peak.util.decorators.rewrap wrapping __main__.do_rebuild at 0x1BC285F0>", line 3, in do_rebuild File "/usr/lib/python2.4/site-packages/mock/trace_decorator.py", line 70, in trace result = func(*args, **kw) File "/usr/sbin/mock", line 372, in do_rebuild chroot.build(srpm, timeout=config_opts['rpmbuild_timeout']) File "<peak.util.decorators.rewrap wrapping mock.backend.build at 0x1BBE6B90>", line 3, in build File "/usr/lib/python2.4/site-packages/mock/trace_decorator.py", line 70, in trace result = func(*args, **kw) File "/usr/lib/python2.4/site-packages/mock/backend.py", line 439, in build gid=self.chrootgid, File "/usr/lib/python2.4/site-packages/mock/backend.py", line 366, in doChroot shell=shell, *args, **kargs ) File "<peak.util.decorators.rewrap wrapping mock.util.do at 0x1BBEC500>", line 3, in do File "/usr/lib/python2.4/site-packages/mock/trace_decorator.py", line 70, in trace result = func(*args, **kw) File "/usr/lib/python2.4/site-packages/mock/util.py", line 299, 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 996, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
________________________________ STRICTLY PRIVATE, CONFIDENTIAL AND PRIVILEGED COMMUNICATION.
This message (including attachments) may contain information that is privileged, confidential or protected from disclosure. They are intended solely for the use of the intended recipient. If you are not the intended recipient, you are hereby notified that dissemination, disclosure, copying, distribution, printing, transmission or use of this message or any information contained in it is strictly prohibited. If you have received this message from NewBay Software in error, please immediately notify the sender by reply email and delete this message from your computer. The content of this e-mail, and any files transmitted with it, may have been changed or altered without the consent of the author. Although we have taken steps to ensure that this email and attachments are free from any virus, we advise that in keeping with good computing practice the recipient should ensure they are actually virus free.
On Mon, Feb 28, 2011 at 07:15:54AM -0800, Ciaran Bryan wrote:
Hi,
I have setup a koji server and client builder successfully and can submit koji client commands and issue build tasks successfully. When an SRPM build task is taken by my builder server (same server as koji-hub/web) the mock buildroot gets setup ok and yum installed the correct build group binary packages etc within the buildroot. Then as mock goes to build the source RPM it fails as the location of the source RPM is the /mnt/work/cli-build..... NFS folder, but that NFS folder is not mounted to/available within the buildroot.
How do I make my source rpm available to the mock buildroot environment without using NFS or is my setup wrong ?
You can use "topurl" instead of "topdir" to have all accesses done via http and no NFS mounts necessary. That should be done in /etc/koji.conf and /etc/kojid/kojid.conf.
I use "topdir=http://koji.example.com/remote-koji" and then the following as http configuration: Alias /remote-koji "/mnt/koji" Alias /packages "/mnt/koji/packages" Alias /repos "/mnt/koji/repos" <Directory "/mnt/koji/"> Options Indexes SymLinksIfOwnerMatch AllowOverride None Order allow,deny Allow from all SetHandler None IndexOptions NameWidth=* +SuppressDescription +SuppressIcon </Directory>
regards,
Florian La Roche
Hi,
Thanks for the prompt reply.
I have made the suggested changes and still have a problem with file access, the temp src rpm file is created inside the cli-build work folder and I am able to wget it from the topurl location but get an IO error from kojid
Any ideas ? Does the topurl configuration setting need to be escaped in some way ?
Thanks in advance, C.
Output of Koji Build - client side 147 build (newbay-nse, zookeeper-3.2.2-1.src.rpm): free -> FAILED: Fault: <Fault 1: 'Traceback (most recent call last):\n File "/usr/lib/python2.4/site-packages/koji/daemon.py", line 1114, in runTask\n response = (handler.run(),)\n File "/usr/lib/python2.4/site-packages/koji/tasks.py", line 146, in run\n return self.handler(*self.params,**self.opts)\n File "/usr/sbin/kojid", line 731, in handler\n h = self.readSRPMHeader(srpm)\n File "/usr/sbin/kojid", line 802, in readSRPMHeader\n fo = koji.openRemoteFile(relpath, **opts)\n File "/usr/lib/python2.4/site-packages/koji/__init__.py", line 1376, in openRemoteFile\n fo = open(fn)\nIOError: [Errno 2] No such file or directory: 'http://nse-build.nse.newbay.com/remote-koji/work/cli-build/1298912291.224306... 0 free 0 open 0 done 1 failed
From Kojid.log 2011-02-28 17:03:20,203 [WARNING] koji.TaskManager: TRACEBACK: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/koji/daemon.py", line 1114, in runTask response = (handler.run(),) File "/usr/lib/python2.4/site-packages/koji/tasks.py", line 146, in run return self.handler(*self.params,**self.opts) File "/usr/sbin/kojid", line 731, in handler h = self.readSRPMHeader(srpm) File "/usr/sbin/kojid", line 802, in readSRPMHeader fo = koji.openRemoteFile(relpath, **opts) File "/usr/lib/python2.4/site-packages/koji/__init__.py", line 1376, in openRemoteFile fo = open(fn) IOError: [Errno 2] No such file or directory: 'http://nse-build.nse.newbay.com/remote-koji/work/cli-build/1298912571.03174....'
-----Original Message----- From: buildsys-bounces@lists.fedoraproject.org [mailto:buildsys-bounces@lists.fedoraproject.org] On Behalf Of Florian La Roche Sent: 28 February 2011 15:42 To: Discussion of Fedora build system Subject: Re: Koji 1.6 - Mock SRPM Build failing - NFS Path - no such file or directory
On Mon, Feb 28, 2011 at 07:15:54AM -0800, Ciaran Bryan wrote:
Hi,
I have setup a koji server and client builder successfully and can submit koji client commands and issue build tasks successfully. When an SRPM build task is taken by my builder server (same server as koji-hub/web) the mock buildroot gets setup ok and yum installed the correct build group binary packages etc within the buildroot. Then as mock goes to build the source RPM it fails as the location of the source RPM is the /mnt/work/cli-build..... NFS folder, but that NFS folder is not mounted to/available within the buildroot.
How do I make my source rpm available to the mock buildroot environment without using NFS or is my setup wrong ?
You can use "topurl" instead of "topdir" to have all accesses done via http and no NFS mounts necessary. That should be done in /etc/koji.conf and /etc/kojid/kojid.conf.
I use "topdir=http://koji.example.com/remote-koji" and then the following as http configuration: Alias /remote-koji "/mnt/koji" Alias /packages "/mnt/koji/packages" Alias /repos "/mnt/koji/repos" <Directory "/mnt/koji/"> Options Indexes SymLinksIfOwnerMatch AllowOverride None Order allow,deny Allow from all SetHandler None IndexOptions NameWidth=* +SuppressDescription +SuppressIcon </Directory>
regards,
Florian La Roche
-- buildsys mailing list buildsys@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/buildsys
STRICTLY PRIVATE, CONFIDENTIAL AND PRIVILEGED COMMUNICATION.
This message (including attachments) may contain information that is privileged, confidential or protected from disclosure. They are intended solely for the use of the intended recipient. If you are not the intended recipient, you are hereby notified that dissemination, disclosure, copying, distribution, printing, transmission or use of this message or any information contained in it is strictly prohibited. If you have received this message from NewBay Software in error, please immediately notify the sender by reply email and delete this message from your computer. The content of this e-mail, and any files transmitted with it, may have been changed or altered without the consent of the author. Although we have taken steps to ensure that this email and attachments are free from any virus, we advise that in keeping with good computing practice the recipient should ensure they are actually virus free.
buildsys@lists.fedoraproject.org