summaryrefslogtreecommitdiff
path: root/src/migration-scripts/interfaces/26-to-27
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-12-10 11:44:46 +0100
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2023-12-10 18:49:10 +0000
commitda79067993f7bfc4426c8af660b25ff7163ad409 (patch)
tree32df4d2a4c233b3b0899462f1a1a8ffb96d81b4e /src/migration-scripts/interfaces/26-to-27
parent5ff7613b3fbe2de244bfba57ced93a50156f6b75 (diff)
downloadvyos-1x-da79067993f7bfc4426c8af660b25ff7163ad409.tar.gz
vyos-1x-da79067993f7bfc4426c8af660b25ff7163ad409.zip
migration: T5413: re-sequence interfaces migration scripts
PR https://github.com/vyos/vyos-1x/pull/2540 backported a migration script from current to the equuleus LTS branch. As migration scripts are executed in order to adjust the CLI for necessary improvements in future LTS releases we need to change the versioning of the migration files to match the new "base" version from the previous LTS release. In theory this could break very ancient 1.4 rolling releases (from the early days of the OSPF refactoring) - but those versions are considered very much unstable. Now this is the last chance to sync up the migration scripts before the 1.4 LTS release. (cherry picked from commit 98ca0984312257a09b57d4aac60ff4abf7f84e66)
Diffstat (limited to 'src/migration-scripts/interfaces/26-to-27')
-rwxr-xr-xsrc/migration-scripts/interfaces/26-to-2727
1 files changed, 16 insertions, 11 deletions
diff --git a/src/migration-scripts/interfaces/26-to-27 b/src/migration-scripts/interfaces/26-to-27
index a0d043d11..4967a29fa 100755
--- a/src/migration-scripts/interfaces/26-to-27
+++ b/src/migration-scripts/interfaces/26-to-27
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
-# Copyright (C) 2023 VyOS maintainers and contributors
+# Copyright (C) 2022 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
@@ -14,8 +14,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# T4995: pppoe, wwan, sstpc-client rename "authentication user" CLI node
-# to "authentication username"
+# T4384: pppoe: replace default-route CLI option with common CLI nodes already
+# present for DHCP
from sys import argv
@@ -30,16 +30,21 @@ file_name = argv[1]
with open(file_name, 'r') as f:
config_file = f.read()
+base = ['interfaces', 'pppoe']
config = ConfigTree(config_file)
-for type in ['pppoe', 'sstpc-client', 'wwam']:
- base = ['interfaces', type]
- if not config.exists(base):
- continue
- for interface in config.list_nodes(base):
- auth_base = base + [interface, 'authentication', 'user']
- if config.exists(auth_base):
- config.rename(auth_base, 'username')
+if not config.exists(base):
+ exit(0)
+
+for ifname in config.list_nodes(base):
+ tmp_config = base + [ifname, 'default-route']
+ if config.exists(tmp_config):
+ # Retrieve current config value
+ value = config.return_value(tmp_config)
+ # Delete old Config node
+ config.delete(tmp_config)
+ if value == 'none':
+ config.set(base + [ifname, 'no-default-route'])
try:
with open(file_name, 'w') as f: