I can't criticize someone rolling their own foo for learning's sake (or just for the fun of it), but I think if you'd given Ansible a try, you would have been happy with it.
And frankly, after having some very sensible patches rejected (this was a few years ago, before the acquisition), I got fatigued of the entire project.
- YAML quoting.
- Quasi Python expressions from Jinja 2.
- Which fields are expressions and which ones are strings is not always clear.