[koji PATCH] allow setting the timeout for builds from config file

Dan Horák dan at danny.cz
Wed Mar 6 20:38:36 UTC 2013


---
 builder/kojid      |    3 ++-
 builder/kojid.conf |    3 +++
 koji/__init__.py   |    2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/builder/kojid b/builder/kojid
index f906d0b..6c8a847 100755
--- a/builder/kojid
+++ b/builder/kojid
@@ -204,7 +204,7 @@ class BuildRoot(object):
         for k in ('repoid', 'tag_name'):
             if hasattr(self, k):
                 opts[k] = getattr(self, k)
-        for k in ('mockdir', 'topdir', 'topurl', 'topurls', 'packager', 'vendor', 'distribution', 'mockhost', 'yum_proxy'):
+        for k in ('mockdir', 'topdir', 'topurl', 'topurls', 'packager', 'vendor', 'distribution', 'mockhost', 'yum_proxy', 'rpmbuild_timeout'):
             if hasattr(self.options, k):
                 opts[k] = getattr(self.options, k)
         opts['buildroot_id'] = self.id
@@ -3060,6 +3060,7 @@ def get_options():
                 'maven_repo_ignore': '*.md5 *.sha1 maven-metadata*.xml _maven.repositories '
                                      'resolver-status.properties *.lastUpdated',
                 'failed_buildroot_lifetime' : 3600 * 4,
+                'rpmbuild_timeout' : 3600 * 24,
                 'cert': '/etc/kojid/client.crt',
                 'ca': '/etc/kojid/clientca.crt',
                 'serverca': '/etc/kojid/serverca.crt'}
diff --git a/builder/kojid.conf b/builder/kojid.conf
index 1fa9ad4..05fe3b0 100644
--- a/builder/kojid.conf
+++ b/builder/kojid.conf
@@ -32,6 +32,9 @@
 ; The _host string to use in mock
 ; mockhost=koji-linux-gnu
 
+; Timeout for build duration (24 hours)
+; rpmbuild_timeout=86400
+
 ; The URL for the xmlrpc server
 server=http://hub.example.com/kojihub
 
diff --git a/koji/__init__.py b/koji/__init__.py
index f42226b..8ab81a8 100644
--- a/koji/__init__.py
+++ b/koji/__init__.py
@@ -1266,7 +1266,7 @@ def genMockConfig(name, arch, managed=False, repoid=None, tag_name=None, **opts)
         # don't encourage network access from the chroot
         'use_host_resolv': opts.get('use_host_resolv', False),
         # Don't let a build last more than 24 hours
-        'rpmbuild_timeout': 86400
+        'rpmbuild_timeout': opts.get('rpmbuild_timeout', 86400)
     }
 
     # bind_opts are used to mount parts (or all of) /dev if needed.
-- 
1.7.7.6



More information about the buildsys mailing list