Hi @diegobernardes @dave14305 ,
Not sure if you are aware, there is now an official Ansible Community collection for OpenWrt - community.openwrt. You can check it out the Ansible Galaxy entry, the full docs, or directly at the git repo.
I see your playbooks use all the standard Ansible modules in Python, so they require that Python is installed in the router. The community.openwrt collection starts on the assumption that there will be no Python installed, which might be the case for a fair share of people.
Dave, neither Diego's code (as far as I looked into it) nor the collection touch on the problem of building OpenWrt images. We did have a suggestion about it, but it is yet something for a distant future. As to your question of being easier, it depends on a lot of things: obviously it will be harder on you if you never used Ansible before, but once you know how to work with it, it can be much easier. Ansible begun as configuration management system, so it can help you perform the changes, but also to detect config drift. Managing one router or 500 routers, if done right, can be as easy as running the same playbook again on a larger set of targets.
Another aspect of Ansible is that it aims to use a declarative idiom rather than imperative. It does not always work that way - it depends on the specific modules/plugins you are using, but many, if not most, will allow you to declare what state you want your target to be in, rather than just issue a command to do something. And there is where I will disagree a little bit with Diego - many modules in Ansible will allow you to delete things - if you declare your intent for them to be absent.
I would not recommend writing Ansible code using the exact same logic you would have in a shell script - it will feel like a bloated script. But if you delve into how it is supposed to work, your playbooks can be lean, easy to read, effective, repeatable, to mention few qualities.
My home OpenWrt setup is entirely written in Ansible (using c.openwrt of course), and whenever I had issues that required resetting the router, or when I upgrade it (and I always wipe the config clean when I do), I can have it running again with the exact same configs that I had before in 15min or less.
Hope I encouraged you to take a look at Ansible and the OpenWrt collection (rather than scare you :-P).
Cheers