From 1bc8aa188896fc7668427f19a4ffd89ca5f6fa3c Mon Sep 17 00:00:00 2001 From: Dan Firth Date: Fri, 27 Sep 2013 09:51:31 +0000 Subject: Dropped support for 'disk-size' from system morphology files' --- morphlib/morphloader.py | 1 - 1 file changed, 1 deletion(-) (limited to 'morphlib/morphloader.py') diff --git a/morphlib/morphloader.py b/morphlib/morphloader.py index c94078f9..9b134509 100644 --- a/morphlib/morphloader.py +++ b/morphlib/morphloader.py @@ -146,7 +146,6 @@ class MorphologyLoader(object): 'arch': None, 'system-kind': 'rootfs-tarball', 'configuration-extensions': [], - 'disk-size': '1G', }, 'cluster': {}, } -- cgit v1.2.1 From 5e0ad6ad29fa776088241828580d58b7d91e9fd1 Mon Sep 17 00:00:00 2001 From: Dan Firth Date: Fri, 27 Sep 2013 11:16:56 +0000 Subject: Dropped support for 'system-kind' from system morphology files --- morphlib/morphloader.py | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'morphlib/morphloader.py') diff --git a/morphlib/morphloader.py b/morphlib/morphloader.py index 9b134509..aea87777 100644 --- a/morphlib/morphloader.py +++ b/morphlib/morphloader.py @@ -62,14 +62,6 @@ class UnknownArchitectureError(morphlib.Error): 'Unknown architecture %s in morphology %s' % (arch, morphology)) -class InvalidSystemKindError(morphlib.Error): - - def __init__(self, system_kind, morphology): - self.msg = ( - 'system-kind %s not allowed (must be rootfs-tarball), in %s' % - (system_kind, morphology)) - - class NoBuildDependenciesError(morphlib.Error): def __init__(self, stratum_name, chunk_name, morphology): @@ -144,7 +136,6 @@ class MorphologyLoader(object): 'strata': [], 'description': '', 'arch': None, - 'system-kind': 'rootfs-tarball', 'configuration-extensions': [], }, 'cluster': {}, @@ -259,12 +250,6 @@ class MorphologyLoader(object): if morph['arch'] not in morphlib.valid_archs: raise UnknownArchitectureError(morph['arch'], morph.filename) - # If system-kind is present, it must be rootfs-tarball. - if 'system-kind' in morph: - if morph['system-kind'] not in (None, 'rootfs-tarball'): - raise InvalidSystemKindError( - morph['system-kind'], morph.filename) - def _validate_stratum(self, morph): # Require at least one chunk. if len(morph.get('chunks', [])) == 0: -- cgit v1.2.1 From 091809507fca909cd7c1a37ce6dbd553a973da09 Mon Sep 17 00:00:00 2001 From: Dan Firth Date: Tue, 1 Oct 2013 12:47:00 +0000 Subject: 'system-kind' and 'disk-size' system morphology fields now raise ObsoleteFieldError --- morphlib/morphloader.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'morphlib/morphloader.py') diff --git a/morphlib/morphloader.py b/morphlib/morphloader.py index aea87777..9601784c 100644 --- a/morphlib/morphloader.py +++ b/morphlib/morphloader.py @@ -54,6 +54,11 @@ class InvalidFieldError(morphlib.Error): self.msg = ( 'Field %s not allowed in morphology %s' % (field, morphology)) +class ObsoleteFieldError(morphlib.Error): + + def __init__(self, field, morphology): + self.msg = ( + 'Field %s is now obsolete but present in %s' % (field, morphology)) class UnknownArchitectureError(morphlib.Error): @@ -107,6 +112,13 @@ class MorphologyLoader(object): ], } + _obsolete_fields = { + 'system': [ + 'system-kind', + 'disk-size', + ], + } + _static_defaults = { 'chunk': { 'description': '', @@ -219,8 +231,10 @@ class MorphologyLoader(object): raise UnknownKindError(morph['kind'], morph.filename) required = ['kind'] + self._required_fields[kind] + obsolete = self._obsolete_fields.get(kind, []) allowed = self._static_defaults[kind].keys() self._require_fields(required, morph) + self._deny_obsolete_fields(obsolete, morph) self._deny_unknown_fields(required + allowed, morph) if kind == 'system': @@ -292,6 +306,11 @@ class MorphologyLoader(object): for field in fields: self._require_field(field, morphology) + def _deny_obsolete_fields(self, fields, morphology): + for field in morphology: + if field in fields: + raise ObsoleteFieldError(field, morphology.filename) + def _deny_unknown_fields(self, allowed, morphology): for field in morphology: if field not in allowed: -- cgit v1.2.1