Example #1
0
    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
Example #2
0
    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
Example #3
0
    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'
Example #4
0
 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()
Example #7
0
 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"
Example #9
0
    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'
Example #10
0
    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'
Example #11
0
    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'
Example #12
0
    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'
Example #13
0
    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"
Example #14
0
 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',
             )
Example #15
0
 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',
         )