本文整理汇总了Python中daos_api.DaosPool.set_attr方法的典型用法代码示例。如果您正苦于以下问题:Python DaosPool.set_attr方法的具体用法?Python DaosPool.set_attr怎么用?Python DaosPool.set_attr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类daos_api.DaosPool
的用法示例。
在下文中一共展示了DaosPool.set_attr方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PoolAttributeTest
# 需要导入模块: from daos_api import DaosPool [as 别名]
# 或者: from daos_api.DaosPool import set_attr [as 别名]
class PoolAttributeTest(Test):
"""
Test class Description: Tests DAOS pool attribute get/set/list.
"""
def setUp(self):
try:
self.pool = None
self.hostlist = None
with open('../../../.build_vars.json') as build_file:
build_paths = json.load(build_file)
basepath = os.path.normpath(build_paths['PREFIX'] + "/../")
server_group = self.params.get("name",
'/server_config/',
'daos_server')
context = DaosContext(build_paths['PREFIX'] + '/lib/')
self.hostlist = self.params.get("test_machines", '/run/hosts/*')
self.hostfile = write_host_file.write_host_file(self.hostlist,
self.workdir)
server_utils.run_server(self.hostfile, server_group, basepath)
createmode = self.params.get("mode",
'/run/attrtests/createmode/')
createuid = os.geteuid()
creategid = os.getgid()
createsetid = self.params.get("setname",
'/run/attrtests/createset/')
createsize = self.params.get("size",
'/run/attrtests/createsize/')
self.pool = DaosPool(context)
self.pool.create(createmode, createuid, creategid, createsize,
createsetid)
self.pool.connect(1 << 1)
self.large_data_set = {}
except DaosApiError as excep:
print("In the setup exception handler\n")
print(excep)
print(traceback.format_exc())
def tearDown(self):
try:
if self.pool is not None:
self.pool.disconnect()
self.pool.destroy(1)
finally:
server_utils.stop_server(hosts=self.hostlist)
def create_data_set(self):
"""
To create the large attribute dictionary
"""
allchar = string.ascii_letters + string.digits
for i in range(1024):
self.large_data_set[str(i)] = (
"".join(random.choice(allchar)
for x in range(random.randint(1, 100))))
def test_pool_attributes(self):
"""
Test ID: DAOS-1359
Test description: Test basic pool attribute tests (sync).
:avocado: tags=regression,pool,pool_attr,attribute,sync_poolattribute
"""
expected_for_param = []
name = self.params.get("name", '/run/attrtests/name_handles/*/')
expected_for_param.append(name[1])
value = self.params.get("value", '/run/attrtests/value_handles/*/')
if value[0] is None:
self.cancel("skipping these tests until DAOS-2170 is fixed")
expected_for_param.append(value[1])
attr_dict = {name[0]:value[0]}
if name[0] is not None:
if "largenumberofattr" in name[0]:
self.create_data_set()
attr_dict = self.large_data_set
expected_result = 'PASS'
for result in expected_for_param:
if result == 'FAIL':
expected_result = 'FAIL'
break
try:
self.pool.set_attr(data=attr_dict)
size, buf = self.pool.list_attr()
verify_list_attr(attr_dict, size.value, buf)
if name[0] is not None:
# Request something that doesn't exist
if "Negative" in name[0]:
name[0] = "rubbish"
# large attr test messes with the dictionary so skip
# the get test
if "largenumberofattr" not in name[0]:
#.........这里部分代码省略.........