diff --git a/cfg_checker/nodes.py b/cfg_checker/nodes.py
index 7c09690..7da09f4 100644
--- a/cfg_checker/nodes.py
+++ b/cfg_checker/nodes.py
@@ -607,11 +607,17 @@
             self.nodes[_name]['linux_arch'] = _info['architecture']
 
             _codename = "unknown"
-            _n, _v, _c = _info['os_image'].split()
-            if _n.lower() == 'ubuntu':
+            _info_str = _info['os_image']
+            if _info_str.lower().startswith('ubuntu'):
+                _n, _v, _ = _info_str.split(maxsplit=2)
                 _v, _, _ = _v.rpartition('.') if '.' in _v else (_v, "", "")
                 if _v in ubuntu_versions:
                     _codename = ubuntu_versions[_v].split()[0].lower()
+            elif _info_str.lower().startswith('debian'):
+                parts = _info_str.split()
+                for part in parts:
+                    if part.startswith("(") and part.endswith(")"):
+                        _codename = part.strip("()").lower()
             self.nodes[_name]['linux_codename'] = _codename
 
             # Consider per-data type transfer
@@ -632,11 +638,11 @@
             )
         )
 
-        _role = "k8s-master"
-        _filtered = [n for n, v in self.nodes.items() if _role in v['roles']]
+        _role = "control-plane"
+        _filtered = [n for n, v in self.nodes.items() if 'control-plane' in str(v['labels'])]
         if len(_filtered) < 1:
             raise KubeException(
-                "No k8s-master nodes detected! Check/Update node role map."
+                "No {} nodes detected! Check/Update node role map.".format(_role)
             )
         else:
             _r = [n for n, v in self.nodes.items()
