print("<EOF>")
-def vstart(new, opt=""):
+def vstart(new, opt="-o osd_pool_default_pg_autoscale_mode=off"):
print("vstarting....", end="")
NEW = new and "-n" or "-N"
call("MON=1 OSD=4 MDS=0 MGR=1 CEPH_PORT=7400 MGR_PYTHON_PATH={path}/src/pybind/mgr {path}/src/vstart.sh --filestore --short -l {new} -d {opt} > /dev/null 2>&1".format(new=NEW, opt=opt, path=CEPH_ROOT), shell=True)
logging.debug("FOUND: {json} in {osd} has value '{val}'".format(osd=osd, json=JSON, val=out))
found += 1
except subprocess.CalledProcessError as e:
- if "No such file or directory" not in e.output and "No data available" not in e.output:
+ logging.debug("Error message: {output}".format(output=e.output))
+ if "No such file or directory" not in e.output and \
+ "No data available" not in e.output and \
+ "not contained by pg" not in e.output:
raise
# Assuming k=2 m=1 for the default ec pool
if found != 3:
ret = 1;
goto out;
}
- auto ch = fs->open_collection(coll_t(pgid));
- if (!ghobj.match(fs->collection_bits(ch), pgid.ps())) {
- stringstream ss;
- ss << "object " << ghobj << " not contained by pg " << pgid;
- throw std::runtime_error(ss.str());
+ if (pgidstr != "meta") {
+ auto ch = fs->open_collection(coll_t(pgid));
+ if (!ghobj.match(fs->collection_bits(ch), pgid.ps())) {
+ stringstream ss;
+ ss << "object " << ghobj << " not contained by pg " << pgid;
+ throw std::runtime_error(ss.str());
+ }
}
}
} catch (std::runtime_error& e) {