def setUp(self): """Set up run before each test.""" super(TestWithoutServers, self).setUp() if not load_mpi("openmpi"): self.fail("Failed to load openmpi") self.orterun = find_executable('orterun') if self.orterun is None: self.fail("Could not find orterun") # hardware tests segfault in MPI_Init without this option self.client_mca = "--mca btl_openib_warn_default_gid_prefix 0" self.client_mca += " --mca pml ob1" self.client_mca += " --mca btl tcp,self" self.client_mca += " --mca oob tcp" self.ompi_prefix = os.path.dirname(os.path.dirname(self.orterun)) # get paths from the build_vars generated by build with open('../../.build_vars.json') as build_vars: build_paths = json.load(build_vars) self.basepath = os.path.normpath(os.path.join(build_paths['PREFIX'], '..') + os.path.sep) self.prefix = build_paths['PREFIX'] try: self.ofi_prefix = build_paths['OFI_PREFIX'] except KeyError: self.ofi_prefix = "/usr" self.bin = os.path.join(self.prefix, 'bin') self.daos_test = os.path.join(self.prefix, 'bin', 'daos_test') # set default shared dir for daos tests in case DAOS_TEST_SHARED_DIR # is not set, for RPM env and non-RPM env. if self.prefix != "/usr": self.tmp = os.path.join(self.prefix, 'tmp') else: self.tmp = os.getenv( 'DAOS_TEST_SHARED_DIR', os.path.expanduser('~/daos_test')) if not os.path.exists(self.tmp): os.makedirs(self.tmp) # setup fault injection, this MUST be before API setup fault_list = self.params.get("fault_list", '/run/faults/*') if fault_list: # not using workdir because the huge path was messing up # orterun or something, could re-evaluate this later self.fault_file = fault_config_utils.write_fault_file(self.tmp, fault_list, None) os.environ["D_FI_CONFIG"] = self.fault_file self.context = DaosContext(self.prefix + '/lib64/') self.d_log = DaosLog(self.context) self.test_log.daos_log = self.d_log
def setUp(self): self.agent_sessions = None self.pool = None self.container = None self.obj = None self.ioreq = None self.hostlist = None self.hostfile = None self.no_of_dkeys = None self.no_of_akeys = None self.array_size = None self.record_length = None with open('../../.build_vars.json') as json_f: build_paths = json.load(json_f) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") server_group = self.params.get("name", '/server_config/', 'daos_server') self.context = DaosContext(build_paths['PREFIX'] + '/lib64/') self.d_log = DaosLog(self.context) self.hostlist = self.params.get("test_machines", '/run/hosts/*') self.hostfile = write_host_file.write_host_file( self.hostlist, self.workdir) self.no_of_dkeys = self.params.get("no_of_dkeys", '/run/dkeys/*')[0] self.no_of_akeys = self.params.get("no_of_akeys", '/run/akeys/*')[0] self.array_size = self.params.get("size", '/array_size/') self.record_length = self.params.get("length", '/run/record/*') self.agent_sessions = agent_utils.run_agent(self.basepath, self.hostlist) server_utils.run_server(self, self.hostfile, server_group) self.pool = DaosPool(self.context) self.pool.create(self.params.get("mode", '/run/pool/createmode/*'), os.geteuid(), os.getegid(), self.params.get("size", '/run/pool/createsize/*'), self.params.get("setname", '/run/pool/createset/*'), None) self.pool.connect(2) self.container = DaosContainer(self.context) self.container.create(self.pool.handle) self.container.open() self.obj = DaosObj(self.context, self.container) self.obj.create(objcls=1) self.obj.open() self.ioreq = IORequest(self.context, self.container, self.obj, objtype=4)
def setUp(self): """Start servers, establish file locations.""" super(CartSelfTest, self).setUp() self.agent_sessions = None self.hostlist_servers = self.params.get("test_machines", '/run/hosts/') self.hostfile_servers = write_host_file.write_host_file( self.hostlist_servers, self.workdir) self.d_log = DaosLog(self.context) # self_test params self.self_test_bin = os.path.join(self.prefix, "bin/self_test") self.endpoint = self.params.get("endpoint", "/run/testparams/") self.max_rpcs = self.params.get("max_inflight_rpcs", "/run/testparams/") self.repetitions = self.params.get("repetitions", "/run/testparams/") self.message_size = (self.params.get( "size", "/run/muxtestparams/message_size/*")[0]) self.share_addr = self.params.get("val", "/run/muxtestparams/share_addr/*")[0] self.env_dict = { "CRT_PHY_ADDR_STR": "ofi+sockets", "CRT_CTX_NUM": "8", "OFI_INTERFACE": "eth0", "CRT_CTX_SHARE_ADDR": str(self.share_addr) } self.env_list = [] for key, val in self.env_dict.items(): self.env_list.append("-x") self.env_list.append("{0}={1}".format(key, val)) # daos server params self.server_group = self.params.get("name", 'server_config', 'daos_server') self.uri_file = os.path.join(self.tmp, "uri.txt") self.agent_sessions = agent_utils.run_agent(self, self.hostlist_servers) server_utils.run_server(self, self.hostfile_servers, self.server_group, uri_path=self.uri_file, env_dict=self.env_dict)
def setUp(self): """Set up run before each test.""" super(TestWithoutServers, self).setUp() # get paths from the build_vars generated by build with open('../../.build_vars.json') as build_vars: build_paths = json.load(build_vars) self.basepath = os.path.normpath( os.path.join(build_paths['PREFIX'], '..') + os.path.sep) self.prefix = build_paths['PREFIX'] self.ompi_prefix = build_paths["OMPI_PREFIX"] self.bin = os.path.join(self.prefix, 'bin') self.daos_test = os.path.join(self.prefix, 'bin', 'daos_test') self.orterun = os.path.join(self.ompi_prefix, "bin", "orterun") self.daosctl = os.path.join(self.bin, 'daosctl') # set default shared dir for daos tests in case DAOS_TEST_SHARED_DIR # is not set, for RPM env and non-RPM env. if self.prefix != "/usr": self.tmp = os.path.join(self.prefix, 'tmp') else: self.tmp = os.getenv('DAOS_TEST_SHARED_DIR', \ os.path.expanduser('~/daos_test')) if not os.path.exists(self.tmp): os.makedirs(self.tmp) # setup fault injection, this MUST be before API setup fault_list = self.params.get("fault_list", '/run/faults/*/') if fault_list: # not using workdir because the huge path was messing up # orterun or something, could re-evaluate this later self.fault_file = fault_config_utils.write_fault_file( self.tmp, fault_list, None) os.environ["D_FI_CONFIG"] = self.fault_file self.context = DaosContext(self.prefix + '/lib64/') self.d_log = DaosLog(self.context)