/!\ Raw excerpt from my internal comparison database

I chose to use NN708/ansible-openwrt, with gekmihesg/ansible-openwrt.

franciscofregona/OpenWRTConfig

https://github.com/franciscofregona/OpenWRTConfig

How it works : create local config files through templates. Then through raw commands : upload them and reload openwrt

Why I don’t like: use of local config files

Maybe it’s faster this way than through uci commands ?

archf/ansible-openwrt

https://github.com/archf/ansible-openwrt

How it works :

  • Custom uci module
    • (-) Only support batch, set and add_list
    • (+) Input is direct command
  • Role configuring DHCP through the custom uci module
    • can configure extroot
    • can install useful packages
    • can install ansible dependencies
    • can configure dhcp

Pros :

  • uci module support raw command inputs
  • Directly usable role

Cons :

  • Role use of raw uci commands

gekmihesg/ansible-openwrt

https://github.com/gekmihesg/ansible-openwrt

How it works :

  • Custom uci module
  • Overwrite modules (through monkeypatch) to use raw commands when ansible is not installed

NN708/ansible-openwrt

https://github.com/NN708/ansible-openwrt

How it works :

  • Use gekmihesg/ansible-openwrt
  • Roles to configure DHCP, WIFI, …

Cons:

  • Only support one SSID per wifi radio channel