1
0
Fork 0

Merge pull request #170 from olysonek/fix_plugin_net

For stable: Fix regressions in plugin_net
This commit is contained in:
Jaroslav Škarvada 2019-03-12 21:25:01 +01:00 committed by GitHub
commit 08b932c8b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 6 deletions

View file

@ -547,7 +547,13 @@ class Plugin(object):
ret = val == current_value
if ret:
break
if ret:
self._log_verification_result(name, ret, new_value,
current_value, device = device)
return ret
def _log_verification_result(self, name, success, new_value,
current_value, device = None):
if success:
if device is None:
log.info(consts.STR_VERIFY_PROFILE_VALUE_OK % (name, str(current_value).strip()))
else:

View file

@ -376,15 +376,30 @@ class NetTuningPlugin(base.Plugin):
command_name = context,
device_name = device)
if start:
cd = self._get_device_parameters(context, device)
d = self._set_device_parameters(context, value, device, verify,
dev_params = cd)
params_current = self._get_device_parameters(context,
device)
params_set = self._set_device_parameters(context,
value, device, verify,
dev_params = params_current)
# if none of parameters passed checks then the command completely
# failed
if len(d) == 0:
if len(params_set) == 0:
return False
relevant_params_current = [(param, value) for param, value
in params_current.items()
if param in params_set]
relevant_params_current = dict(relevant_params_current)
if verify:
res = (self._cmd.dict2list(params_set)
== self._cmd.dict2list(relevant_params_current))
self._log_verification_result(context, res,
params_set,
relevant_params_current,
device = device)
return res
# saved are only those parameters which passed checks
self._storage.set(storage_key," ".join(self._cmd.dict2list(d)))
self._storage.set(storage_key, " ".join(
self._cmd.dict2list(relevant_params_current)))
else:
original_value = self._storage.get(storage_key)
# in storage are only those parameters which were already tested