New get_os_release_info function
Change-Id: Ib758474035b05284d3b9fe05d219d3680d25ba30
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/syslib/utils_os.py b/syslib/utils_os.py
new file mode 100755
index 0000000..b4b2a5c
--- /dev/null
+++ b/syslib/utils_os.py
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+
+r"""
+This file contains utilities associated with the host OS.
+"""
+
+import bmc_ssh_utils
+import var_funcs
+
+
+def get_os_release_info():
+ r"""
+
+ Get os-release info and return it as a dictionary.
+
+ An example of the contents of /etc/os-release:
+
+ NAME="Red Hat Enterprise Linux Server"
+ VERSION="7.5 (Maipo)"
+ ID="rhel"
+ ID_LIKE="fedora"
+ VARIANT="Server"
+ VARIANT_ID="server"
+ VERSION_ID="7.5"
+ PRETTY_NAME="Red Hat Enterprise Linux Server 7.5 Beta (Maipo)"
+ ANSI_COLOR="0;31"
+ CPE_NAME="cpe:/o:redhat:enterprise_linux:7.5:beta:server"
+ HOME_URL="https://www.redhat.com/"
+ BUG_REPORT_URL="https://bugzilla.redhat.com/"
+
+ REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
+ REDHAT_BUGZILLA_PRODUCT_VERSION=7.5
+ REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
+ REDHAT_SUPPORT_PRODUCT_VERSION="7.5 Beta"
+
+ For the data shown above, this function will return the following
+ dictionary:
+
+ result:
+ [name]: Red Hat Enterprise Linux Server
+ [version]: 7.5 (Maipo)
+ [id]: rhel
+ [id_like]: fedora
+ [variant]: Server
+ [variant_id]: server
+ [version_id]: 7.5
+ [pretty_name]: Red Hat Enterprise Linux Server 7.5 Beta (Maipo)
+ [ansi_color]: 0;31
+ [cpe_name]: cpe:/o:redhat:enterprise_linux:7.5:beta:server
+ [home_url]: https://www.redhat.com/
+ [bug_report_url]: https://bugzilla.redhat.com/
+ [redhat_bugzilla_product]: Red Hat Enterprise Linux 7
+ [redhat_bugzilla_product_version]: 7.5
+ [redhat_support_product]: Red Hat Enterprise Linux
+ [redhat_support_product_version]: 7.5 Beta
+ """
+
+ stdout, stderr, rc =\
+ bmc_ssh_utils.os_execute_command("cat /etc/os-release")
+
+ return var_funcs.key_value_outbuf_to_dict(stdout, delim="=", strip='"')