diff --git a/syslib/utils_keywords.py b/syslib/utils_keywords.py
index f2368b6..2a33736 100644
--- a/syslib/utils_keywords.py
+++ b/syslib/utils_keywords.py
@@ -6,18 +6,15 @@
 """
 
 try:
-    from robot.libraries.BuiltIn import BuiltIn
     from robot.libraries import DateTime
+    from robot.libraries.BuiltIn import BuiltIn
 except ImportError:
     pass
-import time
 import os
+import time
 
 
-def run_until_keyword_fails(retry,
-                            retry_interval,
-                            name,
-                            *args):
+def run_until_keyword_fails(retry, retry_interval, name, *args):
     r"""
     Execute a robot keyword repeatedly until it either fails or the timeout
     value is exceeded.
diff --git a/syslib/utils_os.py b/syslib/utils_os.py
index 0c6131a..a1b4223 100755
--- a/syslib/utils_os.py
+++ b/syslib/utils_os.py
@@ -4,68 +4,67 @@
 This file contains utilities associated with the host OS.
 """
 
-import sys
 import os
+import sys
 
 sys.path.append(os.path.join(os.path.dirname(__file__), "../lib"))
 
 import bmc_ssh_utils  # NOQA
-import var_funcs      # NOQA
+import var_funcs  # NOQA
 
 
 def get_os_release_info(default_cmd="cat /etc/os-release"):
     r"""
 
-    Get os-release info and return it as a dictionary.
+        Get os-release info and return it as a dictionary.
 
-    An example of the contents of /etc/os-release:
+        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/"
+        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"
+        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:
+        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
+        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
 
 
-.   Description of argument(s):
-    default_cmd    A string command to be executed (e.g cat /etc/os-release).
+    .   Description of argument(s):
+        default_cmd    A string command to be executed (e.g cat /etc/os-release).
 
     """
 
-    stdout, stderr, rc =\
-        bmc_ssh_utils.os_execute_command(default_cmd)
+    stdout, stderr, rc = bmc_ssh_utils.os_execute_command(default_cmd)
 
     return var_funcs.key_value_outbuf_to_dict(stdout, delim="=", strip='"')
