Page MenuHomePhabricator

RunCommandMonitoringProtocol throws an exception if runcommand.arguments is not specified
Closed, ResolvedPublic

Description

Setting up a runcommand monitor fails if runcommand.arguments is not specified in RunCommand's configuration:

Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 588, in _runCallbacks
Oct 12 13:13:41 lvs1003 pybal[28500]: current.result = callback(current.result, *args, **kw)
Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/pybal/coordinator.py", line 163, in _ready
Oct 12 13:13:41 lvs1003 pybal[28500]: self.createMonitoringInstances(coordinator)
Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/pybal/coordinator.py", line 212, in createMonitoringInstances
Oct 12 13:13:41 lvs1003 pybal[28500]: monitor = monitorclass(coordinator, self, lvsservice.configuration)
Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/pybal/monitors/runcommand.py", line 120, in __init__
Oct 12 13:13:41 lvs1003 pybal[28500]: self.arguments = self._getConfigStringList('arguments', locals=locals)
Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/pybal/monitor.py", line 129, in _getConfigStringList
Oct 12 13:13:41 lvs1003 pybal[28500]: val = eval(self.configuration[key], locals, globals)
Oct 12 13:13:41 lvs1003 pybal[28500]: exceptions.KeyError: 'runcommand.arguments'
Oct 12 13:13:41 lvs1003 pybal[28500]: Unhandled error in Deferred:
Oct 12 13:13:41 lvs1003 pybal[28500]: Traceback (most recent call last):
Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 588, in _runCallbacks
Oct 12 13:13:41 lvs1003 pybal[28500]: current.result = callback(current.result, *args, **kw)
Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 859, in _cbDeferred
Oct 12 13:13:41 lvs1003 pybal[28500]: self.callback(self.resultList)
Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 393, in callback
Oct 12 13:13:41 lvs1003 pybal[28500]: self._startRunCallbacks(result)
Oct 12 13:13:41 lvs1003 pybal[28500]: File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 501, in _startRunCallbacks
Oct 12 13:13:41 lvs1003 pybal[28500]: self._runCallbacks()

If runcommand.arguments is not specified, PyBal should default to [""] instead.

Event Timeline

ema triaged this task as Medium priority.Oct 13 2017, 9:58 AM

Change 383997 had a related patch set uploaded (by Filippo Giunchedi; owner: Filippo Giunchedi):
[operations/puppet@production] hieradata: force present and empty runcommand.arguments

https://gerrit.wikimedia.org/r/383997

Change 384000 had a related patch set uploaded (by Ema; owner: Ema):
[operations/debs/pybal@master] runcommand: do not crash on empty runcommand.arguments

https://gerrit.wikimedia.org/r/384000

Change 383997 merged by Filippo Giunchedi:
[operations/puppet@production] hieradata: force present and empty runcommand.arguments

https://gerrit.wikimedia.org/r/383997

Change 384000 merged by Ema:
[operations/debs/pybal@master] runcommand: do not crash on empty runcommand.arguments

https://gerrit.wikimedia.org/r/384000

Change 384480 had a related patch set uploaded (by Ema; owner: Ema):
[operations/debs/pybal@1.14] runcommand: do not crash on empty runcommand.arguments

https://gerrit.wikimedia.org/r/384480

Change 384480 merged by Ema:
[operations/debs/pybal@1.14] runcommand: do not crash on empty runcommand.arguments

https://gerrit.wikimedia.org/r/384480

Change 384483 had a related patch set uploaded (by Ema; owner: Ema):
[operations/debs/pybal@master] 1.14.2: do not crash on empty runcommand.arguments

https://gerrit.wikimedia.org/r/384483

Change 384483 merged by Ema:
[operations/debs/pybal@master] 1.14.2: do not crash on empty runcommand.arguments

https://gerrit.wikimedia.org/r/384483

Change 384484 had a related patch set uploaded (by Ema; owner: Ema):
[operations/debs/pybal@1.14] 1.14.2: do not crash on empty runcommand.arguments

https://gerrit.wikimedia.org/r/384484

Change 384484 merged by Ema:
[operations/debs/pybal@1.14] 1.14.2: do not crash on empty runcommand.arguments

https://gerrit.wikimedia.org/r/384484

Mentioned in SAL (#wikimedia-operations) [2017-10-16T09:44:49Z] <ema> upgrading ulsfo LVSs to pybal 1.14.2 (T178149, T177815)

Mentioned in SAL (#wikimedia-operations) [2017-10-16T09:54:33Z] <ema> upgrading esams LVSs to pybal 1.14.2 (T178149, T177815)

Mentioned in SAL (#wikimedia-operations) [2017-10-16T10:03:13Z] <ema> upgrading codfw LVSs to pybal 1.14.2 (T178149, T177815)

Mentioned in SAL (#wikimedia-operations) [2017-10-16T12:38:38Z] <ema> upgrading eqiad LVSs to pybal 1.14.2 (T178149, T177815)

ema claimed this task.

PyBal upgraded to 1.14.2 on all LVS hosts.