mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 15:36:27 +00:00

Lines removed: over 500. Readiblity gained: A shitload Now you can actually get an overview of a manifest on a single screen height. I am sure that it will also save a lot of hassle when modifying schema in the future. No more "expected property name" etc. because of an extraneous comma Comments are of course natively support, so there's no need for this minify_json hokey pokey
21 lines
885 B
Python
21 lines
885 B
Python
__all__ = ['Phase', 'Task', 'main']
|
|
from phase import Phase
|
|
from task import Task
|
|
from main import main
|
|
|
|
|
|
def validate_manifest(data, validator, error):
|
|
"""Validates the manifest using the base manifest
|
|
|
|
:param dict data: The data of the manifest
|
|
:param function validator: The function that validates the manifest given the data and a path
|
|
:param function error: The function tha raises an error when the validation fails
|
|
"""
|
|
import os.path
|
|
schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml'))
|
|
validator(data, schema_path)
|
|
|
|
# Check the bootloader/partitioning configuration.
|
|
# Doing this via the schema is a pain and does not output a useful error message.
|
|
if data['system']['bootloader'] == 'grub' and data['volume']['partitions']['type'] == 'none':
|
|
error('Grub cannot boot from unpartitioned disks', ['system', 'bootloader'])
|