]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
systest: make pool configurable
authorJosh Durgin <josh.durgin@dreamhost.com>
Fri, 29 Jul 2011 22:41:25 +0000 (15:41 -0700)
committerJosh Durgin <josh.durgin@dreamhost.com>
Tue, 2 Aug 2011 21:17:15 +0000 (14:17 -0700)
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
src/test/system/rados_delete_pools_parallel.cc
src/test/system/rados_list_parallel.cc
src/test/system/rados_open_pools_parallel.cc
src/test/system/st_rados_create_pool.cc
src/test/system/st_rados_create_pool.h
src/test/system/st_rados_delete_pool.cc
src/test/system/st_rados_delete_pool.h
src/test/system/st_rados_list_objects.cc
src/test/system/st_rados_list_objects.h

index bfdd7fd2fd24eea3d95db1fa29f5665b4f288fc2..d303e6ba26b6d324a2e3a17eca4fd7ab10095a1b 100644 (file)
@@ -57,6 +57,7 @@ const char *get_id_str()
 int main(int argc, const char **argv)
 {
   const char *num_objects = getenv("NUM_OBJECTS");
+  std::string pool = "foo";
   if (num_objects) {
     g_num_objects = atoi(num_objects); 
     if (g_num_objects == 0)
@@ -70,8 +71,9 @@ int main(int argc, const char **argv)
 
   // first test: create a pool, then delete that pool
   {
-    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, 50, ".obj");
-    StRadosDeletePool r2(argc, argv, pool_setup_sem, NULL, "foo");
+    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL,
+                        pool, 50, ".obj");
+    StRadosDeletePool r2(argc, argv, pool_setup_sem, NULL, pool);
     vector < SysTestRunnable* > vec;
     vec.push_back(&r1);
     vec.push_back(&r2);
@@ -87,10 +89,10 @@ int main(int argc, const char **argv)
   RETURN1_IF_NONZERO(pool_setup_sem->reinit(0));
   RETURN1_IF_NONZERO(delete_pool_sem->reinit(0));
   {
-    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, g_num_objects, ".obj");
-    StRadosDeletePool r2(argc, argv,
-                        pool_setup_sem, delete_pool_sem, "foo");
-    StRadosListObjects r3(argc, argv, true, g_num_objects / 2,
+    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL,
+                        pool, g_num_objects, ".obj");
+    StRadosDeletePool r2(argc, argv, pool_setup_sem, delete_pool_sem, pool);
+    StRadosListObjects r3(argc, argv, pool, true, g_num_objects / 2,
                          pool_setup_sem, delete_pool_sem);
     vector < SysTestRunnable* > vec;
     vec.push_back(&r1);
index 5d4430a52ddce9c1af559b3f1b571bbc97803319..42b104494acfe67115f0e2017727e70baac3fa02 100644 (file)
@@ -43,8 +43,9 @@ static CrossProcessSem *modify_sem = NULL;
 class RadosDeleteObjectsR : public SysTestRunnable
 {
 public:
-  RadosDeleteObjectsR(int argc, const char **argv)
-    : SysTestRunnable(argc, argv)
+  RadosDeleteObjectsR(int argc, const char **argv,
+                     const std::string &pool_name)
+    : SysTestRunnable(argc, argv), m_pool_name(pool_name)
   {
   }
 
@@ -67,8 +68,8 @@ public:
     pool_setup_sem->post();
 
     rados_ioctx_t io_ctx;
-    RETURN1_IF_NOT_VAL(-EEXIST, rados_pool_create(cl, "foo"));
-    RETURN1_IF_NONZERO(rados_ioctx_create(cl, "foo", &io_ctx));
+    RETURN1_IF_NOT_VAL(-EEXIST, rados_pool_create(cl, m_pool_name.c_str()));
+    RETURN1_IF_NONZERO(rados_ioctx_create(cl, m_pool_name.c_str(), &io_ctx));
 
     std::map <int, std::string> to_delete;
     for (int i = 0; i < g_num_objects; ++i) {
@@ -113,13 +114,18 @@ public:
 
     return 0;
   }
+private:
+  std::string m_pool_name;
 };
 
 class RadosAddObjectsR : public SysTestRunnable
 {
 public:
-  RadosAddObjectsR(int argc, const char **argv, const std::string &suffix)
+  RadosAddObjectsR(int argc, const char **argv,
+                  const std::string &pool_name,
+                  const std::string &suffix)
     : SysTestRunnable(argc, argv),
+      m_pool_name(pool_name),
       m_suffix(suffix)
   {
   }
@@ -143,8 +149,8 @@ public:
     pool_setup_sem->post();
 
     rados_ioctx_t io_ctx;
-    RETURN1_IF_NOT_VAL(-EEXIST, rados_pool_create(cl, "foo"));
-    RETURN1_IF_NONZERO(rados_ioctx_create(cl, "foo", &io_ctx));
+    RETURN1_IF_NOT_VAL(-EEXIST, rados_pool_create(cl, m_pool_name.c_str()));
+    RETURN1_IF_NONZERO(rados_ioctx_create(cl, m_pool_name.c_str(), &io_ctx));
 
     std::map <int, std::string> to_add;
     for (int i = 0; i < g_num_objects; ++i) {
@@ -192,6 +198,7 @@ public:
     return 0;
   }
 private:
+  std::string m_pool_name;
   std::string m_suffix;
 };
 
@@ -203,6 +210,7 @@ const char *get_id_str()
 int main(int argc, const char **argv)
 {
   const char *num_objects = getenv("NUM_OBJECTS");
+  std::string pool = "foo";
   if (num_objects) {
     g_num_objects = atoi(num_objects); 
     if (g_num_objects == 0)
@@ -216,8 +224,9 @@ int main(int argc, const char **argv)
 
   // Test 1... list objects
   {
-    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, g_num_objects, ".obj");
-    StRadosListObjects r2(argc, argv, false, g_num_objects,
+    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL,
+                        pool, g_num_objects, ".obj");
+    StRadosListObjects r2(argc, argv, pool, false, g_num_objects,
                          pool_setup_sem, modify_sem);
     vector < SysTestRunnable* > vec;
     vec.push_back(&r1);
@@ -233,10 +242,11 @@ int main(int argc, const char **argv)
   RETURN1_IF_NONZERO(pool_setup_sem->reinit(0));
   RETURN1_IF_NONZERO(modify_sem->reinit(0));
   {
-    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, g_num_objects, ".obj");
-    StRadosListObjects r2(argc, argv, false, g_num_objects / 2,
+    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL,
+                        pool, g_num_objects, ".obj");
+    StRadosListObjects r2(argc, argv, pool, false, g_num_objects / 2,
                          pool_setup_sem, modify_sem);
-    RadosDeleteObjectsR r3(argc, argv);
+    RadosDeleteObjectsR r3(argc, argv, pool);
     vector < SysTestRunnable* > vec;
     vec.push_back(&r1);
     vec.push_back(&r2);
@@ -252,10 +262,11 @@ int main(int argc, const char **argv)
   RETURN1_IF_NONZERO(pool_setup_sem->reinit(0));
   RETURN1_IF_NONZERO(modify_sem->reinit(0));
   {
-    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, g_num_objects, ".obj");
-    StRadosListObjects r2(argc, argv, false, g_num_objects / 2,
+    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL,
+                        pool, g_num_objects, ".obj");
+    StRadosListObjects r2(argc, argv, pool, false, g_num_objects / 2,
                          pool_setup_sem, modify_sem);
-    RadosAddObjectsR r3(argc, argv, ".obj2");
+    RadosAddObjectsR r3(argc, argv, pool, ".obj2");
     vector < SysTestRunnable* > vec;
     vec.push_back(&r1);
     vec.push_back(&r2);
@@ -271,12 +282,13 @@ int main(int argc, const char **argv)
   RETURN1_IF_NONZERO(pool_setup_sem->reinit(0));
   RETURN1_IF_NONZERO(modify_sem->reinit(0));
   {
-    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, g_num_objects, ".obj");
-    StRadosListObjects r2(argc, argv, false, g_num_objects / 2,
+    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL,
+                        pool, g_num_objects, ".obj");
+    StRadosListObjects r2(argc, argv, pool, false, g_num_objects / 2,
                          pool_setup_sem, modify_sem);
-    RadosAddObjectsR r3(argc, argv, ".obj2");
-    RadosAddObjectsR r4(argc, argv, ".obj3");
-    RadosDeleteObjectsR r5(argc, argv);
+    RadosAddObjectsR r3(argc, argv, pool, ".obj2");
+    RadosAddObjectsR r4(argc, argv, pool, ".obj3");
+    RadosDeleteObjectsR r5(argc, argv, pool);
     vector < SysTestRunnable* > vec;
     vec.push_back(&r1);
     vec.push_back(&r2);
@@ -294,11 +306,12 @@ int main(int argc, const char **argv)
   RETURN1_IF_NONZERO(pool_setup_sem->reinit(0));
   RETURN1_IF_NONZERO(modify_sem->reinit(0));
   {
-    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, g_num_objects, ".obj");
-    StRadosListObjects r2(argc, argv, false, g_num_objects / 2,
+    StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL,
+                        pool, g_num_objects, ".obj");
+    StRadosListObjects r2(argc, argv, pool, false, g_num_objects / 2,
                          pool_setup_sem, modify_sem);
     // AddObjects with the same 'suffix' as used in StRadosCreatePool
-    RadosAddObjectsR r3(argc, argv, ".obj");
+    RadosAddObjectsR r3(argc, argv, pool, ".obj");
     vector < SysTestRunnable* > vec;
     vec.push_back(&r1);
     vec.push_back(&r2);
index f465fa1edcc62e5b7682994a3992bfad38d4f446..2221d3f0ade62093d9310a1070e977dfaa760a03 100644 (file)
@@ -100,7 +100,7 @@ int main(int argc, const char **argv)
   // pool in a different process.
   CrossProcessSem *pool_setup_sem = NULL;
   RETURN1_IF_NONZERO(CrossProcessSem::create(0, &pool_setup_sem));
-  StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, 50, ".obj");
+  StRadosCreatePool r1(argc, argv, pool_setup_sem, NULL, "foo", 50, ".obj");
   StRadosOpenPool r2(argc, argv, pool_setup_sem, NULL);
   vector < SysTestRunnable* > vec;
   vec.push_back(&r1);
@@ -117,7 +117,8 @@ int main(int argc, const char **argv)
   RETURN1_IF_NONZERO(CrossProcessSem::create(0, &pool_setup_sem2));
   CrossProcessSem *open_pool_sem2 = NULL;
   RETURN1_IF_NONZERO(CrossProcessSem::create(0, &open_pool_sem2));
-  StRadosCreatePool r3(argc, argv, pool_setup_sem2, open_pool_sem2, 50, ".obj");
+  StRadosCreatePool r3(argc, argv, pool_setup_sem2, open_pool_sem2,
+                                          "foo", 50, ".obj");
   StRadosOpenPool r4(argc, argv, pool_setup_sem2, open_pool_sem2);
   vector < SysTestRunnable* > vec2;
   vec2.push_back(&r3);
index 6b5be3cc0814b966b47899884ba7d272da328d25..5cf45c105879a906738b2b37dcaba601120f44cf 100644 (file)
@@ -40,10 +40,15 @@ get_random_buf(int sz)
 
 StRadosCreatePool::
 StRadosCreatePool(int argc, const char **argv,
-                 CrossProcessSem *pool_setup_sem, CrossProcessSem *close_create_pool,
-                 int num_objects, const std::string &suffix)
+                 CrossProcessSem *pool_setup_sem,
+                 CrossProcessSem *close_create_pool,
+                 const std::string &pool_name,
+                 int num_objects,
+                 const std::string &suffix)
   : SysTestRunnable(argc, argv),
-    m_pool_setup_sem(pool_setup_sem), m_close_create_pool(close_create_pool),
+    m_pool_setup_sem(pool_setup_sem),
+    m_close_create_pool(close_create_pool),
+    m_pool_name(pool_name),
     m_num_objects(num_objects),
     m_suffix(suffix)
 {
@@ -66,14 +71,14 @@ run()
   if (!log_name.empty())
     rados_conf_set(cl, "log_file", log_name.c_str());
   RETURN1_IF_NONZERO(rados_connect(cl));
-  int ret = rados_pool_delete(cl, "foo");
+  int ret = rados_pool_delete(cl, m_pool_name.c_str());
   if (!((ret == 0) || (ret == -ENOENT))) {
     printf("%s: rados_pool_delete error %d\n", get_id_str(), ret);
     return ret;
   }
-  RETURN1_IF_NONZERO(rados_pool_create(cl, "foo"));
+  RETURN1_IF_NONZERO(rados_pool_create(cl, m_pool_name.c_str()));
   rados_ioctx_t io_ctx;
-  RETURN1_IF_NONZERO(rados_ioctx_create(cl, "foo", &io_ctx));
+  RETURN1_IF_NONZERO(rados_ioctx_create(cl, m_pool_name.c_str(), &io_ctx));
 
   for (int i = 0; i < m_num_objects; ++i) {
     char oid[128];
index 6e498edb42de1517113c8dd7d5e3dc67af61e0d4..382f73b9c26b8544a4ce24f4e2aa331bccb569c2 100644 (file)
@@ -30,13 +30,17 @@ class StRadosCreatePool : public SysTestRunnable
 public:
   static std::string get_random_buf(int sz);
   StRadosCreatePool(int argc, const char **argv,
-       CrossProcessSem *pool_setup_sem, CrossProcessSem *close_create_pool_sem,
-       int num_objects, const std::string &suffix);
+                   CrossProcessSem *pool_setup_sem,
+                   CrossProcessSem *close_create_pool_sem,
+                   const std::string &pool_name,
+                   int num_objects,
+                   const std::string &suffix);
   ~StRadosCreatePool();
   virtual int run();
 private:
   CrossProcessSem *m_pool_setup_sem;
   CrossProcessSem *m_close_create_pool;
+  std::string m_pool_name;
   int m_num_objects;
   std::string m_suffix;
 };
index e06bf5a864d45de5d7bcda3fb34533c7cfd8b580..441df29161a4b242de2efd70587e2e268197a1ee 100644 (file)
 
 #include <errno.h>
 
-StRadosDeletePool::
-StRadosDeletePool(int argc, const char **argv,
-                 CrossProcessSem *pool_setup_sem, CrossProcessSem *delete_pool_sem,
-                 const std::string &pool_name)
+StRadosDeletePool::StRadosDeletePool(int argc, const char **argv,
+                                    CrossProcessSem *pool_setup_sem,
+                                    CrossProcessSem *delete_pool_sem,
+                                    const std::string &pool_name)
     : SysTestRunnable(argc, argv),
-      m_pool_setup_sem(pool_setup_sem), m_delete_pool_sem(delete_pool_sem),
+      m_pool_setup_sem(pool_setup_sem),
+      m_delete_pool_sem(delete_pool_sem),
       m_pool_name(pool_name)
 {
 }
 
-StRadosDeletePool::
-~StRadosDeletePool()
+StRadosDeletePool::~StRadosDeletePool()
 {
 }
 
-int StRadosDeletePool::
-run()
+int StRadosDeletePool::run()
 {
   rados_t cl;
   RETURN1_IF_NONZERO(rados_create(&cl, NULL));
index 6380091e7376bd915adc931692a272d6ca888fa5..5aeb9513137b2ec1ec335b3dabb2cae76ad7d43f 100644 (file)
@@ -29,8 +29,9 @@ class StRadosDeletePool : public SysTestRunnable
 {
 public:
   StRadosDeletePool(int argc, const char **argv,
-       CrossProcessSem *pool_setup_sem, CrossProcessSem *delete_pool_sem,
-       const std::string &pool_name);
+                   CrossProcessSem *pool_setup_sem,
+                   CrossProcessSem *delete_pool_sem,
+                   const std::string &pool_name);
   ~StRadosDeletePool();
   virtual int run();
 private:
index 1c124e7167a583c2c83dab37ebd9ad4be918968c..4bca4fe4197643d5f3f60bc07332e9f039591392 100644 (file)
@@ -29,8 +29,11 @@ using std::ostringstream;
 
 StRadosListObjects::
 StRadosListObjects(int argc, const char **argv,
-                  bool accept_list_errors, int midway_cnt,
-       CrossProcessSem *pool_setup_sem, CrossProcessSem *midway_sem)
+                  const std::string &pool_name,
+                  bool accept_list_errors,
+                  int midway_cnt,
+                  CrossProcessSem *pool_setup_sem,
+                  CrossProcessSem *midway_sem)
   : SysTestRunnable(argc, argv),
     m_accept_list_errors(accept_list_errors),
     m_midway_cnt(midway_cnt),
index e57bdf1d1a2091fea6cd4fa91ab98eb5b5fd950e..e4698d7492d7ed223308e81b4f72d7231b54c197 100644 (file)
@@ -32,12 +32,16 @@ class StRadosListObjects : public SysTestRunnable
 {
 public:
   static std::string get_random_buf(int sz);
-  StRadosListObjects(int argc, const char **argv, bool accept_list_errors,
-       int midway_cnt,
-       CrossProcessSem *pool_setup_sem, CrossProcessSem *midway_sem);
+  StRadosListObjects(int argc, const char **argv,
+                    const std::string &pool_name,
+                    bool accept_list_errors,
+                    int midway_cnt,
+                    CrossProcessSem *pool_setup_sem,
+                    CrossProcessSem *midway_sem);
   ~StRadosListObjects();
   virtual int run();
 private:
+  std::string m_pool_name;
   bool m_accept_list_errors;
   int m_midway_cnt;
   CrossProcessSem *m_pool_setup_sem;