[hostcfgd] Optimize the hostcfgs by moving the definition cmds into the loop to optimize the enable/disable service command run. (#13064)
Signed-off-by: mlok <marty.lok@nokia.com> Signed-off-by: mlok <marty.lok@nokia.com>
This commit is contained in:
parent
e8a882151b
commit
e55c04f3e4
@ -324,7 +324,7 @@ class FeatureHandler(object):
|
|||||||
None.
|
None.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
cmds = []
|
|
||||||
feature_names, feature_suffixes = self.get_multiasic_feature_instances(feature_config, True)
|
feature_names, feature_suffixes = self.get_multiasic_feature_instances(feature_config, True)
|
||||||
for feature_name in feature_names:
|
for feature_name in feature_names:
|
||||||
if '@' not in feature_name:
|
if '@' not in feature_name:
|
||||||
@ -333,6 +333,7 @@ class FeatureHandler(object):
|
|||||||
if not unit_file_state:
|
if not unit_file_state:
|
||||||
continue
|
continue
|
||||||
if unit_file_state != "disabled" and not feature_config.has_per_asic_scope:
|
if unit_file_state != "disabled" and not feature_config.has_per_asic_scope:
|
||||||
|
cmds = []
|
||||||
for suffix in reversed(feature_suffixes):
|
for suffix in reversed(feature_suffixes):
|
||||||
cmds.append("sudo systemctl stop {}.{}".format(feature_name, suffix))
|
cmds.append("sudo systemctl stop {}.{}".format(feature_name, suffix))
|
||||||
cmds.append("sudo systemctl disable {}.{}".format(feature_name, feature_suffixes[-1]))
|
cmds.append("sudo systemctl disable {}.{}".format(feature_name, feature_suffixes[-1]))
|
||||||
@ -420,14 +421,13 @@ class FeatureHandler(object):
|
|||||||
return props["UnitFileState"]
|
return props["UnitFileState"]
|
||||||
|
|
||||||
def enable_feature(self, feature):
|
def enable_feature(self, feature):
|
||||||
cmds = []
|
|
||||||
feature_names, feature_suffixes = self.get_multiasic_feature_instances(feature)
|
feature_names, feature_suffixes = self.get_multiasic_feature_instances(feature)
|
||||||
for feature_name in feature_names:
|
for feature_name in feature_names:
|
||||||
# Check if it is already enabled, if yes skip the system call
|
# Check if it is already enabled, if yes skip the system call
|
||||||
unit_file_state = self.get_systemd_unit_state("{}.{}".format(feature_name, feature_suffixes[-1]))
|
unit_file_state = self.get_systemd_unit_state("{}.{}".format(feature_name, feature_suffixes[-1]))
|
||||||
if unit_file_state == "enabled" or not unit_file_state:
|
if unit_file_state == "enabled" or not unit_file_state:
|
||||||
continue
|
continue
|
||||||
|
cmds = []
|
||||||
for suffix in feature_suffixes:
|
for suffix in feature_suffixes:
|
||||||
cmds.append("sudo systemctl unmask {}.{}".format(feature_name, suffix))
|
cmds.append("sudo systemctl unmask {}.{}".format(feature_name, suffix))
|
||||||
|
|
||||||
@ -450,14 +450,13 @@ class FeatureHandler(object):
|
|||||||
self.set_feature_state(feature, self.FEATURE_STATE_ENABLED)
|
self.set_feature_state(feature, self.FEATURE_STATE_ENABLED)
|
||||||
|
|
||||||
def disable_feature(self, feature):
|
def disable_feature(self, feature):
|
||||||
cmds = []
|
|
||||||
feature_names, feature_suffixes = self.get_multiasic_feature_instances(feature)
|
feature_names, feature_suffixes = self.get_multiasic_feature_instances(feature)
|
||||||
for feature_name in feature_names:
|
for feature_name in feature_names:
|
||||||
# Check if it is already disabled, if yes skip the system call
|
# Check if it is already disabled, if yes skip the system call
|
||||||
unit_file_state = self.get_systemd_unit_state("{}.{}".format(feature_name, feature_suffixes[-1]))
|
unit_file_state = self.get_systemd_unit_state("{}.{}".format(feature_name, feature_suffixes[-1]))
|
||||||
if unit_file_state in ("disabled", "masked") or not unit_file_state:
|
if unit_file_state in ("disabled", "masked") or not unit_file_state:
|
||||||
continue
|
continue
|
||||||
|
cmds = []
|
||||||
for suffix in reversed(feature_suffixes):
|
for suffix in reversed(feature_suffixes):
|
||||||
cmds.append("sudo systemctl stop {}.{}".format(feature_name, suffix))
|
cmds.append("sudo systemctl stop {}.{}".format(feature_name, suffix))
|
||||||
cmds.append("sudo systemctl disable {}.{}".format(feature_name, feature_suffixes[-1]))
|
cmds.append("sudo systemctl disable {}.{}".format(feature_name, feature_suffixes[-1]))
|
||||||
|
Reference in New Issue
Block a user