telekom-mms / ansible-collection-icinga-director

An Ansible collection that contains modules to change objects in Icinga 2 using the director API.
GNU General Public License v3.0
81 stars 30 forks source link

Collection throws errors when creating many objects (for example Icinga Apply rules) #136

Open xFuture603 opened 3 years ago

xFuture603 commented 3 years ago

As the title already says, errors occur from time to time, which are generated by the collection when too many objects are created. The code still runs through and creates the remaining objects, but is then evaluated by Ansible itself as failed and so pipelines (with the collection included), for example, will also fail in the end.

I noticed this when creating service apply objects. The code we use for this service contains about 280 apply objects. I haven't noticed this behavior in a smaller codebase.

I would also like to say that for newly created objects we leave the old objects on our Icinga instance and only deploy the new objects to it.

Failing task: t_systems_mms.icinga_director.ansible_icinga : icinga_service_apply

Error: An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: 'unicode' object has no attribute 'items'

Please reply if you need more information. Thanks in advance!

rndmh3ro commented 3 years ago

This seems to happen when the return data data_from_director is empty or otherwise bogus, here: https://github.com/T-Systems-MMS/ansible-collection-icinga-director/blob/025f4f95d89e8eca4bc104127f23647249a7b573/plugins/module_utils/icinga.py#L212-L216

However I cannot reproduce it easily.