remove some try/except + consistency not works with submulti
This commit is contained in:
@ -111,15 +111,32 @@ class OptionDescription(BaseOption, StorageOptionDescription):
|
||||
#cannot set multi option as OptionDescription requires
|
||||
else:
|
||||
option._set_readonly(True)
|
||||
is_multi = option.impl_is_multi()
|
||||
for func, all_cons_opts, params in option._get_consistencies():
|
||||
all_cons_opts[0]._valid_consistencies(all_cons_opts[1:])
|
||||
option._valid_consistencies(all_cons_opts[1:])
|
||||
if is_multi:
|
||||
is_slave = option.impl_is_master_slaves()
|
||||
if not is_slave:
|
||||
raise ValueError(_('malformed consistency option {0} '
|
||||
'must be a master/slaves').format(
|
||||
option.impl_getname()))
|
||||
masterslaves = option.impl_get_master_slaves()
|
||||
for opt in all_cons_opts:
|
||||
if is_multi:
|
||||
if not opt.impl_is_master_slaves():
|
||||
raise ValueError(_('malformed consistency option {0} '
|
||||
'must not be a multi for {1}').format(
|
||||
option.impl_getname(), opt.impl_getname()))
|
||||
elif masterslaves != opt.impl_get_master_slaves():
|
||||
raise ValueError(_('malformed consistency option {0} '
|
||||
'must be in same master/slaves for {1}').format(
|
||||
option.impl_getname(), opt.impl_getname()))
|
||||
_consistencies.setdefault(opt,
|
||||
[]).append((func,
|
||||
all_cons_opts,
|
||||
params))
|
||||
is_slave = None
|
||||
if option.impl_is_multi():
|
||||
if is_multi:
|
||||
all_requires = option.impl_getrequires()
|
||||
if all_requires != tuple():
|
||||
for requires in all_requires:
|
||||
|
Reference in New Issue
Block a user