From: Loic Dachary Date: Wed, 23 Apr 2014 19:55:57 +0000 (+0200) Subject: mon: add ceph osd pool set auid X-Git-Tag: v0.80~16^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F1717%2Fhead;p=ceph.git mon: add ceph osd pool set auid When a pool is created with ceph osd pool create, the auid is not inferred from the session auid and is set to zero. Add the ceph osd pool set auid command to set it after it is created, and the matching get: ceph osd pool get auid Signed-off-by: Loic Dachary --- diff --git a/qa/workunits/cephtool/test.sh b/qa/workunits/cephtool/test.sh index 993798cd45c2..d5e9cef486f6 100755 --- a/qa/workunits/cephtool/test.sh +++ b/qa/workunits/cephtool/test.sh @@ -457,6 +457,12 @@ ceph osd pool set pool_erasure size 4444 2>$TMPFILE check_response 'not change the size' set -e +auid=5555 +ceph osd pool set data auid $auid +ceph osd pool get data auid | grep $auid +ceph --format=xml osd pool get data auid | grep $auid +ceph osd pool set data auid 0 + ceph osd pool set data hashpspool true ceph osd pool set data hashpspool false ceph osd pool set data hashpspool 0 diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index 9fb83e251731..36f1e9fc7c4e 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -552,11 +552,11 @@ COMMAND("osd pool rename " \ "rename to ", "osd", "rw", "cli,rest") COMMAND("osd pool get " \ "name=pool,type=CephPoolname " \ - "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp", \ + "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|auid", \ "get pool parameter ", "osd", "r", "cli,rest") COMMAND("osd pool set " \ "name=pool,type=CephPoolname " \ - "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hashpspool|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|debug_fake_ec_pool|target_max_bytes|target_max_objects|cache_target_dirty_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age " \ + "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hashpspool|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|debug_fake_ec_pool|target_max_bytes|target_max_objects|cache_target_dirty_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|auid " \ "name=val,type=CephString " \ "name=force,type=CephChoices,strings=--yes-i-really-mean-it,req=false", \ "set pool parameter to ", "osd", "rw", "cli,rest") diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index fa3d9cfd5778..78799d00ca6c 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2457,6 +2457,8 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) f->dump_int("pg_num", p->get_pg_num()); } else if (var == "pgp_num") { f->dump_int("pgp_num", p->get_pgp_num()); + } else if (var == "auid") { + f->dump_int("auid", p->get_auid()); } else if (var == "size") { f->dump_int("size", p->get_size()); } else if (var == "min_size") { @@ -2490,6 +2492,8 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) ss << "pg_num: " << p->get_pg_num(); } else if (var == "pgp_num") { ss << "pgp_num: " << p->get_pgp_num(); + } else if (var == "auid") { + ss << "auid: " << p->get_auid(); } else if (var == "size") { ss << "size: " << p->get_size(); } else if (var == "min_size") { @@ -3330,6 +3334,12 @@ int OSDMonitor::prepare_command_pool_set(map &cmdmap, return -EINVAL; } p.min_size = n; + } else if (var == "auid") { + if (interr.length()) { + ss << "error parsing integer value '" << val << "': " << interr; + return -EINVAL; + } + p.auid = n; } else if (var == "crash_replay_interval") { if (interr.length()) { ss << "error parsing integer value '" << val << "': " << interr; diff --git a/src/test/pybind/test_ceph_argparse.py b/src/test/pybind/test_ceph_argparse.py index 3b159eede8e5..e5408ef18966 100755 --- a/src/test/pybind/test_ceph_argparse.py +++ b/src/test/pybind/test_ceph_argparse.py @@ -998,7 +998,7 @@ class TestOSD(TestArgparse): def test_pool_get(self): for var in ('size', 'min_size', 'crash_replay_interval', - 'pg_num', 'pgp_num', 'crush_ruleset'): + 'pg_num', 'pgp_num', 'crush_ruleset', 'auid'): self.assert_valid_command(['osd', 'pool', 'get', 'poolname', var]) assert_equal({}, validate_command(sigdict, ['osd', 'pool'])) assert_equal({}, validate_command(sigdict, ['osd', 'pool', @@ -1015,7 +1015,7 @@ class TestOSD(TestArgparse): def test_pool_set(self): for var in ('size', 'min_size', 'crash_replay_interval', 'pg_num', 'pgp_num', 'crush_ruleset', - 'hashpspool'): + 'hashpspool', 'auid'): self.assert_valid_command(['osd', 'pool', 'set', 'poolname', var, 'value']) assert_equal({}, validate_command(sigdict, ['osd', 'pool',