summaryrefslogtreecommitdiff
path: root/src/migration-scripts/system
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-06-21 11:28:03 +0200
committerChristian Poessinger <christian@poessinger.com>2020-06-21 11:31:27 +0200
commita39c0bdd9a7bbceefad71edc14a87a1dd90ffb7a (patch)
treed4d91449687228381634ef8491123f618dbfa4ca /src/migration-scripts/system
parent5d6f3db6a0a6e65a9eb81cede4c59c7d22f2cae0 (diff)
downloadvyos-1x-a39c0bdd9a7bbceefad71edc14a87a1dd90ffb7a.tar.gz
vyos-1x-a39c0bdd9a7bbceefad71edc14a87a1dd90ffb7a.zip
console: T2624: fix migration script for configured powersave and no console
When the 'powersave' option under 'system console' was defined but no actual serial console device this cause the following error during migration: Loading configuration from 'config.boot' Traceback (most recent call last): File "/opt/vyatta/etc/config-migrate/migrate/system/16-to-17", line 45, in <module> for device in config.list_nodes(base + ['device']): File "/usr/lib/python3/dist-packages/vyos/configtree.py", line 236, in list_nodes raise ConfigTreeError("Path [{}] doesn't exist".format(path_str)) vyos.configtree.ConfigTreeError: Path [b'system console device'] doesn't exist
Diffstat (limited to 'src/migration-scripts/system')
-rwxr-xr-xsrc/migration-scripts/system/16-to-1745
1 files changed, 23 insertions, 22 deletions
diff --git a/src/migration-scripts/system/16-to-17 b/src/migration-scripts/system/16-to-17
index 981149d1b..8f762c0e2 100755
--- a/src/migration-scripts/system/16-to-17
+++ b/src/migration-scripts/system/16-to-17
@@ -41,31 +41,32 @@ else:
if config.exists(base + ['netconsole']):
config.delete(base + ['netconsole'])
- for device in config.list_nodes(base + ['device']):
- dev_path = base + ['device', device]
- # remove "system console device <device> modem" (T2570)
- if config.exists(dev_path + ['modem']):
- config.delete(dev_path + ['modem'])
+ if config.exists(base + ['device']):
+ for device in config.list_nodes(base + ['device']):
+ dev_path = base + ['device', device]
+ # remove "system console device <device> modem" (T2570)
+ if config.exists(dev_path + ['modem']):
+ config.delete(dev_path + ['modem'])
- # Only continue on USB based serial consoles
- if not 'ttyUSB' in device:
- continue
+ # Only continue on USB based serial consoles
+ if not 'ttyUSB' in device:
+ continue
- # A serial console has been configured but it does no longer
- # exist on the system - cleanup
- if not os.path.exists(f'/dev/{device}'):
- config.delete(dev_path)
- continue
+ # A serial console has been configured but it does no longer
+ # exist on the system - cleanup
+ if not os.path.exists(f'/dev/{device}'):
+ config.delete(dev_path)
+ continue
- # migrate from ttyUSB device to new device in /dev/serial/by-bus
- for root, dirs, files in os.walk('/dev/serial/by-bus'):
- for usb_device in files:
- device_file = os.path.realpath(os.path.join(root, usb_device))
- # migrate to new USB device names (T2529)
- if os.path.basename(device_file) == device:
- config.copy(dev_path, base + ['device', usb_device])
- # Delete old USB node from config
- config.delete(dev_path)
+ # migrate from ttyUSB device to new device in /dev/serial/by-bus
+ for root, dirs, files in os.walk('/dev/serial/by-bus'):
+ for usb_device in files:
+ device_file = os.path.realpath(os.path.join(root, usb_device))
+ # migrate to new USB device names (T2529)
+ if os.path.basename(device_file) == device:
+ config.copy(dev_path, base + ['device', usb_device])
+ # Delete old USB node from config
+ config.delete(dev_path)
try:
with open(file_name, 'w') as f: