<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Ansible doesn't require or need python on targets. In fact it's one of it's biggest selling points and why over a 3rd of modules are network device centric.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">There is a UCI module for openwrt:</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><a href="https://github.com/lefant/ansible-openwrt-uci">https://github.com/lefant/ansible-openwrt-uci</a></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I tend to redeploy images/snapshots to VM's and then run opkg via ansible or scripts and copy over config files.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">-Joel</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 9 Apr 2020 at 09:08, Paul Spooren <<a href="mailto:mail@aparcar.org">mail@aparcar.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
I was wondering if there are some best practices for configuration<br>
management of OpenWrt devices. I understand that it is fairly easy to<br>
get/restore a backup of the etc/config folder, but though maybe there<br>
are some smarter ways.<br>
<br>
Ideally a local state (e.g. git repository) would deploy multiple<br>
devices and automatically update them via a command (or even cron).<br>
<br>
Other projects came up with solutions which seem to heavy for common<br>
WiFi routers. Ansible[0] is great and all, however requires plenty of<br>
Python to work conveniently. Then cloud-init[1] is Python as well, I<br>
think even heavier on the client side than Ansible and also doesn't<br>
seem to be the right use case.<br>
<br>
Some time ago I came up with a MAC based init system[2] but that's not<br>
really to keep things up to date.<br>
<br>
Last thing I know of is the approach to convert folders into opkg<br>
install-able packages[3], so whenever there is a new configuration all<br>
pre-configured routers would install it via opkg. However this would<br>
require an opkg cron on client device and building the config-packages<br>
appear to be quite some overhead. On the other side it handles<br>
authentication via usign keys.<br>
<br>
Anyway, please recommend me a better way which I'm not aware of!<br>
<br>
Best,<br>
Paul<br>
<br>
[0]: <a href="https://www.ansible.com/" rel="noreferrer" target="_blank">https://www.ansible.com/</a><br>
[1]: <a href="https://cloud-init.io/" rel="noreferrer" target="_blank">https://cloud-init.io/</a><br>
[2]: <a href="https://github.com/openwrt/packages/pull/6071" rel="noreferrer" target="_blank">https://github.com/openwrt/packages/pull/6071</a><br>
[3]: <a href="https://github.com/libremesh/network-profiles-builder" rel="noreferrer" target="_blank">https://github.com/libremesh/network-profiles-builder</a><br>
<br>
<br>
_______________________________________________<br>
openwrt-devel mailing list<br>
<a href="mailto:openwrt-devel@lists.openwrt.org" target="_blank">openwrt-devel@lists.openwrt.org</a><br>
<a href="https://lists.openwrt.org/mailman/listinfo/openwrt-devel" rel="noreferrer" target="_blank">https://lists.openwrt.org/mailman/listinfo/openwrt-devel</a><br>
</blockquote></div>