]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
cephadm: use CephadmContext rather than MagicMock
authorMichael Fritch <mfritch@suse.com>
Fri, 9 Jul 2021 01:28:39 +0000 (19:28 -0600)
committerSebastian Wagner <sewagner@redhat.com>
Tue, 10 Aug 2021 14:32:00 +0000 (16:32 +0200)
commit8800e077e35f5edd4ce7aa6eff9be0c930fe555e
treede6176fa85ddd74ba4c7353083784bfb4bd088dc
parent4cd541499ded4677cd4a279d9beef9fd440a1e78
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>
(cherry picked from commit 25d62794fc3cfb6496da12a265c97871a470fa4f)

Conflicts:
src/cephadm/tests/test_cephadm.py
src/cephadm/tests/test_cephadm.py