mirror of
https://github.com/ceph/ceph
synced 2025-01-01 08:32:24 +00:00
cephadm: ceph-volume
should raise fsid mismatch
raise an fsid mismatch error when passed differing fsids via `--fsid` and `--config`: ``` self = <tests.test_cephadm.TestCephVolume object at 0x7f1c711961f0>, cephadm_fs = <pyfakefs.fake_filesystem.FakeFilesystem object at 0x7f1c713addc0> def test_fsid(self, cephadm_fs): cv_cmd = ['--', 'inventory', '--format', 'json'] fsid = '00000000-0000-0000-0000-0000deadbeef' cmd = ['ceph-volume', '--fsid', fsid] + cv_cmd with with_cephadm_ctx(cmd) as ctx: cd.command_ceph_volume(ctx) assert ctx.fsid == fsid s = get_ceph_conf(fsid=fsid) f = cephadm_fs.create_file('ceph.conf', contents=s) cmd = ['ceph-volume', '--fsid', fsid, '--config', f.path] + cv_cmd with with_cephadm_ctx(cmd) as ctx: cd.command_ceph_volume(ctx) assert ctx.fsid == fsid cmd = ['ceph-volume', '--fsid', '10000000-0000-0000-0000-0000deadbeef', '--config', f.path] + cv_cmd with with_cephadm_ctx(cmd) as ctx: err = 'fsid does not match ceph.conf' with pytest.raises(cd.Error, match=err): cd.command_ceph_volume(ctx) > assert ctx.fsid == None E AssertionError: assert '10000000-0000-0000-0000-0000deadbeef' == None E + where '10000000-0000-0000-0000-0000deadbeef' = <cephadm.CephadmContext object at 0x7f1c7121c1c0>.fsid ``` Signed-off-by: Michael Fritch <mfritch@suse.com>
This commit is contained in:
parent
2d2bb9f96d
commit
d9198d8668
@ -4625,6 +4625,11 @@ def command_enter(ctx):
|
||||
@infer_image
|
||||
def command_ceph_volume(ctx):
|
||||
# type: (CephadmContext) -> None
|
||||
cp = read_config(ctx.config)
|
||||
if cp.has_option('global', 'fsid') and \
|
||||
cp.get('global', 'fsid') != ctx.fsid:
|
||||
raise Error('fsid does not match ceph.conf')
|
||||
|
||||
if ctx.fsid:
|
||||
make_log_dir(ctx, ctx.fsid)
|
||||
|
||||
|
@ -1545,6 +1545,13 @@ class TestCephVolume(object):
|
||||
cd.command_ceph_volume(ctx)
|
||||
assert ctx.fsid == fsid
|
||||
|
||||
cmd = self._get_cmd('--fsid', '10000000-0000-0000-0000-0000deadbeef', '--config', f.path)
|
||||
with with_cephadm_ctx(cmd) as ctx:
|
||||
err = 'fsid does not match ceph.conf'
|
||||
with pytest.raises(cd.Error, match=err):
|
||||
cd.command_ceph_volume(ctx)
|
||||
assert ctx.fsid == None
|
||||
|
||||
def test_config(self, cephadm_fs):
|
||||
cmd = self._get_cmd('--config', 'foo')
|
||||
with with_cephadm_ctx(cmd) as ctx:
|
||||
|
Loading…
Reference in New Issue
Block a user