summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Ipsum <richard.ipsum@codethink.co.uk>2014-06-24 17:21:54 +0100
committerRichard Ipsum <richard.ipsum@codethink.co.uk>2014-06-24 17:47:12 +0100
commit04781d234377b2a7a1f5aa3ca16b30ea0911b729 (patch)
treeb5f60b5c91bd383de86918bd3d2ca2d0caa1fcb0
parentc894d6e153d7803e8f4639c2697c0c592a460980 (diff)
downloadmorph-04781d234377b2a7a1f5aa3ca16b30ea0911b729.tar.gz
Fix duplicate names error message
This error message didn't report the cluster morph at fault. We also fix a minor formatting issue.
-rw-r--r--morphlib/morphloader.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/morphlib/morphloader.py b/morphlib/morphloader.py
index b5c8168d..6937a427 100644
--- a/morphlib/morphloader.py
+++ b/morphlib/morphloader.py
@@ -207,11 +207,12 @@ class MultipleValidationErrors(morphlib.Error):
class DuplicateDeploymentNameError(morphlib.Error):
- def __init__(self, duplicates):
+ def __init__(self, cluster_filename, duplicates):
self.duplicates = duplicates
- morphlib.Error.__init__(
- self, 'Cluster morphology contains the following non-unique '
- 'deployment names:\n%s' % '\n '.join(duplicates))
+ self.cluster_filename = cluster_filename
+ morphlib.Error.__init__(self,
+ 'Cluster %s contains the following duplicate deployment names:%s'
+ % (cluster_filename, '\n ' + '\n '.join(duplicates)))
class OrderedDumper(yaml.SafeDumper):
@@ -430,7 +431,7 @@ class MorphologyLoader(object):
duplicates = set(deployment for deployment, count
in deployments.iteritems() if count > 1)
if duplicates:
- raise DuplicateDeploymentNameError(duplicates)
+ raise DuplicateDeploymentNameError(morph.filename, duplicates)
def _get_subsystem_names(self, system): # pragma: no cover
for subsystem in system.get('subsystems', []):