diff options
author | John Estabrook <jestabro@vyos.io> | 2022-03-10 10:07:31 -0600 |
---|---|---|
committer | John Estabrook <jestabro@vyos.io> | 2022-03-10 12:11:07 -0600 |
commit | c1e04cea0817db07b22a8bd8e6b2f2c0a1e682f4 (patch) | |
tree | 3f238ec7e17d3ae895b8db1093c608ee488bc6e1 /python/vyos/systemversions.py | |
parent | ef4870e66f8c1cd6df5fba2abbfdde0eac152e0a (diff) | |
download | vyos-1x-c1e04cea0817db07b22a8bd8e6b2f2c0a1e682f4.tar.gz vyos-1x-c1e04cea0817db07b22a8bd8e6b2f2c0a1e682f4.zip |
Revert "component_version: T4291: consolidate read/write functions"
This reverts commit 534f677d36285863decb2cdff179687b4fd690cb.
Revert while investigating failure in vyos-configtest.
Diffstat (limited to 'python/vyos/systemversions.py')
-rw-r--r-- | python/vyos/systemversions.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/python/vyos/systemversions.py b/python/vyos/systemversions.py new file mode 100644 index 000000000..f2da76d4f --- /dev/null +++ b/python/vyos/systemversions.py @@ -0,0 +1,46 @@ +# Copyright 2019 VyOS maintainers and contributors <maintainers@vyos.io> +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library. If not, see <http://www.gnu.org/licenses/>. + +import os +import re +import sys +import vyos.defaults +from vyos.xml import component_version + +# legacy version, reading from the file names in +# /opt/vyatta/etc/config-migrate/current +def get_system_versions(): + """ + Get component versions from running system; critical failure if + unable to read migration directory. + """ + system_versions = {} + + try: + version_info = os.listdir(vyos.defaults.directories['current']) + except OSError as err: + print("OS error: {}".format(err)) + sys.exit(1) + + for info in version_info: + if re.match(r'[\w,-]+@\d+', info): + pair = info.split('@') + system_versions[pair[0]] = int(pair[1]) + + return system_versions + +# read from xml cache +def get_system_component_version(): + return component_version() |