Icinga/icingaweb2-module-businessprocess

BPM-header-config does not work with "comments" / no official comment-syntax yet.

TQQEU opened this issue · 1 comments

Configurations made in the BPM header do not work once we add comments using #.

Description

We are using icingaweb2-module-businessprocess in a "non-self-service"-way by writing the BPM-config manually and publish/distribute/revision control by using git / a git-driven process.

So basically we write a lot of BPM config "by hand".

Some of our BPMs got quite large, in a way we would really benefit from comments.

At the Moment a typical (very simple) BPM-Config looks like this:

### Business Process Config File ###
#
# Title           : APP-12345-SomeDepartment
# AddToMenu       : yes
# Statetype       : hard
#
###################################

APP-SomeDepartment = APP-SomeDepartment-SomeApplication
APP-SomeDepartment-SomeApplication = PROD-SomeApplication;Service-PROD-Node0-SystemAlive & PROD-SomeApplication;Service-PROD-Node8-SystemAlive
display 0;APP-SomeDepartment-SomeApplication;SomeApplication-Service
display 1;APP-SomeDepartment;Prio 1 SomeApplication

In this config everything is fine, and if we mess arround with it in Icingaweb we can see that Statetype actually uses "hard"

Once the config gets more sophisticated, we want some comments for orientation, something like:

### Business Process Config File ###
#
# Title           : SomeCheese
# AddToMenu       : yes
# Statetype       : hard
#
###################################

## French Cheese

Camembert = Host-Camembert;Service-PROD-Ping & Host-Camembert;Service-PROD-temperature & Host-Camembert;Service-PROD-softness
Roquefort = Host-Roquefort;Service-PROD-Ping & Host-Roquefort;Service-PROD-temperature

FrenchCheese = Camembert | Roquefort

## English Cheese

Cheddar = Host-Cheddar;Service-PROD-Ping & Host-Cheddar;Service-PROD-temperature
Stilton = Host-Stilton;Service-PROD-Ping & Host-Stilton;Service-PROD-temperature
Wensleydale = Host-Wensleydale;Service-PROD-Ping & Host-Wensleydale;Service-PROD-temperature
## currently not in use:
## RedLeicester = Host-RedLeicester;Service-PROD-Ping & Host-RedLeicester;Service-PROD-temperature

EnglishCheese = 2 of: Cheddar + Stilton + Wensleydale
## please remember to add RedLeicester here too, once it is rebuilt. As it was decided in #234589 we want to stick to "2 of:"

## The Whole Cheese Buffet

CheeseBuffet = FrenchCheese & EnglishCheese

display 1;CheeseBuffet;Cheese Buffet

In reality the config will get much longer, but you should get the idea here.

Now we come to the part where I am unsure if we have a bug, or lack a feature:
The config runs perfectly well, but as soon as there are comments in it will fail to adopt the configuration defined in the header, in our case at least '#Statetype : hard' - it can be viewed in Icingaweb as "soft" using the config-menu and in practical monitoring. This is non-intuitive, hides quite well and is making our configurations harder to understand (or wrong if we leave the comments in).

Request

icingaweb2-module-businessprocess should be able to have comments in any documented syntax, preferable using # or ##
as prefix.

+1