diff options
Diffstat (limited to 'src/migration-scripts/pppoe-server')
-rwxr-xr-x | src/migration-scripts/pppoe-server/0-to-1 | 61 | ||||
-rwxr-xr-x | src/migration-scripts/pppoe-server/1-to-2 | 58 |
2 files changed, 71 insertions, 48 deletions
diff --git a/src/migration-scripts/pppoe-server/0-to-1 b/src/migration-scripts/pppoe-server/0-to-1 index bb24211b6..063c7eb56 100755 --- a/src/migration-scripts/pppoe-server/0-to-1 +++ b/src/migration-scripts/pppoe-server/0-to-1 @@ -1,37 +1,50 @@ #!/usr/bin/env python3 - -# Convert "service pppoe-server authentication radius-server node key" -# to: -# "service pppoe-server authentication radius-server node secret" - -import sys - +# +# 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/>. + +# Convert "service pppoe-server authentication radius-server node key" +# to: "service pppoe-server authentication radius-server node secret" + +from sys import argv, exit from vyos.configtree import ConfigTree -if (len(sys.argv) < 1): +if (len(argv) < 1): print("Must specify file name!") - sys.exit(1) + exit(1) -file_name = sys.argv[1] +file_name = argv[1] with open(file_name, 'r') as f: config_file = f.read() ctree = ConfigTree(config_file) +base = ['service', 'pppoe-server', 'authentication', 'radius-server'] - -if not ctree.exists(['service', 'pppoe-server', 'authentication','radius-server']): +if not ctree.exists(base): # Nothing to do - sys.exit(0) + exit(0) else: - nodes = ctree.list_nodes(['service', 'pppoe-server', 'authentication','radius-server']) - for node in nodes: - if ctree.exists(['service', 'pppoe-server', 'authentication', 'radius-server', node, 'key']): - val = ctree.return_value(['service', 'pppoe-server', 'authentication', 'radius-server', node, 'key']) - ctree.set(['service', 'pppoe-server', 'authentication', 'radius-server', node, 'secret'], value=val, replace=False) - ctree.delete(['service', 'pppoe-server', 'authentication', 'radius-server', node, 'key']) - try: - open(file_name,'w').write(ctree.to_string()) - except OSError as e: - print("Failed to save the modified config: {}".format(e)) - sys.exit(1) + nodes = ctree.list_nodes(base) + for node in nodes: + if ctree.exists(base + [node, 'key']): + val = ctree.return_value(base + [node, 'key']) + ctree.set(base + [node, 'secret'], value=val, replace=False) + ctree.delete(base + [node, 'key']) + + try: + open(file_name,'w').write(ctree.to_string()) + except OSError as e: + print("Failed to save the modified config: {}".format(e)) + exit(1) diff --git a/src/migration-scripts/pppoe-server/1-to-2 b/src/migration-scripts/pppoe-server/1-to-2 index fa83896d3..7cae3b5bc 100755 --- a/src/migration-scripts/pppoe-server/1-to-2 +++ b/src/migration-scripts/pppoe-server/1-to-2 @@ -1,18 +1,29 @@ #!/usr/bin/env python3 - -# Convert "service pppoe-server interface ethX" -# to: -# "service pppoe-server interface ethX {}" - -import sys - +# +# 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/>. + +# Convert "service pppoe-server interface ethX" to: "service pppoe-server interface ethX {}" + +from sys import argv, exit from vyos.configtree import ConfigTree -if (len(sys.argv) < 1): +if (len(argv) < 1): print("Must specify file name!") - sys.exit(1) + exit(1) -file_name = sys.argv[1] +file_name = argv[1] with open(file_name, 'r') as f: config_file = f.read() @@ -21,18 +32,17 @@ ctree = ConfigTree(config_file) cbase = ['service', 'pppoe-server','interface'] if not ctree.exists(cbase): - sys.exit(0) + exit(0) else: - nics = ctree.return_values(cbase) - # convert leafNode to a tagNode - ctree.set(cbase) - ctree.set_tag(cbase) - for nic in nics: - ctree.set(cbase + [nic]) - - try: - open(file_name,'w').write(ctree.to_string()) - except OSError as e: - print("Failed to save the modified config: {}".format(e)) - sys.exit(1) - + nics = ctree.return_values(cbase) + # convert leafNode to a tagNode + ctree.set(cbase) + ctree.set_tag(cbase) + for nic in nics: + ctree.set(cbase + [nic]) + + try: + open(file_name,'w').write(ctree.to_string()) + except OSError as e: + print("Failed to save the modified config: {}".format(e)) + exit(1) |