roles/ansible-gentoo_install/

This commit is contained in:
emdee 2023-12-31 03:19:26 +00:00
parent 94c76b2e4b
commit f2575772ec
11 changed files with 363 additions and 61 deletions

View file

@ -2,16 +2,18 @@ GentooImgr: Gentoo Image Builder for Cloud and Turnkey ISO installers
=====================================================================
**This is a modified version of https://github.com/NucleaPeon/gentooimgr/
where we've modified the code a little to do use Python logging. We can
still use it for the build stage, but we think the install stage is better
done using ansible, hence the libvirt_cloud playbook.
where we've modified the code a little to do use Python logging and maybe fixed a bug or two. We can still use it for the build stage, but we think the install stage is better done using ansible, hence the libvirt_cloud playbook; you don't check return values in your install steps, and I'm confused on the precedence of the config json file.
I think you should merge args into the configjson object and have the code work only on the merged object: the precedence shouldn't be down in the code.
The code is a WIP so look to see if the repo is active. It's being supported as an ansible module using library/ansible_gentooimgr.py which is a work in progress; the idea is to use it for the build and status test? actions, but handle the install tasks using ansible.
Instead of using cloud-init, our approach is to build a base image with qemu-guest-agent installed which means you don't need cloud-init. That means you don't need 384 crates of opaque googled code. Apart from making the base smaller, it makes it auditable, I can't imaging why the libvirt base images on the Internet don't include qemu-guest-agent.........
Take any of the code you want back into your repo: I think the changes are all logging and bulletproofing. If you use ansible you can maintain the library file. If you don't maybe it a good time to look at it, because writing the install in Python will be painfully limiting, and it may take you a while to write tests.py.
Please wrap the code after if __name__ == "__main__" in __main__.py into a function that returns an int, 0 on success so it's callable from an import.
The code is in overlay/Linux/usr/local/src/ansible_gentooimgr
for reasons to do with how the ansible role transfers files.
The code is being supported as an ansible module using
library/ansible_gentooimgr.py which is a work in progress; the idea
is to use it for the build and status actions, but handle the install
tasks using ansible.
**