summaryrefslogtreecommitdiff
path: root/src/migration-scripts/system/14-to-15
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-12-30 14:42:04 +0100
committerChristian Poessinger <christian@poessinger.com>2019-12-30 14:42:04 +0100
commitb9a6dab2d4f162eba59b9eec989b1de1b249f3fd (patch)
treeda4e26a68aeb143045ffa7d38b0ebd9a2ea49fed /src/migration-scripts/system/14-to-15
parent972944a930c4417af86acb5905b6f92ec55eeb1c (diff)
downloadvyos-1x-b9a6dab2d4f162eba59b9eec989b1de1b249f3fd.tar.gz
vyos-1x-b9a6dab2d4f162eba59b9eec989b1de1b249f3fd.zip
options: T1919: migrate 'system options' to XML/Python representation
Diffstat (limited to 'src/migration-scripts/system/14-to-15')
-rwxr-xr-xsrc/migration-scripts/system/14-to-1538
1 files changed, 38 insertions, 0 deletions
diff --git a/src/migration-scripts/system/14-to-15 b/src/migration-scripts/system/14-to-15
new file mode 100755
index 000000000..fd89ae57a
--- /dev/null
+++ b/src/migration-scripts/system/14-to-15
@@ -0,0 +1,38 @@
+#!/usr/bin/env python3
+#
+# Make 'system options reboot-on-panic' valueless
+
+import os
+import sys
+
+from vyos.configtree import ConfigTree
+
+if (len(sys.argv) < 1):
+ print("Must specify file name!")
+ sys.exit(1)
+
+file_name = sys.argv[1]
+
+with open(file_name, 'r') as f:
+ config_file = f.read()
+
+config = ConfigTree(config_file)
+base = ['system', 'options']
+if not config.exists(base):
+ # Nothing to do
+ sys.exit(0)
+else:
+ # delete 'system ipv6 blacklist' node
+ if config.exists(base + ['reboot-on-panic']):
+ reboot = config.return_value(base + ['reboot-on-panic'])
+ config.delete(base + ['reboot-on-panic'])
+ # create new valueless node if action was true
+ if reboot == "true":
+ config.set(base + ['reboot-on-panic'])
+
+ 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))
+ sys.exit(1)