def vstart(new, opt=""):
print("vstarting....", end="")
NEW = new and "-n" or "-N"
- call("MON=1 OSD=4 MDS=0 MGR=1 CEPH_PORT=7400 {path}/src/vstart.sh --short -l {new} -d {opt} > /dev/null 2>&1".format(new=NEW, opt=opt, path=CEPH_ROOT), shell=True)
+ call("MON=1 OSD=4 MDS=0 MGR=1 CEPH_PORT=7400 {path}/src/vstart.sh --filestore --short -l {new} -d {opt} > /dev/null 2>&1".format(new=NEW, opt=opt, path=CEPH_ROOT), shell=True)
print("DONE")
if not CEPH_BUILD_DIR:
CEPH_BUILD_DIR=os.getcwd()
os.putenv('CEPH_BUILD_DIR', CEPH_BUILD_DIR)
- CEPH_BIN=CEPH_BUILD_DIR
+ CEPH_BIN=os.path.join(CEPH_BUILD_DIR, 'bin')
os.putenv('CEPH_BIN', CEPH_BIN)
CEPH_ROOT=os.path.dirname(CEPH_BUILD_DIR)
os.putenv('CEPH_ROOT', CEPH_ROOT)
- CEPH_LIB=os.path.join(CEPH_BIN, '.libs')
+ CEPH_LIB=os.path.join(CEPH_BUILD_DIR, 'lib')
os.putenv('CEPH_LIB', CEPH_LIB)
-CEPH_DIR = CEPH_BUILD_DIR + "/cot_dir"
+try:
+ os.mkdir("td")
+except:
+ pass # ok if this is already there
+CEPH_DIR = os.path.join(CEPH_BUILD_DIR, os.path.join("td", "cot_dir"))
CEPH_CONF = os.path.join(CEPH_DIR, 'ceph.conf')
def kill_daemons():
if linev[0] is '':
linev.pop(0)
print('linev %s' % linev)
- weights.append(float(linev[1]))
+ weights.append(float(linev[2]))
return weights
else:
nullfd = DEVNULL
- call("rm -fr {dir}; mkdir {dir}".format(dir=CEPH_DIR), shell=True)
+ call("rm -fr {dir}; mkdir -p {dir}".format(dir=CEPH_DIR), shell=True)
+ os.chdir(CEPH_DIR)
os.environ["CEPH_DIR"] = CEPH_DIR
- OSDDIR = os.path.join(CEPH_DIR, "dev")
+ OSDDIR = "dev"
REP_POOL = "rep_pool"
REP_NAME = "REPobject"
EC_POOL = "ec_pool"
cmd = "{path}/ceph osd pool create {pool} {pg} {pg} replicated".format(pool=REP_POOL, pg=PG_COUNT, path=CEPH_BIN)
logging.debug(cmd)
call(cmd, shell=True, stdout=nullfd, stderr=nullfd)
+ time.sleep(2)
REPID = get_pool_id(REP_POOL, nullfd)
print("Created Replicated pool #{repid}".format(repid=REPID))
# vstart() starts 4 OSDs
ERRORS += test_get_set_osdmap(CFSD_PREFIX, list(range(4)), ALLOSDS)
ERRORS += test_get_set_inc_osdmap(CFSD_PREFIX, ALLOSDS[0])
+
+ kill_daemons()
+ CORES = [f for f in os.listdir(CEPH_DIR) if f.startswith("core.")]
+ if CORES:
+ CORE_DIR = os.path.join("/tmp", "cores.{pid}".format(pid=os.getpid()))
+ os.mkdir(CORE_DIR)
+ call("/bin/mv {ceph_dir}/core.* {core_dir}".format(ceph_dir=CEPH_DIR, core_dir=CORE_DIR), shell=True)
+ logging.error("Failure due to cores found")
+ logging.error("See {core_dir} for cores".format(core_dir=CORE_DIR))
+ ERRORS += len(CORES)
+
if ERRORS == 0:
print("TEST PASSED")
return 0
status = main(sys.argv[1:])
finally:
kill_daemons()
+ os.chdir(CEPH_BUILD_DIR)
remove_btrfs_subvolumes(CEPH_DIR)
call("/bin/rm -fr {dir}".format(dir=CEPH_DIR), shell=True)
sys.exit(status)