diff options
author | Nataliia Solomko <natalirs1985@gmail.com> | 2024-10-28 15:18:19 +0200 |
---|---|---|
committer | Nataliia Solomko <natalirs1985@gmail.com> | 2024-11-07 19:29:05 +0200 |
commit | 029cde4608c450a16495e0676b410a4b38183960 (patch) | |
tree | 85f814196db8d9c26911faf1df1c4118533540a7 /src | |
parent | ceb64f3dca08a14ea4ea407844103e81f8e4648a (diff) | |
download | vyos-1x-029cde4608c450a16495e0676b410a4b38183960.tar.gz vyos-1x-029cde4608c450a16495e0676b410a4b38183960.zip |
T3501: Allow using more than one tuned profile
Diffstat (limited to 'src')
-rwxr-xr-x | src/conf_mode/system_option.py | 12 | ||||
-rw-r--r-- | src/migration-scripts/system/27-to-28 | 33 |
2 files changed, 44 insertions, 1 deletions
diff --git a/src/conf_mode/system_option.py b/src/conf_mode/system_option.py index a84572f83..e2832cde6 100755 --- a/src/conf_mode/system_option.py +++ b/src/conf_mode/system_option.py @@ -46,6 +46,13 @@ systemd_action_file = '/lib/systemd/system/ctrl-alt-del.target' usb_autosuspend = r'/etc/udev/rules.d/40-usb-autosuspend.rules' kernel_dynamic_debug = r'/sys/kernel/debug/dynamic_debug/control' time_format_to_locale = {'12-hour': 'en_US.UTF-8', '24-hour': 'en_GB.UTF-8'} +tuned_profiles = { + 'power-save': 'powersave', + 'network-latency': 'network-latency', + 'network-throughput': 'network-throughput', + 'virtual-guest': 'virtual-guest', + 'virtual-host': 'virtual-host', +} def get_config(config=None): @@ -171,7 +178,10 @@ def apply(options): # wait until daemon has started before sending configuration while not is_systemd_service_running('tuned.service'): sleep(0.250) - cmd('tuned-adm profile network-{performance}'.format(**options)) + performance = ' '.join( + list(tuned_profiles[profile] for profile in options['performance']) + ) + cmd(f'tuned-adm profile {performance}') else: cmd('systemctl stop tuned.service') diff --git a/src/migration-scripts/system/27-to-28 b/src/migration-scripts/system/27-to-28 new file mode 100644 index 000000000..0a5be48ab --- /dev/null +++ b/src/migration-scripts/system/27-to-28 @@ -0,0 +1,33 @@ +# Copyright 2023-2024 VyOS maintainers and contributors <maintainers@vyos.io> +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library. If not, see <http://www.gnu.org/licenses/>. + +# rename 'system option performance' leaf nodes to new names + +from vyos.configtree import ConfigTree + +base = ['system', 'option', 'performance'] + +def migrate(config: ConfigTree) -> None: + if not config.exists(base): + return + + replace = { + 'throughput' : 'network-throughput', + 'latency' : 'network-latency' + } + + for old_name, new_name in replace.items(): + if config.return_value(base) == old_name: + config.set(base, new_name) |