def do_102_run_work(self): self.results = {} procs = {}; for id_ in skeleton.roles_of_type(self.my_roles, 'client'): procs[id_] = subprocess.Popen( [ '{bindir}/usr/local/bin/testsnaps'.format( bindir=self.bindir ), ], env = { 'LD_LIBRARY_PATH': '{bindir}/usr/local/lib'.format( bindir=self.bindir ), 'CEPH_CLIENT_ID': id_ }, stderr = subprocess.STDOUT, stdout = subprocess.PIPE ) print "Starting run clinet {id_}".format(id_=id_) for id_ in procs: procs[id_].wait() print "client.{id_} finished with errorcode {code}".format( id_=id_, code=procs[id_].returncode, ) output = procs[id_].communicate()[0] self.results['client.{id}'.format(id=id_)] = output print output
def do_102_run_work(self): self.results = {} procs = {} for id_ in skeleton.roles_of_type(self.my_roles, 'client'): procs[id_] = subprocess.Popen( [ '{bindir}/usr/local/bin/testsnaps'.format( bindir=self.bindir), ], env={ 'LD_LIBRARY_PATH': '{bindir}/usr/local/lib'.format(bindir=self.bindir), 'CEPH_CLIENT_ID': id_ }, stderr=subprocess.STDOUT, stdout=subprocess.PIPE) print "Starting run clinet {id_}".format(id_=id_) for id_ in procs: procs[id_].wait() print "client.{id_} finished with errorcode {code}".format( id_=id_, code=procs[id_].returncode, ) output = procs[id_].communicate()[0] self.results['client.{id}'.format(id=id_)] = output print output
def do_150_pybind_tests(self): os.environ["LD_LIBRARY_PATH"] = self.ceph_libdir os.environ["PYTHONPATH"] = self.ceph_pydir for id_ in skeleton.roles_of_type(self.my_roles, 'client'): print "running ceph-pybind-test.py" utils.system('{bindir}/ceph-pybind-test.py'.format( bindir=self.ceph_bindir)) print 'ceph python binding test ok'
def do_150_rbd_librbd(self): LD_LIB = os.getenv('LD_LIBRARY_PATH', '') os.putenv('LD_LIBRARY_PATH', LD_LIB + ':' + self.ceph_libdir) for id_ in skeleton.roles_of_type(self.my_roles, 'client'): utils.system( '{bindir}/testlibrbdpp'.format(bindir=self.ceph_bindir)) print 'rbd testlibrbdpp ok' utils.system('{bindir}/testlibrbd'.format(bindir=self.ceph_bindir)) print 'rbd testlibrbd ok'
def do_150_pybind_tests(self): os.environ["LD_LIBRARY_PATH"] = self.ceph_libdir os.environ["PYTHONPATH"] = self.ceph_pydir for id_ in skeleton.roles_of_type(self.my_roles, 'client'): print "running ceph-pybind-test.py" utils.system( '{bindir}/ceph-pybind-test.py'.format(bindir=self.ceph_bindir)) print 'ceph python binding test ok'
def do_150_ceph_mountloop(self): count = self.extra.get('count', 1000) count = int(count) for i in xrange(count): self.hook_postprocess_902_kernel_unmount() for id_ in skeleton.roles_of_type(self.my_roles, 'client'): mnt = os.path.join(self.tmpdir, 'mnt.{id}'.format(id=id_)) os.rmdir(mnt) self.init_072_kernel_mount()
def do_150_rbd_librbd(self): LD_LIB = os.getenv('LD_LIBRARY_PATH', '') os.putenv('LD_LIBRARY_PATH', LD_LIB + ':' + self.ceph_libdir) for id_ in skeleton.roles_of_type(self.my_roles, 'client'): utils.system('{bindir}/testlibrbdpp'.format( bindir=self.ceph_bindir)) print 'rbd testlibrbdpp ok' utils.system('{bindir}/testlibrbd'.format( bindir=self.ceph_bindir)) print 'rbd testlibrbd ok'
def do_150_ceph_pjd_fstest(self): for id_ in skeleton.roles_of_type(self.my_roles, "client"): # TODO parallel? mnt = os.path.join(self.tmpdir, "mnt.{id}".format(id=id_)) # a unique directory for each client client_dir = os.path.join(mnt, "client.{id}".format(id=id_)) os.mkdir(client_dir) self.job.run_test("pjd_fstest", dir=client_dir, tag=self.generate_tag_for_subjob(client_id=id_)) print "ceph pjd_fstest test ok"
def do_150_rbd_blogbench(self): for id_ in skeleton.roles_of_type(self.my_roles, 'client'): mnt = os.path.join(self.tmpdir, 'testimage{id}'.format(id=id_)) # a unique directory for each client client_dir = os.path.join(mnt, 'client.{id}'.format(id=id_)) os.mkdir(client_dir) self.job.run_test( 'blogbench', dir=client_dir, tag=self.generate_tag_for_subjob(client_id=id_), ) print 'rbd blogbench test ok'
def do_150_ceph_fsx(self): for id_ in skeleton.roles_of_type(self.my_roles, 'client'): # TODO parallel? mnt = os.path.join(self.tmpdir, 'mnt.{id}'.format(id=id_)) # a unique directory for each client client_dir = os.path.join(mnt, 'client.{id}'.format(id=id_)) os.mkdir(client_dir) self.job.run_test( 'fsx', dir=client_dir, tag=self.generate_tag_for_subjob(client_id=id_), ) print 'ceph fsx test ok'
def do_150_ceph_tiobench(self): for id_ in skeleton.roles_of_type(self.my_roles, 'client'): # TODO parallel? mnt = os.path.join(self.tmpdir, 'mnt.{id}'.format(id=id_)) # a unique directory for each client client_dir = os.path.join(mnt, 'client.{id}'.format(id=id_)) os.mkdir(client_dir) self.job.run_test( 'tiobench', dir=client_dir, tag=self.generate_tag_for_subjob(client_id=id_), ) print 'ceph tiobench test ok'
def do_150_rbd_ffsb(self): for id_ in skeleton.roles_of_type(self.my_roles, 'client'): mnt = os.path.join(self.tmpdir, 'testimage{id}'.format(id=id_)) # a unique directory for each client client_dir = os.path.join(mnt, 'client.{id}'.format(id=id_)) os.mkdir(client_dir) self.job.run_test( 'ffsb', dir=client_dir, profiles=self.extra.get('rbd_ffsb_profiles'), tag=self.generate_tag_for_subjob(client_id=id_), ) print 'rbd ffsb test ok'
def do_150_rbd_iozone(self): for id_ in skeleton.roles_of_type(self.my_roles, "client"): mnt = os.path.join(self.tmpdir, "testimage{id}".format(id=id_)) # a unique directory for each client client_dir = os.path.join(mnt, "client.{id}".format(id=id_)) os.mkdir(client_dir) self.job.run_test( "iozone", dir=client_dir, args=self.extra.get("rbd_iozone_args"), tag=self.generate_tag_for_subjob(client_id=id_), ) print "rbd iozone test ok"
def postprocess_iteration(self): for id_ in skeleton.roles_of_type(self.my_roles, 'client'): self.copy_subjob_results_kv( client_id=id_, subjob_name='dbench', )