fix: subconfig with follower
This commit is contained in:
parent
50ff511554
commit
27e8f0c69f
2 changed files with 9 additions and 5 deletions
|
|
@ -410,6 +410,9 @@ def test_groups_with_leader_hidden_in_config():
|
|||
cfg.option('ip_admin_eth0.ip_admin_eth0').value.get()
|
||||
with pytest.raises(PropertiesOptionError):
|
||||
cfg.option('ip_admin_eth0.netmask_admin_eth0', 0).value.get()
|
||||
cfg.forcepermissive.option('ip_admin_eth0.netmask_admin_eth0').index(0).value.get()
|
||||
with pytest.raises(PropertiesOptionError):
|
||||
cfg.option('ip_admin_eth0.netmask_admin_eth0').index(0).value.get()
|
||||
assert parse_od_get(cfg.value.get()) == {}
|
||||
# assert not list_sessions()
|
||||
|
||||
|
|
|
|||
|
|
@ -559,6 +559,7 @@ class _TiramisuOptionOptionDescription:
|
|||
leadership.option.get_leader(),
|
||||
None,
|
||||
False,
|
||||
config_bag=self._config_bag,
|
||||
)
|
||||
return TiramisuOption(
|
||||
leader_subconfig.path,
|
||||
|
|
@ -581,6 +582,7 @@ class _TiramisuOptionOptionDescription:
|
|||
follower,
|
||||
None,
|
||||
False,
|
||||
config_bag=self._config_bag,
|
||||
)
|
||||
ret.append(
|
||||
TiramisuOption(
|
||||
|
|
@ -687,6 +689,7 @@ class _TiramisuOptionOption(_TiramisuOptionOptionDescription):
|
|||
self._subconfig.option,
|
||||
index,
|
||||
True,
|
||||
config_bag=self._config_bag,
|
||||
)
|
||||
return TiramisuOption(self._path, index, self._config_bag, subconfig=subconfig)
|
||||
|
||||
|
|
@ -1080,8 +1083,8 @@ class TiramisuOptionValue(CommonTiramisuOption, _TiramisuODGet):
|
|||
if uncalculated:
|
||||
return self._subconfig.option.impl_getdefault()
|
||||
if self._subconfig.option.impl_is_follower() and self._subconfig.index is None:
|
||||
msg = _("please specify index with a follower option ({0}.{1})").format(
|
||||
self.__class__.__name__, func.__name__
|
||||
msg = _("please specify index with a follower option ({0})").format(
|
||||
self._subconfig.path
|
||||
)
|
||||
raise ConfigError(msg)
|
||||
return self._config_bag.context.get_values().get_default_value(self._subconfig)
|
||||
|
|
@ -1284,9 +1287,7 @@ class TiramisuOption(
|
|||
config_bag.nowarnings()
|
||||
else:
|
||||
config_bag.set_permissive()
|
||||
if self._subconfig is not None:
|
||||
self._subconfig.config_bag = config_bag
|
||||
return self.__class__(self._path, self._index, config_bag, subconfig=self._subconfig)
|
||||
return self.__class__(self._path, self._index, config_bag)
|
||||
raise ConfigError(
|
||||
_("please specify a valid sub function ({0}.{1}) for {2}").format(
|
||||
self.__class__.__name__, subfunc, self._path
|
||||
|
|
|
|||
Loading…
Reference in a new issue