diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-11-21 00:34:25 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2020-11-21 00:36:00 +0100 |
commit | 193323ba5d2f0318ceb81b3969c0181ba3125cf2 (patch) | |
tree | ad22bcbb23b3a41fa0bae91cb41790c179352972 | |
parent | 5f5b2808c0a647cd20fb4c94bdb3dc36d634e3f2 (diff) | |
download | vyos-1x-193323ba5d2f0318ceb81b3969c0181ba3125cf2.tar.gz vyos-1x-193323ba5d2f0318ceb81b3969c0181ba3125cf2.zip |
system: T3078: rename "system options" -> "system option"
By design a CLI node should not be named by its plural but rather describe it
as singular.
-rw-r--r-- | interface-definitions/system-option.xml.in (renamed from interface-definitions/system-options.xml.in) | 86 | ||||
-rwxr-xr-x | src/conf_mode/system-option.py (renamed from src/conf_mode/system-options.py) | 11 | ||||
-rwxr-xr-x | src/migration-scripts/system/19-to-20 | 64 |
3 files changed, 112 insertions, 49 deletions
diff --git a/interface-definitions/system-options.xml.in b/interface-definitions/system-option.xml.in index 12e4044af..26b78c8a4 100644 --- a/interface-definitions/system-options.xml.in +++ b/interface-definitions/system-option.xml.in @@ -2,35 +2,29 @@ <interfaceDefinition> <node name="system"> <children> - <node name="options" owner="${vyos_conf_scripts_dir}/system-options.py"> + <node name="option" owner="${vyos_conf_scripts_dir}/system-option.py"> <properties> <help>System Options</help> <priority>9999</priority> </properties> <children> - <leafNode name="beep-if-fully-booted"> + <leafNode name="ctrl-alt-delete"> <properties> - <help>plays sound via system speaker when you can login</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="ctrl-alt-del-action"> - <properties> - <help>Ctrl-Alt-Delete action</help> + <help>System action on Ctrl-Alt-Delete keystroke</help> <completionHelp> <list>ignore reboot poweroff</list> </completionHelp> <valueHelp> <format>ignore</format> - <description>Ignore Ctrl-Alt-Delete</description> + <description>Ignore key sequence</description> </valueHelp> <valueHelp> <format>reboot</format> - <description>Reboot VyOS</description> + <description>Reboot system</description> </valueHelp> <valueHelp> <format>poweroff</format> - <description>Poweroff VyOS</description> + <description>Poweroff system</description> </valueHelp> <constraint> <regex>^(ignore|reboot|poweroff)$</regex> @@ -38,7 +32,40 @@ <constraintErrorMessage>Must be ignore, reboot, or poweroff</constraintErrorMessage> </properties> </leafNode> - <leafNode name="performance"> + <leafNode name="keyboard-layout"> + <properties> + <help>System keyboard layout, type ISO2</help> + <completionHelp> + <list>us fr de fi no dk</list> + </completionHelp> + <valueHelp> + <format>us</format> + <description>United States of America</description> + </valueHelp> + <valueHelp> + <format>fr</format> + <description>France</description> + </valueHelp> + <valueHelp> + <format>de</format> + <description>Germany</description> + </valueHelp> + <valueHelp> + <format>fi</format> + <description>Finland</description> + </valueHelp> + <valueHelp> + <format>no</format> + <description>Norway</description> + </valueHelp> + <valueHelp> + <format>dk</format> + <description>Denmark</description> + </valueHelp> + </properties> + <defaultValue>us</defaultValue> + </leafNode> + <leafNode name="performance"> <properties> <help>Tune system performance</help> <completionHelp> @@ -80,38 +107,11 @@ #include <include/source-address-ipv4-ipv6.xml.i> </children> </node> - <leafNode name="keyboard-layout"> + <leafNode name="startup-beep"> <properties> - <help>System keyboard layout, type ISO2</help> - <completionHelp> - <list>us fr de fi no dk</list> - </completionHelp> - <valueHelp> - <format>us</format> - <description>United States of America</description> - </valueHelp> - <valueHelp> - <format>fr</format> - <description>France</description> - </valueHelp> - <valueHelp> - <format>de</format> - <description>Germany</description> - </valueHelp> - <valueHelp> - <format>fi</format> - <description>Finland</description> - </valueHelp> - <valueHelp> - <format>no</format> - <description>Norway</description> - </valueHelp> - <valueHelp> - <format>dk</format> - <description>Denmark</description> - </valueHelp> + <help>plays sound via system speaker when you can login</help> + <valueless/> </properties> - <defaultValue>us</defaultValue> </leafNode> </children> </node> diff --git a/src/conf_mode/system-options.py b/src/conf_mode/system-option.py index 1061b90ac..2376e5d44 100755 --- a/src/conf_mode/system-options.py +++ b/src/conf_mode/system-option.py @@ -39,7 +39,7 @@ def get_config(config=None): conf = config else: conf = Config() - base = ['system', 'options'] + base = ['system', 'option'] options = conf.get_config_dict(base, key_mangling=('-', '_'), get_first_key=True) # We have gathered the dict representation of the CLI, but there are default @@ -79,7 +79,7 @@ def generate(options): def apply(options): # System bootup beep - if 'beep_if_fully_booted' in options: + if 'startup_beep' in options: cmd('systemctl enable vyos-beep.service') else: cmd('systemctl disable vyos-beep.service') @@ -87,10 +87,10 @@ def apply(options): # Ctrl-Alt-Delete action if os.path.exists(systemd_action_file): os.unlink(systemd_action_file) - if 'ctrl_alt_del_action' in options: - if options['ctrl_alt_del_action'] == 'reboot': + if 'ctrl_alt_del' in options: + if options['ctrl_alt_del'] == 'reboot': os.symlink('/lib/systemd/system/reboot.target', systemd_action_file) - elif options['ctrl_alt_del_action'] == 'poweroff': + elif options['ctrl_alt_del'] == 'poweroff': os.symlink('/lib/systemd/system/poweroff.target', systemd_action_file) # Configure HTTP client @@ -134,4 +134,3 @@ if __name__ == '__main__': except ConfigError as e: print(e) exit(1) - diff --git a/src/migration-scripts/system/19-to-20 b/src/migration-scripts/system/19-to-20 new file mode 100755 index 000000000..eb20fd8db --- /dev/null +++ b/src/migration-scripts/system/19-to-20 @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2020 VyOS maintainers and contributors +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 or later as +# published by the Free Software Foundation. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# T3048: remove smp-affinity node from ethernet and use tuned instead + +import os + +from sys import exit, argv +from vyos.configtree import ConfigTree + +if (len(argv) < 1): + print("Must specify file name!") + exit(1) + +file_name = argv[1] +with open(file_name, 'r') as f: + config_file = f.read() + +base = ['system', 'options'] +base_new = ['system', 'option'] +config = ConfigTree(config_file) + +if not config.exists(base): + # Nothing to do + exit(0) + +if config.exists(base_new): + for node in config.list_nodes(base): + config.copy(base + [node], base_new + [node]) +else: + config.copy(base, base_new) + +config.delete(base) + +# Rename "system option beep-if-fully-booted" -> "system option startup-beep" +base_beep = base_new + ['beep-if-fully-booted'] +if config.exists(base_beep): + config.rename(base_beep, 'startup-beep') + +# Rename "system option ctrl-alt-del-action" -> "system option ctrl-alt-delete" +base_ctrl_alt_del = base_new + ['ctrl-alt-del-action'] +if config.exists(base_ctrl_alt_del): + config.rename(base_ctrl_alt_del, 'ctrl-alt-delete') + + +try: + with open(file_name, 'w') as f: + f.write(config.to_string()) +except OSError as e: + print("Failed to save the modified config: {}".format(e)) + exit(1) |