From d7fb94c6cfacd47ed3cded5f52d10c54accfb8fb Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 22 Jun 2017 13:46:25 -0400 Subject: [PATCH] osdmaptool: do not create default pool without --with-default-pool Signed-off-by: Sage Weil --- src/test/cli/osdmaptool/clobber.t | 10 ++++----- src/test/cli/osdmaptool/create-print.t | 10 ++++----- src/test/cli/osdmaptool/create-racks.t | 10 ++++----- src/test/cli/osdmaptool/crush.t | 2 +- src/test/cli/osdmaptool/help.t | 1 + src/test/cli/osdmaptool/missing-argument.t | 1 + src/test/cli/osdmaptool/pool.t | 16 +++++++-------- src/test/cli/osdmaptool/test-map-pgs.t | 6 +++--- src/test/cli/osdmaptool/tree.t | 2 +- src/test/cli/osdmaptool/upmap.t | 24 +++++++++++----------- src/tools/osdmaptool.cc | 15 +++++++++++--- 11 files changed, 54 insertions(+), 43 deletions(-) diff --git a/src/test/cli/osdmaptool/clobber.t b/src/test/cli/osdmaptool/clobber.t index 8795b3a0783..ccb1207a7c7 100644 --- a/src/test/cli/osdmaptool/clobber.t +++ b/src/test/cli/osdmaptool/clobber.t @@ -1,11 +1,11 @@ - $ osdmaptool --createsimple 3 myosdmap + $ osdmaptool --createsimple 3 myosdmap --with-default-pool osdmaptool: osdmap file 'myosdmap' osdmaptool: writing epoch 1 to myosdmap $ ORIG_FSID="$(osdmaptool --print myosdmap|grep ^fsid)" osdmaptool: osdmap file 'myosdmap' - $ osdmaptool --createsimple 3 myosdmap + $ osdmaptool --createsimple 3 myosdmap --with-default-pool osdmaptool: osdmap file 'myosdmap' osdmaptool: myosdmap exists, --clobber to overwrite [255] @@ -25,7 +25,7 @@ nearfull_ratio 0 min_compat_client jewel - pool 0 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 flags hashpspool stripe_width 0 + pool 1 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 flags hashpspool stripe_width 0 max_osd 3 @@ -34,7 +34,7 @@ osdmaptool: osdmap file 'myosdmap' $ [ "$ORIG_FSID" = "$NEW_FSID" ] - $ osdmaptool --createsimple 1 --clobber myosdmap + $ osdmaptool --createsimple 1 --clobber myosdmap --with-default-pool osdmaptool: osdmap file 'myosdmap' osdmaptool: writing epoch 1 to myosdmap @@ -51,7 +51,7 @@ nearfull_ratio 0 min_compat_client jewel - pool 0 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 0 flags hashpspool stripe_width 0 + pool 1 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 0 flags hashpspool stripe_width 0 max_osd 1 diff --git a/src/test/cli/osdmaptool/create-print.t b/src/test/cli/osdmaptool/create-print.t index 3fc5fe00b2c..e2370d18f87 100644 --- a/src/test/cli/osdmaptool/create-print.t +++ b/src/test/cli/osdmaptool/create-print.t @@ -1,4 +1,4 @@ - $ osdmaptool --createsimple 3 myosdmap + $ osdmaptool --createsimple 3 myosdmap --with-default-pool osdmaptool: osdmap file 'myosdmap' osdmaptool: writing epoch 1 to myosdmap @@ -84,14 +84,14 @@ nearfull_ratio 0 min_compat_client jewel - pool 0 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 flags hashpspool stripe_width 0 + pool 1 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 flags hashpspool stripe_width 0 max_osd 3 - $ osdmaptool --clobber --createsimple 3 myosdmap + $ osdmaptool --clobber --createsimple 3 --with-default-pool myosdmap osdmaptool: osdmap file 'myosdmap' osdmaptool: writing epoch 1 to myosdmap - $ osdmaptool --print myosdmap | grep 'pool 0' + $ osdmaptool --print myosdmap | grep 'pool 1' osdmaptool: osdmap file 'myosdmap' - pool 0 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 flags hashpspool stripe_width 0 + pool 1 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 flags hashpspool stripe_width 0 $ rm -f myosdmap diff --git a/src/test/cli/osdmaptool/create-racks.t b/src/test/cli/osdmaptool/create-racks.t index 567a1680f97..7fdd5cc82ce 100644 --- a/src/test/cli/osdmaptool/create-racks.t +++ b/src/test/cli/osdmaptool/create-racks.t @@ -1,4 +1,4 @@ - $ osdmaptool --create-from-conf om -c $TESTDIR/ceph.conf.withracks + $ osdmaptool --create-from-conf om -c $TESTDIR/ceph.conf.withracks --with-default-pool osdmaptool: osdmap file 'om' osdmaptool: writing epoch 1 to om $ osdmaptool --export-crush oc om @@ -797,15 +797,15 @@ nearfull_ratio 0 min_compat_client jewel - pool 0 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 15296 pgp_num 15296 last_change 0 flags hashpspool stripe_width 0 + pool 1 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 15296 pgp_num 15296 last_change 0 flags hashpspool stripe_width 0 max_osd 239 - $ osdmaptool --clobber --create-from-conf om -c $TESTDIR/ceph.conf.withracks + $ osdmaptool --clobber --create-from-conf --with-default-pool om -c $TESTDIR/ceph.conf.withracks osdmaptool: osdmap file 'om' osdmaptool: writing epoch 1 to om - $ osdmaptool --print om | grep 'pool 0' + $ osdmaptool --print om | grep 'pool 1' osdmaptool: osdmap file 'om' - pool 0 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 15296 pgp_num 15296 last_change 0 flags hashpspool stripe_width 0 + pool 1 'rbd' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 15296 pgp_num 15296 last_change 0 flags hashpspool stripe_width 0 $ rm -f om diff --git a/src/test/cli/osdmaptool/crush.t b/src/test/cli/osdmaptool/crush.t index 8e77c7a9a98..6086fc43e32 100644 --- a/src/test/cli/osdmaptool/crush.t +++ b/src/test/cli/osdmaptool/crush.t @@ -1,4 +1,4 @@ - $ osdmaptool --createsimple 3 myosdmap + $ osdmaptool --createsimple 3 myosdmap --with-default-pool osdmaptool: osdmap file 'myosdmap' osdmaptool: writing epoch 1 to myosdmap $ osdmaptool --export-crush oc myosdmap diff --git a/src/test/cli/osdmaptool/help.t b/src/test/cli/osdmaptool/help.t index c7fff989b83..06e20fcb890 100644 --- a/src/test/cli/osdmaptool/help.t +++ b/src/test/cli/osdmaptool/help.t @@ -7,6 +7,7 @@ --test-map-pgs-dump [--pool ] map all pgs --test-map-pgs-dump-all [--pool ] map all pgs to osds --mark-up-in mark osds up and in (but do not persist) + --with-default-pool include default pool when creating map --clear-temp clear pg_temp and primary_temp --test-random do random placements --test-map-pg map a pgid to osds diff --git a/src/test/cli/osdmaptool/missing-argument.t b/src/test/cli/osdmaptool/missing-argument.t index 9ca73052c78..84f872070aa 100644 --- a/src/test/cli/osdmaptool/missing-argument.t +++ b/src/test/cli/osdmaptool/missing-argument.t @@ -7,6 +7,7 @@ --test-map-pgs-dump [--pool ] map all pgs --test-map-pgs-dump-all [--pool ] map all pgs to osds --mark-up-in mark osds up and in (but do not persist) + --with-default-pool include default pool when creating map --clear-temp clear pg_temp and primary_temp --test-random do random placements --test-map-pg map a pgid to osds diff --git a/src/test/cli/osdmaptool/pool.t b/src/test/cli/osdmaptool/pool.t index fc25856c4ad..4a967843fe6 100644 --- a/src/test/cli/osdmaptool/pool.t +++ b/src/test/cli/osdmaptool/pool.t @@ -1,4 +1,4 @@ - $ osdmaptool --createsimple 3 myosdmap + $ osdmaptool --createsimple 3 myosdmap --with-default-pool osdmaptool: osdmap file 'myosdmap' osdmaptool: writing epoch 1 to myosdmap @@ -19,14 +19,14 @@ There is no pool 123 [1] - $ osdmaptool myosdmap --test-map-object foo --pool 0 + $ osdmaptool myosdmap --test-map-object foo --pool 1 osdmaptool: osdmap file 'myosdmap' - object 'foo' \-\> 0\..* (re) + object 'foo' \-\> 1\..* (re) $ osdmaptool myosdmap --test-map-object foo osdmaptool: osdmap file 'myosdmap' - osdmaptool: assuming pool 0 (use --pool to override) - object 'foo' \-\> 0\..* (re) + osdmaptool: assuming pool 1 (use --pool to override) + object 'foo' \-\> 1\..* (re) # # --test-map-pgs / --pool @@ -45,10 +45,10 @@ There is no pool 123 [1] - $ osdmaptool myosdmap --mark-up-in --test-map-pgs --pool 0 | grep pool + $ osdmaptool myosdmap --mark-up-in --test-map-pgs --pool 1 | grep pool osdmaptool: osdmap file 'myosdmap' - pool 0 pg_num .* (re) + pool 1 pg_num .* (re) $ osdmaptool myosdmap --mark-up-in --test-map-pgs | grep pool osdmaptool: osdmap file 'myosdmap' - pool 0 pg_num .* (re) + pool 1 pg_num .* (re) diff --git a/src/test/cli/osdmaptool/test-map-pgs.t b/src/test/cli/osdmaptool/test-map-pgs.t index 0c474d76b53..d07f7a1b308 100644 --- a/src/test/cli/osdmaptool/test-map-pgs.t +++ b/src/test/cli/osdmaptool/test-map-pgs.t @@ -6,7 +6,7 @@ # create an osdmap with a few hundred devices and a realistic crushmap # $ OSD_MAP="osdmap" - $ osdmaptool --osd_pool_default_size $SIZE --pg_bits $PG_BITS --createsimple $NUM_OSDS "$OSD_MAP" > /dev/null + $ osdmaptool --osd_pool_default_size $SIZE --pg_bits $PG_BITS --createsimple $NUM_OSDS "$OSD_MAP" > /dev/null --with-default-pool osdmaptool: osdmap file 'osdmap' $ CRUSH_MAP="crushmap" $ CEPH_ARGS="--debug-crush 0" crushtool --outfn "$CRUSH_MAP" --build --num_osds $NUM_OSDS node straw 10 rack straw 10 root straw 0 @@ -20,7 +20,7 @@ osdmaptool: osdmap file 'osdmap' $ PG_NUM=$(($NUM_OSDS << $PG_BITS)) $ grep "pg_num $PG_NUM" "$OUT" || cat $OUT - pool 0 pg_num 8000 + pool 1 pg_num 8000 $ TOTAL=$((POOL_COUNT * $PG_NUM)) $ grep -E "size $SIZE[[:space:]]$TOTAL" $OUT || cat $OUT size 3\t8000 (esc) @@ -32,7 +32,7 @@ osdmaptool: osdmap file 'osdmap' $ PG_NUM=$(($NUM_OSDS << $PG_BITS)) $ grep "pg_num $PG_NUM" "$OUT" || cat $OUT - pool 0 pg_num 8000 + pool 1 pg_num 8000 $ TOTAL=$((POOL_COUNT * $PG_NUM)) $ grep -E "size $SIZE[[:space:]]$TOTAL" $OUT || cat $OUT size 3\t8000 (esc) diff --git a/src/test/cli/osdmaptool/tree.t b/src/test/cli/osdmaptool/tree.t index 00eb0bed7b0..f6b5345a978 100644 --- a/src/test/cli/osdmaptool/tree.t +++ b/src/test/cli/osdmaptool/tree.t @@ -1,4 +1,4 @@ - $ osdmaptool --createsimple 3 om + $ osdmaptool --createsimple 3 om --with-default-pool osdmaptool: osdmap file 'om' osdmaptool: writing epoch 1 to om diff --git a/src/test/cli/osdmaptool/upmap.t b/src/test/cli/osdmaptool/upmap.t index 17542046794..6e17b204d2b 100644 --- a/src/test/cli/osdmaptool/upmap.t +++ b/src/test/cli/osdmaptool/upmap.t @@ -1,4 +1,4 @@ - $ osdmaptool --create-from-conf om -c $TESTDIR/ceph.conf.withracks + $ osdmaptool --create-from-conf om -c $TESTDIR/ceph.conf.withracks --with-default-pool osdmaptool: osdmap file 'om' osdmaptool: writing epoch 1 to om $ osdmaptool om --mark-up-in --upmap-max 11 --upmap c @@ -8,15 +8,15 @@ checking for upmap cleanups upmap, max-count 11, max deviation 0.01 $ cat c - ceph osd pg-upmap-items 0.3 54 50 216 212 160 161 - ceph osd pg-upmap-items 0.20 130 128 117 119 54 50 - ceph osd pg-upmap-items 0.89 8 13 54 50 - ceph osd pg-upmap-items 0.8d 219 223 210 209 - ceph osd pg-upmap-items 0.90 163 166 210 209 192 191 - ceph osd pg-upmap-items 0.9e 210 209 27 28 - ceph osd pg-upmap-items 0.12b 54 50 227 225 - ceph osd pg-upmap-items 0.13f 54 50 - ceph osd pg-upmap-items 0.151 36 37 54 50 - ceph osd pg-upmap-items 0.1c0 78 83 43 48 54 50 - ceph osd pg-upmap-items 0.1e3 54 50 197 201 + ceph osd pg-upmap-items 1.7 142 147 + ceph osd pg-upmap-items 1.8 219 223 + ceph osd pg-upmap-items 1.17 171 173 201 202 + ceph osd pg-upmap-items 1.1a 201 202 115 114 + ceph osd pg-upmap-items 1.1c 171 173 201 202 127 130 + ceph osd pg-upmap-items 1.20 88 87 201 202 + ceph osd pg-upmap-items 1.24 32 35 232 233 + ceph osd pg-upmap-items 1.51 201 202 65 64 186 189 + ceph osd pg-upmap-items 1.62 219 223 + ceph osd pg-upmap-items 1.6f 219 223 108 111 + ceph osd pg-upmap-items 1.f8 201 202 $ rm -f om c diff --git a/src/tools/osdmaptool.cc b/src/tools/osdmaptool.cc index c0b82cb5c0f..27a137af9d4 100644 --- a/src/tools/osdmaptool.cc +++ b/src/tools/osdmaptool.cc @@ -33,6 +33,7 @@ void usage() cout << " --test-map-pgs-dump [--pool ] map all pgs" << std::endl; cout << " --test-map-pgs-dump-all [--pool ] map all pgs to osds" << std::endl; cout << " --mark-up-in mark osds up and in (but do not persist)" << std::endl; + cout << " --with-default-pool include default pool when creating map" << std::endl; cout << " --clear-temp clear pg_temp and primary_temp" << std::endl; cout << " --test-random do random placements" << std::endl; cout << " --test-map-pg map a pgid to osds" << std::endl; @@ -100,6 +101,7 @@ int main(int argc, const char **argv) bool tree = false; boost::scoped_ptr tree_formatter; bool createsimple = false; + bool createpool = false; bool create_from_conf = false; int num_osd = 0; int pg_bits = g_conf->osd_pg_bits; @@ -162,6 +164,8 @@ int main(int argc, const char **argv) exit(EXIT_FAILURE); } createsimple = true; + } else if (ceph_argparse_flag(args, i, "--with-default-pool", (char*)NULL)) { + createpool = true; } else if (ceph_argparse_flag(args, i, "--create-from-conf", (char*)NULL)) { create_from_conf = true; } else if (ceph_argparse_flag(args, i, "--mark-up-in", (char*)NULL)) { @@ -290,7 +294,12 @@ int main(int argc, const char **argv) } uuid_d fsid; memset(&fsid, 0, sizeof(uuid_d)); - osdmap.build_simple_with_pool(g_ceph_context, 0, fsid, num_osd, pg_bits, pgp_bits); + if (createpool) { + osdmap.build_simple_with_pool( + g_ceph_context, 0, fsid, num_osd, pg_bits, pgp_bits); + } else { + osdmap.build_simple(g_ceph_context, 0, fsid, num_osd); + } modified = true; } @@ -412,8 +421,8 @@ int main(int argc, const char **argv) if (!test_map_object.empty()) { object_t oid(test_map_object); if (pool == -1) { - cout << me << ": assuming pool 0 (use --pool to override)" << std::endl; - pool = 0; + cout << me << ": assuming pool 1 (use --pool to override)" << std::endl; + pool = 1; } if (!osdmap.have_pg_pool(pool)) { cerr << "There is no pool " << pool << std::endl; -- 2.39.5