Future of the Ansible role for Icinga2. Is there a plan and what can we expect?

Hi there,

in the past few days I have searched for a solution to install and configure Icinga2 via Ansible.

Unfortunately, there is not much out there.

I know there is an official Ansible role repository which is or was maintained by @aflatto, but since the last commit which actually added/reworked any functionality was in December 2019 and there are three pull requests which are older than six months, I consider this repository pretty much dead or at least unmaintained.

Of course, I saw the work of @bodsch regarding his Icinga2 role, I have not checked it in detail yet, but it looked promising. Unfortunately he is hosting his role on Gitlab which is not supported by Ansible Galaxy. But in my opinion, support for Ansible Galaxy is very important within the Ansible Community/Environment. Also, I would love to see an official working Ansible role with the support of the community.

I know, Icinga and the community are kind of having a hard time right now, so I might have a lack of information here, but my questions are the following:

  • Is there a general interest from Icinga and the community for an Ansible role?
  • If so, is there any big picture (scope) for the role? What should the role achieve (Installation/configuration of master, satellite and clients or only the agent and what about icingaweb2)?
  • If there is interest, what needs to be done, to get this project rolling again?

If there is enough interest for this role, I would be happy to try to support development/refactoring/maintaining of this role.

Sorry if I sound a bit harsh, I am just sad that this project is kind of dying. It’s not meant to be mean.

Best regards
Florian

2 Likes

Hello there!

You actually summarised the situation pretty well there…

We tried getting the official Icinga roles for ansible with different people, but so far our efforts have never worked out very well.

We are still interested in getting further with it, but we don’t have the know how or the ressources to make it happen ourselves, or at least not well enough to meet our own standards.

Originally we had planned to go through with this project in cooperation with the Icinga partners and members of the community, but we never got too far… (As you have seen yourself)

There is some sort of “bigger picture” and a relatively detailed vision on how the roles are supposed to look like and what could be good…

If you are interested in continuing where we left off, we would love to offer you a call and talk about what we could do together, about a potential roadmap or the like in detail.

Please let me know if you are interested and have a wonderful day!
Feu

Hi Feu,

thank you very much for your answer!

So the project is in a difficult state as I thought, but at least you have ideas how the role should look like in the future. That’s good!

I am open for a non-binding call to discuss if and how we can work together.

A nice day to you as well!
Florian

2 Likes

Moin!

If Ansible Galaxy is an important point to make my role usable (it works without), then I don’t mind transferring it to GitHub.
A small issue with exactly this justification would have been sufficient. :smiley:

My role currently supports a (HA capable) Master / Satellite configuration. It is actively used by 2 major customers known to me. (And they are satisfied with it so far.) Of course I use it as well. :slight_smile:
When I get feedback I try to implement it as soon as possible.

In my roles the support for agents is currently still missing.
And of course the support for IcingaDB.

For testing I provide a local (kvm) infrastructure via Terraform.

I will gladly accept help.

I am well aware the the progress has been slow and the issues are not progressing.
This is also due to the state of the project as it is missing functionality that already exist in the previous roles project, so people prefer to use that one and submit patches to it, as opposed to try and add new functionality to the “official” one.

I must admit that i struggled to understand some of the testing that failed on branches I submitted and hence they remained in the PR state, the roles worked in testing on new installations and updates but the CI associated with the project failed them - without providing information as to what failed.

As my time to maintain this project has, sadly, diminished and as @flokoe seems willing to take the project to a more active state, I think it is wise to transfer the maintainer position to him.

Assaf

Hello Flo,

I did a few things for the official role of Icinga 2, I tried to integrate the object features on a generic basis. But theres other stuff which then didn’t use the feature to integrate zones configuration.

As the repo was unmanaged, I kind of forgot to contribute and focused on my own roles at my customers, because I couldn’t rely on the role.

I have a few roles ready to provide, which have good code quality. Maybe I can rejoin on the project…
https://galaxy.ansible.com/mkayontour/icingaweb2

I prepared already the role on icingadb, which needs only a few more tests.

2 Likes

Hi, I’am fairly new to ansible, but added the zone templating to the project, as it was badly missing for me.

I’am using that project, but as i do have problems with the feature code, as it does not follow the official icinga way with features-enabled features-disabled and also renames the api feature, I have just changed the code quick and dirty on my side to get it up and running on our environment.

If any help needed I’am onboard. I’am just using it for agent deployments.

Also take a look at Ansible modules for Icinga Director
This Director Ansible Collection is incredible well developed.

1 Like

Hey you all!

Any help is very appreciated! :slight_smile:

Currently, I am doing some housekeeping within the repository and try to rework the testing structure.

After that I may refactor some of the existing code and as soon as that is done we can start adding new features.

I am happy to accept any help we can get.

@unic just fyi: be careful, we may have breaking changes until we reach version 1.0