On Tue, Nov 04, 2014 at 10:03:10AM -0700, Tim Flink wrote:
Long story short: bodhi has been having intermittent network issues
for
a while now and those network issues tend to kill taskotron tasks. We
implemented some retries in order to mitigate the effects of those
network issues but I botched one of the last builds and it didn't
actually get deployed before freeze.
The new build has been running in stg and dev for almost 2 weeks now
without issue. I'd like to update the production taskotron clients with
this latest build since we've seen 30+ bodhi related failures already
today.
I've attached the diff at the end of this email, there are several
unrelated fixes here but I don't want to make a new build with the
cherry picked fix extracted because the fix was committed a while ago
and freeze ends tomorrow. If it causes problems, we can downgrade to
the existing build or fix it when freeze ends tomorrow.
Tim
diff --git a/libtaskotron/__init__.py b/libtaskotron/__init__.py
index 66923e1..2eed326 100644
--- a/libtaskotron/__init__.py
+++ b/libtaskotron/__init__.py
@@ -4,4 +4,4 @@
# See the LICENSE file for more details on Licensing
from __future__ import absolute_import
-__version__ = '0.3.7'
+__version__ = '0.3.10'
diff --git a/libtaskotron/arch_utils.py b/libtaskotron/arch_utils.py
new file mode 100644
index 0000000..a62171d
--- /dev/null
+++ b/libtaskotron/arch_utils.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+# Copyright 2009-2014, Red Hat, Inc.
+# License: GPL-2.0+ <
http://spdx.org/licenses/GPL-2.0+>
+# See the LICENSE file for more details on Licensing
+
+import os
+
+class Arches():
+ '''
+ Helper class for working with supported arches inside taskotron
+ '''
+
+ #: all supported architectures
+ all = ['i386', 'i486', 'i586', 'i686',
+ 'x86_64',
+ 'armhfp', 'arm7hl',
+ 'noarch', 'src']
+
+ #: base architectures
+ base = ['i386', 'x86_64', 'armhfp']
+
+ #: meta architectures
+ meta = ['noarch', 'src']
+
+def basearch(arch=None):
+ '''
+ This returns the 'base' architecture identifier for a specified
architecture
+ (e.g. ``i386`` for ``i[3-6]86``), to be used by YUM etc.
+
+ :param str arch: an architecture to be converted to a basearch. If ``None``,
+ then the arch of the current machine is used.
+ :return: basearch, or ``arch`` if no basearch was found for it
+ :rtype: str
+ '''
+ if arch is None:
+ arch = os.uname()[4]
+ if arch in ['i386', 'i486', 'i586', 'i686']:
+ arch = 'i386'
+ if arch in ['armhfp', 'arm7hl']:
+ arch = 'armhfp'
+ return arch
Not at all related to the freeze-break, but have you consider putting the info
used by basearch/Arches() into the config file?
It would allow adding a new arch w/o making a new release.
return (build2update, failures)
diff --git a/libtaskotron/config_defaults.py b/libtaskotron/config_defaults.py
index fc05abd..fb77a7c 100644
--- a/libtaskotron/config_defaults.py
+++ b/libtaskotron/config_defaults.py
@@ -46,13 +46,13 @@ class Config(object):
koji_url = 'http://koji.fedoraproject.org/kojihub' #:
pkg_url = 'http://kojipkgs.fedoraproject.org/packages' #:
bodhi_server = 'https://admin.fedoraproject.org/updates/' #:
- resultsdb_server = \
- 'http://resultsdb.qa.fedoraproject.org/resultsdb/api/v1.0/' #:
- taskotron_master = 'http://taskotron.qa.fedoraproject.org/taskmaster/' #:
+ resultsdb_server = 'http://127.0.0.1/resultsdb/api/v1.0/' #:
+ taskotron_master = 'http://127.0.0.1/taskmaster/' #:
buildbot_task_step = 'runtask' #:
Was this meant?
Assuming the answer to the question just above is: yes, then I am +1 as well :)
Pierre