summaryrefslogtreecommitdiff
path: root/scripts/vyos-show-version
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/vyos-show-version')
-rw-r--r--scripts/vyos-show-version111
1 files changed, 0 insertions, 111 deletions
diff --git a/scripts/vyos-show-version b/scripts/vyos-show-version
deleted file mode 100644
index be86b73..0000000
--- a/scripts/vyos-show-version
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2016 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/>.
-#
-# File: vyos-show-version
-# Purpose:
-# Displays image version and system information.
-# Used by the "run show version" command.
-
-
-import sys
-import subprocess
-import json
-
-import pystache
-
-
-def read_file(name):
- try:
- with open (name, "r") as f:
- data = f.read()
- return data.strip()
- except:
- # This works since we only read /sys/class/* stuff
- # with this function
- return "Unknown"
-
-version_file = '/opt/vyatta/etc/version.json'
-version_data = None
-
-version_output_tmpl = """
-Version: VyOS {{version}}
-Built by: {{built_by}}
-Built on: {{built_on}}
-Build ID: {{build_id}}
-
-Architecture: {{system_arch}}
-Boot via: {{boot_via}}
-System type: {{system_type}}
-
-Hardware vendor: {{hardware_vendor}}
-Hardware model: {{hardware_model}}
-Hardware S/N: {{hardware_serial}}
-Hardware UUID: {{hardware_uuid}}
-
-Copyright: VyOS maintainers and contributors
-
-"""
-
-# Get and display image version data from the built-in version file
-# This gives us image version, built on, build by, and build UUID
-try:
- with open(version_file, 'r') as f:
- version_data = json.load(f)
-except:
- print("Unable to get VyOS version data")
- sys.exit(1)
-
-
-# Get system architecture (well, kernel architecture rather)
-version_data['system_arch'] = subprocess.check_output('uname -m', shell=True).strip()
-
-
-# Get hypervisor name, if any
-system_type = "bare metal"
-try:
- hypervisor = subprocess.check_output('hvinfo 2>/dev/null', shell=True).decode().strip()
- system_type = "{0} guest".format(hypervisor)
-except subprocess.CalledProcessError:
- # hvinfo returns 1 if it cannot detect any hypervisor
- pass
-version_data['system_type'] = system_type
-
-
-# Get boot type, it can be livecd, installed image, or, possible, a system installed
-# via legacy "install system" mechanism
-# In installed images, the squashfs image file is named after its image version,
-# while on livecd it's just "filesystem.squashfs", that's how we tell a livecd boot
-# from an installed image
-boot_via = "installed image"
-if subprocess.call(""" grep -e '^overlay.*/filesystem.squashfs' /proc/mounts >/dev/null""", shell=True) == 0:
- boot_via = "livecd"
-elif subprocess.call(""" grep '^overlay /' /proc/mounts >/dev/null """, shell=True) != 0:
- boot_via = "legacy non-image installation"
-version_data['boot_via'] = boot_via
-
-
-# Get hardware details from DMI
-version_data['hardware_vendor'] = read_file('/sys/class/dmi/id/sys_vendor')
-version_data['hardware_model'] = read_file('/sys/class/dmi/id/product_name')
-
-# These two assume script is run as root, normal users can't access those files
-version_data['hardware_serial'] = read_file('/sys/class/dmi/id/subsystem/id/product_serial')
-version_data['hardware_uuid'] = read_file('/sys/class/dmi/id/subsystem/id/product_uuid')
-
-
-output = pystache.render(version_output_tmpl, version_data).strip()
-print(output)
-