Move the unsupported platform method to utils.

Bug: 120365538
Test: m acloud && acloud crete/list/delete &&
run atest acloud_test

Change-Id: Ib2fab51f90867d5c30386003bdd79211e7a7d130
diff --git a/internal/lib/utils.py b/internal/lib/utils.py
index 575b6ba..682a177 100755
--- a/internal/lib/utils.py
+++ b/internal/lib/utils.py
@@ -24,6 +24,7 @@
 import grp
 import logging
 import os
+import platform
 import shutil
 import struct
 import socket
@@ -74,6 +75,8 @@
                      "anything else to abort it:[y] ") % _CMD_INSTALL_SSVNC
 _EvaluatedResult = collections.namedtuple("EvaluatedResult",
                                           ["is_result_ok", "result_message"])
+# dict of supported system and their distributions.
+_SUPPORTED_SYSTEMS_AND_DISTS = {"Linux": ["Ubuntu", "Debian"]}
 
 class TempDir(object):
     """A context manager that ceates a temporary directory.
@@ -1044,3 +1047,31 @@
             all_groups_present = False
             logger.info("missing group: %s", group)
     return all_groups_present
+
+
+def IsSupportedPlatform(print_warning=False):
+    """Check if user's os is the supported platform.
+
+    Args:
+        print_warning: Boolean, print the unsupported warning
+                       if True.
+    Returns:
+        Boolean, True if user is using supported platform.
+    """
+    system = platform.system()
+    dist = platform.linux_distribution()[0]
+    platform_supported = (system in _SUPPORTED_SYSTEMS_AND_DISTS and
+                          dist in _SUPPORTED_SYSTEMS_AND_DISTS[system])
+
+    logger.info("supported system and dists: %s",
+                _SUPPORTED_SYSTEMS_AND_DISTS)
+    platform_supported_msg = ("%s[%s] %s supported platform" %
+                              (system,
+                               dist,
+                               "is a" if platform_supported else "is not a"))
+    if print_warning and not platform_supported:
+        PrintColorString(platform_supported_msg, TextColors.WARNING)
+    else:
+        logger.info(platform_supported_msg)
+
+    return platform_supported