add lat/bw limits, fio binaryes, fix bugs, fix latency calculations, etc
diff --git a/wally/utils.py b/wally/utils.py
index 1362000..ec4b8c0 100644
--- a/wally/utils.py
+++ b/wally/utils.py
@@ -6,6 +6,7 @@
 import threading
 import contextlib
 import subprocess
+import collections
 
 try:
     import psutil
@@ -318,16 +319,31 @@
     return user, passwd, tenant, auth_url
 
 
+os_release = collections.namedtuple("Distro", ["distro", "release", "arch"])
+
+
 def get_os(run_func):
+    arch = run_func("arch", nolog=True).strip()
+
     try:
-        run_func("ls -l /etc/redhat-release")
-        return 'redhat'
+        run_func("ls -l /etc/redhat-release", nolog=True)
+        return os_release('redhat', None, arch)
     except:
         pass
 
     try:
-        run_func("ls -l /etc/debian-release")
-        return 'ubuntu'
+        run_func("ls -l /etc/debian_version", nolog=True)
+
+        release = None
+        for line in run_func("lsb_release -a", nolog=True).split("\n"):
+            if ':' not in line:
+                continue
+            opt, val = line.split(":", 1)
+
+            if opt == 'Codename':
+                release = val.strip()
+
+        return os_release('ubuntu', release, arch)
     except:
         pass