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.tmp = os.path.join(self.prefix, 'tmp') self.daos_test = os.path.join(self.basepath, 'install', 'bin', 'daos_test') self.orterun = os.path.join(self.ompi_prefix, "bin", "orterun") self.daosctl = os.path.join(self.basepath, 'install', 'bin', 'daosctl') # 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 tmp = os.path.join(self.basepath, 'install', 'tmp') self.fault_file = fault_config_utils.write_fault_file( tmp, fault_list, None) os.environ["D_FI_CONFIG"] = self.fault_file self.context = DaosContext(self.prefix + '/lib/') self.d_log = DaosLog(self.context)
def setUp(self): self.pool = None self.hostlist = None self.hostfile_clients = None self.hostfile = None self.out_queue = None self.pool_connect = True with open('../../../.build_vars.json') as json_f: build_paths = json.load(json_f) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") self.server_group = self.params.get("server_group", '/server/', 'daos_server') self.context = DaosContext(build_paths['PREFIX'] + '/lib/') self.d_log = DaosLog(self.context) self.hostlist = self.params.get("servers", '/run/hosts/*') self.hostfile = WriteHostFile.WriteHostFile(self.hostlist, self.workdir) hostlist_clients = self.params.get("clients", '/run/hosts/*') self.hostfile_clients = WriteHostFile.WriteHostFile( hostlist_clients, self.workdir) ServerUtils.runServer(self.hostfile, self.server_group, self.basepath) 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/*'), nvme_size=self.params.get("size", '/run/pool/nvmesize/*'))
def setUp(self): self.agent_sessions = None # get paths from the build_vars generated by build with open('../../../.build_vars.json') as build_file: build_paths = json.load(build_file) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") self.server_group = self.params.get("name", '/server_config/', 'daos_server') # setup the DAOS python API self.context = DaosContext(build_paths['PREFIX'] + '/lib/') self.pool = None self.d_log = DaosLog(self.context) # getting hostfile self.hostfile_servers = 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) print ("Host file is: {}".format(self.hostfile_servers)) self.container = None # starting server self.agent_sessions = agent_utils.run_agent(self.basepath, self.hostlist_servers) server_utils.run_server(self.hostfile_servers, self.server_group, self.basepath)
def setUp(self): # get paths from the build_vars generated by build self.hostlist = None with open('../../../.build_vars.json') as f: build_paths = json.load(f) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") self.server_group = self.params.get("server_group", '/server/', 'daos_server') # parameters used in pool create self.createmode = self.params.get("mode", '/run/createtests/createmode/') self.createuid = os.geteuid() self.creategid = os.getegid() self.createsetid = self.params.get("setname", '/run/createtests/createset/') self.createsize = self.params.get("size", '/run/createtests/createsize/') # setup the DAOS python API self.context = DaosContext(build_paths['PREFIX'] + '/lib/') self.pool = None self.container = None # hostlist and logging self.d_log = DaosLog(self.context) self.hostlist = self.params.get("test_machines", '/run/hosts/*') self.hostfile = WriteHostFile.WriteHostFile(self.hostlist, self.workdir) ServerUtils.runServer(self.hostfile, self.server_group, self.basepath)
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) basepath = os.path.normpath(build_paths['PREFIX'] + "/../") server_group = self.params.get("name", '/server_config/', 'daos_server') self.context = DaosContext(build_paths['PREFIX'] + '/lib/') 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(basepath, self.hostlist) server_utils.run_server(self.hostfile, server_group, basepath) 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): # get paths from the build_vars generated by build with open( os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../../../.build_vars.json")) as f: build_paths = json.load(f) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") tmp = build_paths['PREFIX'] + '/tmp' self.hostlist = self.params.get("test_machines", '/run/hosts/') self.hostfile = WriteHostFile.WriteHostFile(self.hostlist, tmp) context = DaosContext(build_paths['PREFIX'] + '/lib/') self.d_log = DaosLog(context) # self_test params self.self_test_bin = os.path.join(build_paths["CART_PREFIX"], "bin/self_test") self.orterun = os.path.join(build_paths["OMPI_PREFIX"], "bin/orterun") 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 k, v in self.env_dict.items(): self.env_list.append("-x") self.env_list.append("{0}={1}".format(k, v)) # daos server params self.server_group = self.params.get("server", 'server_group', 'daos_server') self.uri_file = os.path.join(self.basepath, "install", "tmp", "uri.txt") ServerUtils.runServer(self.hostfile, self.server_group, self.basepath, uri_path=self.uri_file, env_dict=self.env_dict)
def setUp(self): # get paths from the build_vars generated by build with open('../../../.build_vars.json') as finput: build_paths = json.load(finput) basepath = os.path.normpath(build_paths['PREFIX'] + "/../") server_group = self.params.get("name", '/server_config/', 'daos_server') # setup the DAOS python API self.context = DaosContext(build_paths['PREFIX'] + '/lib/') self.d_log = DaosLog(self.context) self.hostlist = self.params.get("test_machines", '/run/hosts/*') hostfile = write_host_file.write_host_file(self.hostlist, self.workdir) server_utils.run_server(hostfile, server_group, basepath) # Set up the pool and container. try: # parameters used in pool create createmode = self.params.get("mode", '/run/pool/createmode/') createsetid = self.params.get("setname", '/run/pool/createset/') createsize = self.params.get("size", '/run/pool/createsize/*') createuid = os.geteuid() creategid = os.getegid() # initialize a pool object then create the underlying # daos storage self.pool = DaosPool(self.context) self.pool.create(createmode, createuid, creategid, createsize, createsetid, None) # need a connection to create container self.pool.connect(1 << 1) # create a container self.container = DaosContainer(self.context) self.container.create(self.pool.handle) # now open it self.container.open() except DaosApiError as error: print(error) print(traceback.format_exc()) self.fail("Test failed before snapshot taken")
def setUp(self): # get paths from the build_vars generated by build with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../../../.build_vars.json")) as f: build_paths = json.load(f) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") self.server_group = self.params.get("server_group", '/server/', 'daos_default_oops') self.context = DaosContext(build_paths['PREFIX'] + '/lib/') self.pool = DaosPool(self.context) self.d_log = DaosLog(self.context) self.hostlist = self.params.get("test_machines1", '/hosts/') self.hostfile = WriteHostFile.WriteHostFile(self.hostlist, self.workdir) ServerUtils.runServer(self.hostfile, self.server_group, self.basepath)
def setUp(self): 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) context = DaosContext(self.prefix + '/lib/') self.d_log = DaosLog(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.basepath, "install", "tmp", "uri.txt") self.agent_sessions = agent_utils.run_agent(self.basepath, self.hostlist_servers) server_utils.run_server(self.hostfile_servers, self.server_group, self.basepath, uri_path=self.uri_file, env_dict=self.env_dict)
def setUp(self): self.pool = None self.hostlist = None self.hostfile_clients = None self.hostfile = None self.out_queue = None self.pool_connect = False with open('../../../.build_vars.json') as json_f: build_paths = json.load(json_f) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") self.server_group = self.params.get("name", '/server_config/', 'daos_server') self.context = DaosContext(build_paths['PREFIX'] + '/lib/') self.d_log = DaosLog(self.context) self.hostlist = self.params.get("servers", '/run/hosts/*') self.hostfile = write_host_file.write_host_file(self.hostlist, self.workdir) #Start Server server_utils.run_server(self.hostfile, self.server_group, self.basepath)
def setUp(self): # get paths from the build_vars generated by build with open('../../../.build_vars.json') as f: build_paths = json.load(f) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") self.server_group = self.params.get("server_group", '/server/', 'daos_server') # setup the DAOS python API self.Context = DaosContext(build_paths['PREFIX'] + '/lib/') self.pool = None self.d_log = DaosLog(self.Context) # getting hostfile self.hostfile = None self.hostlist = self.params.get("test_machines", '/run/hosts/*') self.hostfile = WriteHostFile.WriteHostFile(self.hostlist, self.workdir) print("Host file is: {}".format(self.hostfile)) # starting server ServerUtils.runServer(self.hostfile, self.server_group, self.basepath)
def setUp(self): self.agent_sessions = None # get paths from the build_vars generated by build with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../../../.build_vars.json")) as build_file: build_paths = json.load(build_file) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") self.server_group = self.params.get("name", '/server_config/', 'daos_server') context = DaosContext(build_paths['PREFIX'] + '/lib/') self.pool = DaosPool(context) self.d_log = DaosLog(context) self.hostlist_servers = self.params.get("test_machines1", '/run/hosts/') self.hostfile_servers = write_host_file.write_host_file( self.hostlist_servers, self.workdir) self.agent_sessions = agent_utils.run_agent(self.basepath, self.hostlist_servers) server_utils.run_server(self.hostfile_servers, self.server_group, self.basepath)
def setUp(self): # get paths from the build_vars generated by build with open('../../../.build_vars.json') as f: build_paths = json.load(f) self.basepath = os.path.normpath(build_paths['PREFIX'] + "/../") self.server_group = self.params.get("server_group", '/server/', 'daos_server') # setup the DAOS python API self.context = DaosContext(build_paths['PREFIX'] + '/lib/') self.d_log = DaosLog(self.context) self.hostlist = self.params.get("test_machines", '/run/hosts/*') self.hostfile = WriteHostFile.WriteHostFile(self.hostlist, self.workdir) ServerUtils.runServer(self.hostfile, self.server_group, self.basepath) try: # parameters used in pool create createmode = self.params.get("mode", '/run/pool/createmode/') createsetid = self.params.get("setname", '/run/pool/createset/') createsize = self.params.get("size", '/run/pool/createsize/') createuid = os.geteuid() creategid = os.getegid() # initialize a python pool object then create the underlying # daos storage self.pool = DaosPool(self.context) self.pool.create(createmode, createuid, creategid, createsize, createsetid, None) # need a connection to create container self.pool.connect(1 << 1) # create a container self.container = DaosContainer(self.context) self.container.create(self.pool.handle) # now open it self.container.open() # create an object and write some data into it thedata = "a string that I want to stuff into an object" self.datasize = len(thedata) + 1 self.dkey = "this is the dkey" self.akey = "this is the akey" self.obj, self.epoch = self.container.write_an_obj(thedata, self.datasize, self.dkey, self.akey, obj_cls=1) thedata2 = self.container.read_an_obj(self.datasize, self.dkey, self.akey, self.obj, self.epoch) if thedata not in thedata2.value: print(thedata) print(thedata2.value) err_str = "Error reading back data, test failed during the " \ "initial setup." self.d_log.error(err_str) self.fail(err_str) # setup leaves object in open state, so closing to start clean self.obj.close() except DaosApiError as e: print(e) print(traceback.format_exc()) self.fail("Test failed during the initial setup.")