X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Fsystem%2Fst_rados_create_pool.cc;fp=src%2Fceph%2Fsrc%2Ftest%2Fsystem%2Fst_rados_create_pool.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=aeec7aef42e14c88d7e52963036004eb4268b694;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/test/system/st_rados_create_pool.cc b/src/ceph/src/test/system/st_rados_create_pool.cc deleted file mode 100644 index aeec7ae..0000000 --- a/src/ceph/src/test/system/st_rados_create_pool.cc +++ /dev/null @@ -1,131 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* -* Ceph - scalable distributed file system -* -* Copyright (C) 2011 New Dream Network -* -* This is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License version 2.1, as published by the Free Software -* Foundation. See file COPYING. -* -*/ - -#include "cross_process_sem.h" -#include "include/rados/librados.h" -#include "st_rados_create_pool.h" -#include "systest_runnable.h" -#include "systest_settings.h" - -#include -#include -#include -#include -#include -#include -#include - -using std::ostringstream; - -std::string StRadosCreatePool:: -get_random_buf(int sz) -{ - ostringstream oss; - int size = rand() % sz; // yep, it's not very random - for (int i = 0; i < size; ++i) { - oss << "."; - } - return oss.str(); -} - -StRadosCreatePool:: -StRadosCreatePool(int argc, const char **argv, - CrossProcessSem *setup_sem, - CrossProcessSem *pool_setup_sem, - CrossProcessSem *close_create_pool, - const std::string &pool_name, - int num_objects, - const std::string &suffix) - : SysTestRunnable(argc, argv), - m_setup_sem(setup_sem), - 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) -{ -} - -StRadosCreatePool:: -~StRadosCreatePool() -{ -} - -int StRadosCreatePool:: -run() -{ - int ret_val = 0; - rados_t cl; - RETURN1_IF_NONZERO(rados_create(&cl, NULL)); - rados_conf_parse_argv(cl, m_argc, m_argv); - rados_conf_parse_argv(cl, m_argc, m_argv); - RETURN1_IF_NONZERO(rados_conf_read_file(cl, NULL)); - std::string log_name = SysTestSettings::inst().get_log_name(get_id_str()); - if (!log_name.empty()) - rados_conf_set(cl, "log_file", log_name.c_str()); - rados_conf_parse_env(cl, NULL); - - if (m_setup_sem) { - m_setup_sem->wait(); - m_setup_sem->post(); - } - - RETURN1_IF_NONZERO(rados_connect(cl)); - - printf("%s: creating pool %s\n", get_id_str(), m_pool_name.c_str()); - rados_pool_create(cl, m_pool_name.c_str()); - rados_ioctx_t 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]; - snprintf(oid, sizeof(oid), "%d%s", i, m_suffix.c_str()); - std::string buf(get_random_buf(256)); - int ret = rados_write(io_ctx, oid, buf.c_str(), buf.size(), 0); - if (ret != 0) { - printf("%s: rados_write(%s) failed with error: %d\n", - get_id_str(), oid, ret); - ret_val = ret; - goto out; - } - if (((i % 25) == 0) || (i == m_num_objects - 1)) { - printf("%s: created object %d...\n", get_id_str(), i); - } - } - -out: - printf("%s: finishing.\n", get_id_str()); - if (m_pool_setup_sem) - m_pool_setup_sem->post(); - if (m_close_create_pool) - m_close_create_pool->wait(); - rados_ioctx_destroy(io_ctx); - rados_shutdown(cl); - return ret_val; -} - -std::string get_temp_pool_name(const char* prefix) -{ - assert(prefix); - char hostname[80]; - int ret = 0; - ret = gethostname(hostname, sizeof(hostname)); - assert(!ret); - char poolname[256]; - ret = snprintf(poolname, sizeof(poolname), - "%s.%s-%d", prefix, hostname, getpid()); - assert(ret > 0); - assert((unsigned int)ret < sizeof(poolname)); - return poolname; -}