]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
cephadm: use CephadmContext rather than MagicMock
authorMichael Fritch <mfritch@suse.com>
Fri, 9 Jul 2021 01:28:39 +0000 (19:28 -0600)
committerMichael Fritch <mfritch@suse.com>
Fri, 9 Jul 2021 19:09:18 +0000 (13:09 -0600)
commit25d62794fc3cfb6496da12a265c97871a470fa4f
tree6a2e168f088fd7db50c9fef2a0c978180dba2a20
parent4dae3915a842281f93486b612f645eb2eb604385
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>
src/cephadm/tests/test_cephadm.py