Merge "Remove _config_error thrower"
This commit is contained in:
commit
ca04348393
@ -151,14 +151,19 @@ class Partitioning(Digraph.Node):
|
|||||||
|
|
||||||
# Parameter check
|
# Parameter check
|
||||||
if 'base' not in config:
|
if 'base' not in config:
|
||||||
self._config_error("Partitioning config needs 'base'")
|
raise BlockDeviceSetupException("Partitioning config needs 'base'")
|
||||||
self.base = config['base']
|
self.base = config['base']
|
||||||
|
|
||||||
|
if 'partitions' not in config:
|
||||||
|
raise BlockDeviceSetupException(
|
||||||
|
"Partitioning config needs 'partitions'")
|
||||||
|
|
||||||
if 'label' not in config:
|
if 'label' not in config:
|
||||||
self._config_error("Partitioning config needs 'label'")
|
raise BlockDeviceSetupException(
|
||||||
|
"Partitioning config needs 'label'")
|
||||||
self.label = config['label']
|
self.label = config['label']
|
||||||
if self.label not in ("mbr", ):
|
if self.label not in ("mbr", ):
|
||||||
self._config_error("Label must be 'mbr'")
|
raise BlockDeviceSetupException("Label must be 'mbr'")
|
||||||
|
|
||||||
# It is VERY important to get the alignment correct. If this
|
# It is VERY important to get the alignment correct. If this
|
||||||
# is not correct, the disk performance might be very poor.
|
# is not correct, the disk performance might be very poor.
|
||||||
@ -175,15 +180,13 @@ class Partitioning(Digraph.Node):
|
|||||||
if 'align' in config:
|
if 'align' in config:
|
||||||
self.align = parse_abs_size_spec(config['align'])
|
self.align = parse_abs_size_spec(config['align'])
|
||||||
|
|
||||||
if 'partitions' not in config:
|
|
||||||
self._config_error("Partitioning config needs 'partitions'")
|
|
||||||
|
|
||||||
self.partitions = []
|
self.partitions = []
|
||||||
prev_partition = None
|
prev_partition = None
|
||||||
|
|
||||||
for part_cfg in config['partitions']:
|
for part_cfg in config['partitions']:
|
||||||
if 'name' not in part_cfg:
|
if 'name' not in part_cfg:
|
||||||
self.config_error("Missing 'name' in partition config")
|
raise BlockDeviceSetupException(
|
||||||
|
"Missing 'name' in partition config")
|
||||||
part_name = part_cfg['name']
|
part_name = part_cfg['name']
|
||||||
|
|
||||||
flags = set()
|
flags = set()
|
||||||
@ -194,12 +197,13 @@ class Partitioning(Digraph.Node):
|
|||||||
elif f == 'primary':
|
elif f == 'primary':
|
||||||
flags.add(Partitioning.flag_primary)
|
flags.add(Partitioning.flag_primary)
|
||||||
else:
|
else:
|
||||||
self._config_error("Unknown flag [%s] in "
|
raise BlockDeviceSetupException(
|
||||||
"partitioning for [%s]"
|
"Unknown flag [%s] in partitioning for [%s]"
|
||||||
% (f, part_name))
|
% (f, part_name))
|
||||||
|
|
||||||
if 'size' not in part_cfg:
|
if 'size' not in part_cfg:
|
||||||
self._config_error("No 'size' in partition [%s]"
|
raise BlockDeviceSetupException("No 'size' in partition [%s]"
|
||||||
% part_name)
|
% part_name)
|
||||||
size = part_cfg['size']
|
size = part_cfg['size']
|
||||||
|
|
||||||
ptype = int(part_cfg['type'], 16) if 'type' in part_cfg else 0x83
|
ptype = int(part_cfg['type'], 16) if 'type' in part_cfg else 0x83
|
||||||
@ -210,10 +214,6 @@ class Partitioning(Digraph.Node):
|
|||||||
prev_partition = np
|
prev_partition = np
|
||||||
logger.debug(part_cfg)
|
logger.debug(part_cfg)
|
||||||
|
|
||||||
def _config_error(self, msg):
|
|
||||||
logger.error(msg)
|
|
||||||
raise BlockDeviceSetupException(msg)
|
|
||||||
|
|
||||||
def _size_of_block_dev(self, dev):
|
def _size_of_block_dev(self, dev):
|
||||||
with open(dev, "r") as fd:
|
with open(dev, "r") as fd:
|
||||||
fd.seek(0, 2)
|
fd.seek(0, 2)
|
||||||
|
@ -43,16 +43,13 @@ file_system_max_label_length = {
|
|||||||
|
|
||||||
class Filesystem(Digraph.Node):
|
class Filesystem(Digraph.Node):
|
||||||
|
|
||||||
def _config_error(self, msg):
|
|
||||||
logger.error(msg)
|
|
||||||
raise BlockDeviceSetupException(msg)
|
|
||||||
|
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
logger.debug("Create filesystem object; config [%s]" % config)
|
logger.debug("Create filesystem object; config [%s]" % config)
|
||||||
# Parameter check (mandatory)
|
# Parameter check (mandatory)
|
||||||
for pname in ['base', 'name', 'type']:
|
for pname in ['base', 'name', 'type']:
|
||||||
if pname not in config:
|
if pname not in config:
|
||||||
self._config_error("Mkfs config needs [%s]" % pname)
|
raise BlockDeviceSetupException(
|
||||||
|
"Mkfs config needs [%s]" % pname)
|
||||||
setattr(self, pname, config[pname])
|
setattr(self, pname, config[pname])
|
||||||
|
|
||||||
# Parameter check (optional)
|
# Parameter check (optional)
|
||||||
@ -71,20 +68,19 @@ class Filesystem(Digraph.Node):
|
|||||||
self.label = "img-rootfs"
|
self.label = "img-rootfs"
|
||||||
|
|
||||||
if self.label in file_system_labels:
|
if self.label in file_system_labels:
|
||||||
self._config_error(
|
raise BlockDeviceSetupException(
|
||||||
"File system label [%s] used more than once" %
|
"File system label [%s] used more than once" % self.label)
|
||||||
self.label)
|
|
||||||
file_system_labels.add(self.label)
|
file_system_labels.add(self.label)
|
||||||
|
|
||||||
if self.type in file_system_max_label_length:
|
if self.type in file_system_max_label_length:
|
||||||
if file_system_max_label_length[self.type] < \
|
if file_system_max_label_length[self.type] < len(self.label):
|
||||||
len(self.label):
|
raise BlockDeviceSetupException(
|
||||||
self._config_error(
|
"Label [{label}] too long for filesystem [{type}]: "
|
||||||
"Label [%s] too long for filesystem [%s]: "
|
" [{len}] > [{max_len}]".format({
|
||||||
"maximum length [%d] provided length [%d]" %
|
'label': self.label,
|
||||||
(self.label, self.type,
|
'type': self.type,
|
||||||
file_system_max_label_length[self.type],
|
'len': len(self.label),
|
||||||
len(self.label)))
|
'max': file_system_max_label_length[self.type]}))
|
||||||
else:
|
else:
|
||||||
logger.warning("Length of label [%s] cannot be checked for "
|
logger.warning("Length of label [%s] cannot be checked for "
|
||||||
"filesystem [%s]: unknown max length" %
|
"filesystem [%s]: unknown max length" %
|
||||||
|
@ -35,17 +35,13 @@ sorted_mount_points = None
|
|||||||
|
|
||||||
class MountPoint(Digraph.Node):
|
class MountPoint(Digraph.Node):
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def _config_error(msg):
|
|
||||||
logger.error(msg)
|
|
||||||
raise BlockDeviceSetupException(msg)
|
|
||||||
|
|
||||||
def __init__(self, mount_base, config):
|
def __init__(self, mount_base, config):
|
||||||
# Parameter check
|
# Parameter check
|
||||||
self.mount_base = mount_base
|
self.mount_base = mount_base
|
||||||
for pname in ['base', 'name', 'mount_point']:
|
for pname in ['base', 'name', 'mount_point']:
|
||||||
if pname not in config:
|
if pname not in config:
|
||||||
self._config_error("MountPoint config needs [%s]" % pname)
|
raise BlockDeviceSetupException(
|
||||||
|
"MountPoint config needs [%s]" % pname)
|
||||||
setattr(self, pname, config[pname])
|
setattr(self, pname, config[pname])
|
||||||
Digraph.Node.__init__(self, self.name)
|
Digraph.Node.__init__(self, self.name)
|
||||||
logger.debug("MountPoint created [%s]" % self)
|
logger.debug("MountPoint created [%s]" % self)
|
||||||
@ -57,8 +53,9 @@ class MountPoint(Digraph.Node):
|
|||||||
def insert_node(self, dg):
|
def insert_node(self, dg):
|
||||||
global mount_points
|
global mount_points
|
||||||
if self.mount_point in mount_points:
|
if self.mount_point in mount_points:
|
||||||
self._config_error("Mount point [%s] specified more than once"
|
raise BlockDeviceSetupException(
|
||||||
% self.mount_point)
|
"Mount point [%s] specified more than once"
|
||||||
|
% self.mount_point)
|
||||||
logger.debug("Insert node [%s]" % self)
|
logger.debug("Insert node [%s]" % self)
|
||||||
mount_points[self.mount_point] = self
|
mount_points[self.mount_point] = self
|
||||||
dg.add_node(self)
|
dg.add_node(self)
|
||||||
@ -136,17 +133,14 @@ class Mount(object):
|
|||||||
type_string = "mount"
|
type_string = "mount"
|
||||||
tree_config = TreeConfig("mount")
|
tree_config = TreeConfig("mount")
|
||||||
|
|
||||||
def _config_error(self, msg):
|
|
||||||
logger.error(msg)
|
|
||||||
raise BlockDeviceSetupException(msg)
|
|
||||||
|
|
||||||
def __init__(self, config, params):
|
def __init__(self, config, params):
|
||||||
logger.debug("Mounting object; config [%s]" % config)
|
logger.debug("Mounting object; config [%s]" % config)
|
||||||
self.config = config
|
self.config = config
|
||||||
self.params = params
|
self.params = params
|
||||||
|
|
||||||
if 'mount-base' not in self.params:
|
if 'mount-base' not in self.params:
|
||||||
MountPoint._config_error("Mount default config needs 'mount-base'")
|
raise BlockDeviceSetupException(
|
||||||
|
"Mount default config needs 'mount-base'")
|
||||||
self.mount_base = self.params['mount-base']
|
self.mount_base = self.params['mount-base']
|
||||||
|
|
||||||
self.mount_points = {}
|
self.mount_points = {}
|
||||||
|
@ -14,8 +14,6 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from diskimage_builder.block_device.blockdevice \
|
|
||||||
import BlockDeviceSetupException
|
|
||||||
from diskimage_builder.block_device.tree_config import TreeConfig
|
from diskimage_builder.block_device.tree_config import TreeConfig
|
||||||
from diskimage_builder.graph.digraph import Digraph
|
from diskimage_builder.graph.digraph import Digraph
|
||||||
|
|
||||||
@ -28,10 +26,6 @@ class Fstab(Digraph.Node):
|
|||||||
type_string = "fstab"
|
type_string = "fstab"
|
||||||
tree_config = TreeConfig("fstab")
|
tree_config = TreeConfig("fstab")
|
||||||
|
|
||||||
def _config_error(self, msg):
|
|
||||||
logger.error(msg)
|
|
||||||
raise BlockDeviceSetupException(msg)
|
|
||||||
|
|
||||||
def __init__(self, config, params):
|
def __init__(self, config, params):
|
||||||
logger.debug("Fstab object; config [%s]" % config)
|
logger.debug("Fstab object; config [%s]" % config)
|
||||||
self.config = config
|
self.config = config
|
||||||
|
Loading…
Reference in New Issue
Block a user