]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
test/librados_test_stub: decode "osd blacklist" MON command
authorJason Dillaman <dillaman@redhat.com>
Tue, 14 Jul 2020 23:53:54 +0000 (19:53 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 16 Jul 2020 19:59:31 +0000 (15:59 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/test/librados_test_stub/TestRadosClient.cc

index 0bfe37bd468f046b3c80639fb024532207acff2e..aa002af47666621aaba634e3997b47efdf0dff20 100644 (file)
@@ -9,6 +9,7 @@
 #include "common/Finisher.h"
 #include "common/async/context_pool.h"
 #include <boost/bind.hpp>
+#include <boost/lexical_cast.hpp>
 #include <boost/thread.hpp>
 #include <errno.h>
 
@@ -222,6 +223,18 @@ int TestRadosClient::mon_command(const std::vector<std::string>& cmd,
       str << "]}";
       outbl->append(str.str());
       return 0;
+    } else if ((*j_it)->get_data() == "osd blacklist") {
+      auto op_it = parser.find("blacklistop");
+      if (!op_it.end() && (*op_it)->get_data() == "add") {
+        uint32_t expire = 0;
+        auto expire_it = parser.find("expire");
+        if (!expire_it.end()) {
+          expire = boost::lexical_cast<uint32_t>((*expire_it)->get_data());
+        }
+
+        auto addr_it = parser.find("addr");
+        return blacklist_add((*addr_it)->get_data(), expire);
+      }
     }
   }
   return -ENOSYS;