From 93c4a8b8308b6506ffd1ec6150f8e7d0421ce894 Mon Sep 17 00:00:00 2001 From: "Brian C. Lane" Date: Tue, 12 Mar 2013 15:39:25 -0700 Subject: [PATCH] Raise an error when there are no initrds --- src/pylorax/treebuilder.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pylorax/treebuilder.py b/src/pylorax/treebuilder.py index 37f10ec0..45204145 100644 --- a/src/pylorax/treebuilder.py +++ b/src/pylorax/treebuilder.py @@ -195,9 +195,13 @@ class TreeBuilder(object): if not backup: dracut.append("--force") + kernels = [kernel for kernel in self.kernels if hasattr(kernel, "initrd")] + if not kernels: + raise Exception("No initrds found, cannot rebuild_initrds") + # Hush some dracut warnings. TODO: bind-mount proc in place? open(joinpaths(self.vars.inroot,"/proc/modules"),"w") - for kernel in self.kernels: + for kernel in kernels: if prefix: idir = os.path.dirname(kernel.initrd.path) outfile = joinpaths(idir, prefix+'-'+kernel.version+'.img') @@ -282,6 +286,7 @@ def findkernels(root="/", kdir="boot"): imgtype = 'initrd' kernel[imgtype] = DataHolder(path=joinpaths(kdir, f)) + logger.debug("kernels=%s" % kernels) return kernels # udev whitelist: 'a-zA-Z0-9#+.:=@_-' (see is_whitelisted in libudev-util.c)