From 04781d234377b2a7a1f5aa3ca16b30ea0911b729 Mon Sep 17 00:00:00 2001 From: Richard Ipsum Date: Tue, 24 Jun 2014 17:21:54 +0100 Subject: Fix duplicate names error message This error message didn't report the cluster morph at fault. We also fix a minor formatting issue. --- morphlib/morphloader.py | 11 ++++++----- 1 file 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', []): -- cgit v1.2.1