]>
git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
cephadm: use CephadmContext rather than MagicMock
MagicMock hides attribute errors:
```
ctx = <cephadm.CephadmContext object at 0x7f0a12f58eb0>, container_id = 'container_id', daemon_type = 'node-exporter'
@staticmethod
def get_version(ctx, container_id, daemon_type):
# type: (CephadmContext, str, str) -> str
"""
:param: daemon_type Either "prometheus", "alertmanager" or "node-exporter"
"""
assert daemon_type in ('prometheus', 'alertmanager', 'node-exporter')
cmd = daemon_type.replace('-', '_')
code = -1
err = ''
version = ''
if daemon_type == 'alertmanager':
for cmd in ['alertmanager', 'prometheus-alertmanager']:
_, err, code = call(ctx, [
ctx.container_engine.path, 'exec', container_id, cmd,
'--version'
], verbosity=CallVerbosity.DEBUG)
if code == 0:
break
cmd = 'alertmanager' # reset cmd for version extraction
else:
_, err, code = call(ctx, [
> ctx.container_engine.path, 'exec', container_id, cmd, '--version'
], verbosity=CallVerbosity.DEBUG)
E AttributeError: 'NoneType' object has no attribute 'path'
```
Signed-off-by: Michael Fritch <mfritch@suse.com>