Should we keep the fortinet collections (fortinet.fortimanager, fortinet.fortios) in the community Ansible package?

felixfontein
Wed, 20 Dec 2023 20:10:01 +0000
Project Discussions

Right now Ansible contains two collections by fortinet:

fortinet.fortimanager (docsite);

fortinet.fortios (docsite).

Both collections together happen to be the largest part of an Ansible installation: the total ansible_collections directory is ~500 MB, while its fortinet subdirectory is ~220 MB. Out of these ~155 MB are for fortinet.fortimanager, and ~60 MB for fortinet.fortios. (The next largest subdirectory of ansible_collections is community with 73 MB for 29 different collections.)

Both collections have a lot of modules, many which seem to be auto-generated, or contain large auto-generated parts. The largest modules in both collections are 1.7 MB (!), the largest in each being ansible-galaxy-fortimanager-collection/plugins/modules/fmgr_fsp_vlan.py at main · fortinet-ansible-dev/ansible-galaxy-fortimanager-collection · GitHub and ansible-galaxy-fortios-collection/plugins/modules/fortios_wireless_controller_wtp_profile.py at main · fortinet-ansible-dev/ansible-galaxy-fortios-collection · GitHub. (Look at the bottom of these files and scroll around a bit - you’ll see one big reason why these modules are so large, and I’m pretty sure I’m not the only one who will think that it shouldn’t be that hard to massively shrink these files.)

If you look at their documentation, it looks mostly auto-generated from more or less helpful sources (less helpful: fortinet.fortimanager.fmgr_fsp_vlan module – no description — Ansible Community Documentation - more helpful: fortinet.fortios.fortios_wireless_controller_wtp_profile module – Configure WTP profiles or FortiAP profiles that define radio settings for manageable FortiAP platforms in Fortinet’s FortiOS and FortiGate. — Ansible Community Documentation, though it doesn’t say which unit is used for this option).

When we tried to run all sanity tests against all collections included in Ansible, a full sanity test run for these collections took way too long (I’m not even sure whether it ever completed, maybe @rfc2549 remembers).

All in all it seems that these two collections are really huge, their quality is not that great, and given that they only cater to a small subset of all Ansible users, I think we should discuss whether we want to remove them from Ansible. Users who need them can still install them manually with ansible-galaxy collection install <name>. What do you think? Also, it would be nice to hear from actual users of these collections!

(This would also be the largest reduction of the size of the ansible package since removal of the tests )

35 posts - 10 participants