]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: provide admin friendly reshard status output 29285/head
authorMark Kogan <mkogan@redhat.com>
Sun, 12 May 2019 13:45:30 +0000 (09:45 -0400)
committerNathan Cutler <ncutler@suse.com>
Wed, 24 Jul 2019 16:48:17 +0000 (18:48 +0200)
Signed-off-by: Mark Kogan <mkogan@redhat.com>
(cherry picked from commit ba4167c2f30fbb868482d48aaada6388f58de920)

doc/radosgw/dynamicresharding.rst
src/cls/rgw/cls_rgw_types.cc
src/cls/rgw/cls_rgw_types.h
src/rgw/rgw_reshard.cc

index db5bc7121741d46212695e6954cc2b113172f196..6cad736e7f00cee4b9d575999d8bd431e870a78e 100644 (file)
@@ -92,7 +92,7 @@ For example, the output at different Dynamic Resharding stages is shown below:
 
   [
     {
-        "reshard_status": "CLS_RGW_RESHARD_NONE",
+        "reshard_status": "not-resharding",
         "new_bucket_instance_id": "",
         "num_shards": -1
     }
@@ -103,12 +103,12 @@ For example, the output at different Dynamic Resharding stages is shown below:
 
   [
     {
-        "reshard_status": "CLS_RGW_RESHARD_IN_PROGRESS",
+        "reshard_status": "in-progress",
         "new_bucket_instance_id": "1179f470-2ebf-4630-8ec3-c9922da887fd.8652.1",
         "num_shards": 2
     },
     {
-        "reshard_status": "CLS_RGW_RESHARD_IN_PROGRESS",
+        "reshard_status": "in-progress",
         "new_bucket_instance_id": "1179f470-2ebf-4630-8ec3-c9922da887fd.8652.1",
         "num_shards": 2
     }
@@ -119,12 +119,12 @@ For example, the output at different Dynamic Resharding stages is shown below:
 
   [
     {
-        "reshard_status": "CLS_RGW_RESHARD_NONE",
+        "reshard_status": "not-resharding",
         "new_bucket_instance_id": "",
         "num_shards": -1
     },
     {
-        "reshard_status": "CLS_RGW_RESHARD_NONE",
+        "reshard_status": "not-resharding",
         "new_bucket_instance_id": "",
         "num_shards": -1
     }
index c948632bc31ef96e10e6c87c9d7844076c9d118e..f64a624ce2824f938eb9e588b53fb14d90e945d7 100644 (file)
@@ -668,21 +668,7 @@ void cls_rgw_reshard_entry::generate_test_instances(list<cls_rgw_reshard_entry*>
 
 void cls_rgw_bucket_instance_entry::dump(Formatter *f) const
 {
-  string status_str;
-  switch(reshard_status) {
-    case CLS_RGW_RESHARD_NONE:
-      status_str= "none";
-      break;
-    case CLS_RGW_RESHARD_IN_PROGRESS:
-      status_str = "in-progress";
-      break;
-    case CLS_RGW_RESHARD_DONE:
-      status_str = "done";
-      break;
-    default:
-      status_str = "invalid";
-  }
-  encode_json("reshard_status", status_str, f);
+  encode_json("reshard_status", to_string(reshard_status), f);
   encode_json("new_bucket_instance_id", new_bucket_instance_id, f);
   encode_json("num_shards", num_shards, f);
 
index c50df73b7d0a1705930a09c659e00108aa9e398c..74292482f12ac7e292f78a82ddd22a770e19c1fd 100644 (file)
@@ -610,22 +610,22 @@ struct rgw_bucket_category_stats {
 WRITE_CLASS_ENCODER(rgw_bucket_category_stats)
 
 enum cls_rgw_reshard_status {
-  CLS_RGW_RESHARD_NONE        = 0,
-  CLS_RGW_RESHARD_IN_PROGRESS = 1,
-  CLS_RGW_RESHARD_DONE        = 2,
+  CLS_RGW_RESHARD_NOT_RESHARDING  = 0,
+  CLS_RGW_RESHARD_IN_PROGRESS     = 1,
+  CLS_RGW_RESHARD_DONE            = 2,
 };
 
 static inline std::string to_string(const enum cls_rgw_reshard_status status)
 {
   switch (status) {
-  case CLS_RGW_RESHARD_NONE:
-    return "CLS_RGW_RESHARD_NONE";
+  case CLS_RGW_RESHARD_NOT_RESHARDING:
+    return "not-resharding";
     break;
   case CLS_RGW_RESHARD_IN_PROGRESS:
-    return "CLS_RGW_RESHARD_IN_PROGRESS";
+    return "in-progress";
     break;
   case CLS_RGW_RESHARD_DONE:
-    return "CLS_RGW_RESHARD_DONE";
+    return "done";
     break;
   default:
     break;
@@ -634,7 +634,7 @@ static inline std::string to_string(const enum cls_rgw_reshard_status status)
 }
 
 struct cls_rgw_bucket_instance_entry {
-  cls_rgw_reshard_status reshard_status{CLS_RGW_RESHARD_NONE};
+  cls_rgw_reshard_status reshard_status{CLS_RGW_RESHARD_NOT_RESHARDING};
   string new_bucket_instance_id;
   int32_t num_shards{-1};
 
@@ -660,7 +660,7 @@ struct cls_rgw_bucket_instance_entry {
   static void generate_test_instances(list<cls_rgw_bucket_instance_entry*>& o);
 
   void clear() {
-    reshard_status = CLS_RGW_RESHARD_NONE;
+    reshard_status = CLS_RGW_RESHARD_NOT_RESHARDING;
     new_bucket_instance_id.clear();
   }
 
@@ -671,7 +671,7 @@ struct cls_rgw_bucket_instance_entry {
   }
 
   bool resharding() const {
-    return reshard_status != CLS_RGW_RESHARD_NONE;
+    return reshard_status != CLS_RGW_RESHARD_NOT_RESHARDING;
   }
   bool resharding_in_progress() const {
     return reshard_status == CLS_RGW_RESHARD_IN_PROGRESS;
index 4d73b18414c866b51c02e01ab435ac57421430d9..c01e391bf8554548e792e99df7643068837b22f1 100644 (file)
@@ -270,7 +270,7 @@ int RGWBucketReshard::clear_index_shard_reshard_status(RGWRados* store,
     int ret = set_resharding_status(store, bucket_info,
                                    bucket_info.bucket.bucket_id,
                                    (num_shards < 1 ? 1 : num_shards),
-                                   CLS_RGW_RESHARD_NONE);
+                                   CLS_RGW_RESHARD_NOT_RESHARDING);
     if (ret < 0) {
       ldout(store->ctx(), 0) << "RGWBucketReshard::" << __func__ <<
        " ERROR: error clearing reshard status from index shard " <<
@@ -374,7 +374,7 @@ public:
          " clear_index_shard_status returned " << ret << dendl;
       }
       bucket_info.new_bucket_instance_id.clear();
-      set_status(CLS_RGW_RESHARD_NONE); // clears new_bucket_instance as well
+      set_status(CLS_RGW_RESHARD_NOT_RESHARDING); // clears new_bucket_instance as well
     }
   }