summaryrefslogtreecommitdiff
path: root/src/migration-scripts/interfaces/8-to-9
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-09 21:20:29 +0200
committerChristian Poessinger <christian@poessinger.com>2020-04-09 21:20:29 +0200
commit28454f9613f41a1e70b60eec20930c2232e2d9c9 (patch)
tree778fe4df0cffeed7513e33c5cbd0c438b8236fdd /src/migration-scripts/interfaces/8-to-9
parent9875a21bdb26df19f2faf3e81153dea15e4f9e3c (diff)
parent316483cbe18811c6eaea07d5b790094a5de45abe (diff)
downloadvyos-1x-28454f9613f41a1e70b60eec20930c2232e2d9c9.tar.gz
vyos-1x-28454f9613f41a1e70b60eec20930c2232e2d9c9.zip
Merge branch 'vxlan' of github.com:c-po/vyos-1x into current
* 'vxlan' of github.com:c-po/vyos-1x: vxlan: pseudo-ethernet: T2260: convert link nodes to source-interface wireguard: T2206: fix comment in migration script pppoe: enable Jinja2 trim_blocks
Diffstat (limited to 'src/migration-scripts/interfaces/8-to-9')
-rwxr-xr-xsrc/migration-scripts/interfaces/8-to-952
1 files changed, 52 insertions, 0 deletions
diff --git a/src/migration-scripts/interfaces/8-to-9 b/src/migration-scripts/interfaces/8-to-9
new file mode 100755
index 000000000..e0b9dd375
--- /dev/null
+++ b/src/migration-scripts/interfaces/8-to-9
@@ -0,0 +1,52 @@
+#!/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/>.
+
+# Rename link nodes to source-interface for the following interface types:
+# - vxlan
+# - pseudo ethernet
+
+from sys import exit, argv
+from vyos.configtree import ConfigTree
+
+if __name__ == '__main__':
+ 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()
+
+ config = ConfigTree(config_file)
+
+ for if_type in ['vxlan', 'pseudo-ethernet']:
+ base = ['interfaces', if_type]
+ if not config.exists(base):
+ # Nothing to do
+ exit(0)
+
+ # list all individual interface isntance
+ for i in config.list_nodes(base):
+ iface = base + [i]
+ if config.exists(iface + ['link']):
+ config.rename(iface + ['link'], 'source-interface')
+
+ 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)