
On Mon, 2019-12-09 at 16:20 +0100, Fabiano FidĂȘncio wrote:
Let's always generate the unattended script file as, by doing this, we can trea the files we have as templates, being able to change them
s/trea/treat/
accordingly to whatever is needed by specific distros.
It's important to note that we *must* be careful and keep generating those files using their "expected" filename, preferrably using the same
s/preferrably/preferably/ [...]
@@ -537,7 +539,14 @@ class Application: raise Exception( "Host {} doesn't support installation".format(host) )
It would be nice if you added a short comment here, explaining the fact that we're generating the file on the fly starting from a template.
- initrd_inject = os.path.join(base, "configs", install_config) + initrd_template = os.path.join(base, "configs", install_config) + with open(initrd_template) as template:
Missing "r" here. It's probably the default, but we're passing it explicitly to open() everywhere else so let's be consistent.
+ content = template.read() + + tempdir = tempfile.mkdtemp() + initrd_inject = os.path.join(tempdir, install_config) + + open(initrd_inject, "w").write(content)
Shouldn't this also use a 'with' clause to ensure the file is closed correctly after writing to it?
@@ -587,6 +596,8 @@ class Application: except Exception as ex: raise Exception("Failed to install '{}': {}".format(host, ex))
+ shutil.rmtree(tempdir, ignore_errors=True)
So if we error out at any point, the temporary directory will be left behind... Eh, I can live with that :) -- Andrea Bolognani / Red Hat / Virtualization