diff --git a/qa/qa_config.py b/qa/qa_config.py
index 1ff1dd115204d205d286f9675156ce59d84c626d..d879d2df347dab772ca768d59e700ae1f1fe329f 100644
--- a/qa/qa_config.py
+++ b/qa/qa_config.py
@@ -245,6 +245,9 @@ class _QaConfig(object):
     """Validates loaded configuration data.
 
     """
+    if not self.get("name"):
+      raise qa_error.Error("Cluster name is required")
+
     if not self.get("nodes"):
       raise qa_error.Error("Need at least one node")
 
diff --git a/test/py/qa.qa_config_unittest.py b/test/py/qa.qa_config_unittest.py
index 70b59659e68e1b9acef26d8a8236133edb62771c..b3e4b58c3d5144d44273285c04ce09276c91034a 100755
--- a/test/py/qa.qa_config_unittest.py
+++ b/test/py/qa.qa_config_unittest.py
@@ -174,6 +174,11 @@ class TestQaConfigLoad(unittest.TestCase):
 
     check_fn = compat.partial(self._CheckLoadError, filename, testconfig)
 
+    # No cluster name
+    check_fn("Cluster name is required")
+
+    testconfig["name"] = "cluster.example.com"
+
     # No nodes
     check_fn("Need at least one node")