From 3f8fe7a43fec410545b3004878de0c023955ee49 Mon Sep 17 00:00:00 2001 From: Andrii <85483797+andriiandrieiev@users.noreply.github.com> Date: Thu, 25 Nov 2021 13:18:07 +0200 Subject: filesystem: T3946: GPT table fix after disk resize --- src/op_mode/force_root-partition-auto-resize.sh | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/op_mode') diff --git a/src/op_mode/force_root-partition-auto-resize.sh b/src/op_mode/force_root-partition-auto-resize.sh index 4f13e3e03..b39e87560 100755 --- a/src/op_mode/force_root-partition-auto-resize.sh +++ b/src/op_mode/force_root-partition-auto-resize.sh @@ -44,7 +44,13 @@ fi # # Resize the partition and grow the filesystem. # +# "print" and "Fix" directives were added to fix GPT table if it corrupted after virtual drive extension. +# If GPT table is corrupted we'll get Fix/Ignore dialogue after "print" command. +# "Fix" will be the answer for this dialogue. +# If GPT table is fine and no auto-fix dialogue appeared the directive "Fix" simply will print parted utility help info. parted -m ${ROOT_DEV} ---pretend-input-tty > /dev/null 2>&1 < Date: Sun, 28 Nov 2021 10:44:12 +0100 Subject: op-mode: lldp: T3999: bugfix KeyError: 'capability' --- src/op_mode/lldp_op.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/op_mode') diff --git a/src/op_mode/lldp_op.py b/src/op_mode/lldp_op.py index 731e71891..b9ebc991a 100755 --- a/src/op_mode/lldp_op.py +++ b/src/op_mode/lldp_op.py @@ -55,6 +55,9 @@ def parse_data(data, interface): if interface is not None and local_if != interface: continue for chassis, c_value in values.get('chassis', {}).items(): + # bail out early if no capabilities found + if 'capability' not in c_value: + continue capabilities = c_value['capability'] if isinstance(capabilities, dict): capabilities = [capabilities] -- cgit v1.2.3 From f36ac55e5355b170b181eef999be616700edffc1 Mon Sep 17 00:00:00 2001 From: Viacheslav Date: Mon, 29 Nov 2021 19:54:42 +0000 Subject: op-mode: T3725: Show configuration in JSON format --- op-mode-definitions/show-configuration.xml.in | 15 +++++++++++ src/op_mode/show_configuration_json.py | 36 +++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100755 src/op_mode/show_configuration_json.py (limited to 'src/op_mode') diff --git a/op-mode-definitions/show-configuration.xml.in b/op-mode-definitions/show-configuration.xml.in index 318942ab0..5a2fdedfa 100644 --- a/op-mode-definitions/show-configuration.xml.in +++ b/op-mode-definitions/show-configuration.xml.in @@ -30,6 +30,21 @@ ${vyos_op_scripts_dir}/show_configuration_files.sh + + + Show running configuration in JSON format + + + ${vyos_op_scripts_dir}/show_configuration_json.py + + + + Show running configuration in readable JSON format + + ${vyos_op_scripts_dir}/show_configuration_json.py --pretty + + + diff --git a/src/op_mode/show_configuration_json.py b/src/op_mode/show_configuration_json.py new file mode 100755 index 000000000..fdece533b --- /dev/null +++ b/src/op_mode/show_configuration_json.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2021 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 . + +import argparse +import json + +from vyos.configquery import ConfigTreeQuery + + +config = ConfigTreeQuery() +c = config.get_config_dict() + +parser = argparse.ArgumentParser() +parser.add_argument("-p", "--pretty", action="store_true", help="Show pretty configuration in JSON format") + + +if __name__ == '__main__': + args = parser.parse_args() + + if args.pretty: + print(json.dumps(c, indent=4)) + else: + print(json.dumps(c)) -- cgit v1.2.3