| > reinstalling your machine from an usb pendrive, or image once every so many full moons, you need first to bootstrap ansible and the playbook. How do you that in an idempotent manner? You just reinstalled; do you really care if the preparation is idempotent? Anyway: kickstart is how I deal with that. The way one automates installations. Anyone reinstalling their workstation that often should probably look into it. It wants a list of packages that get installed by default, Ansible is one of them. The install environment makes Ansible available, then runs ansible-pull to fetch the repository and run the play. I hear you now: "but USB installs!" Who is this person that does this so often to automate it, but accept clicking through the UI/installer and so on? Set up tftp and PXE already, you're neck deep. The unix greybeards would put shell scripts in those kickstarts. I feel it's slightly improved by using playbooks held externally in SCM. The module library doesn't cover everything, but it's great for routine system administration. It may not have the latest whizbang API. Ansible is useful, I'm not debating this. One can write it as poorly as you represent, but they don't have to. I do lament people writing it like scripts. They miss the point, we're in agreement there. The core modules are idempotent if used well. The Command/Script modules shouldn't even exist in my opinion. Force people to custom-fact those things. It can be a plain text file or a robust script. |