centreon-archived icon indicating copy to clipboard operation
centreon-archived copied to clipboard

conf generation HS when last servicegroup disabled

Open dmagniez opened this issue 3 years ago • 4 comments

Hello,

In Centreon 21.10 when the last servicegroup is disabled, we can't generate configuration file anymore.

error thrown by PHP :

`==> /var/log/php-fpm/centreon-error.log <== [13-Dec-2021 16:01:31 Europe/Paris] PHP Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /usr/share/centreon/www/class/config-generate/servicegroup.class.php:183 Stack trace:

#0 /usr/share/centreon/www/class/config-generate/host.class.php(505): Servicegroup->generateObjects()

#1 /usr/share/centreon/www/class/config-generate/generate.class.php(232): Host->generateFromPollerId()

#2 /usr/share/centreon/www/class/config-generate/generate.class.php(264): Generate->configPoller()

#3 /usr/share/centreon/www/include/configuration/configGenerate/xml/generateFiles.php(161): Generate->configPollerFromId()

#4 {main} thrown in /usr/share/centreon/www/class/config-generate/servicegroup.class.php on line 183`

dmagniez avatar Dec 13 '21 15:12 dmagniez

Thank you @dmagniez for your feedback

Internal ticket MON-11848

lpinsivy avatar Dec 13 '21 15:12 lpinsivy

I'm facing the same issue except it doesn't look like it is limited to servicegroups. Instead, it seems to affect services as well.

Centreon version 21.10.1 /var/log/php-fpm/centreon-error.log

[30-Dec-2021 14:26:06 Europe/Paris] PHP Fatal error:  Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /usr/share/centreon/www/class/config-generate/service.class.php:295
Stack trace:
#0 /usr/share/centreon/www/class/config-generate/service.class.php(387): Service->manageVerticalInheritance()
#1 /usr/share/centreon/www/class/config-generate/service.class.php(569): Service->manageNotificationInheritance()
#2 /usr/share/centreon/www/class/config-generate/host.class.php(113): Service->generateFromServiceId()
#3 /usr/share/centreon/www/class/config-generate/host.class.php(479): Host->getServices()
#4 /usr/share/centreon/www/class/config-generate/host.class.php(497): Host->generateFromHostId()
#5 /usr/share/centreon/www/class/config-generate/generate.class.php(232): Host->generateFromPollerId()
#6 /usr/share/centreon/www/class/config-generate/generate.class.php(264): Generate->configPoller()
#7 /usr/share/centreon/www/include/configuration/configGenerate/xml/generateFiles.php(161): Generate->configPollerFromId()
#8 {main}
  thrown in /usr/share/centreon/www/class/config-generate/service.class.php on line 295

TanguyFournier avatar Dec 30 '21 13:12 TanguyFournier

We found the culprit ! A service inheriting from a disabled template had been created in the meantime. Too bad that it doesn't pop up a clearer error message. In addition, except if i miss something, it should not be possible to select a disabled template when creating a new host/service/contact...

TanguyFournier avatar Dec 30 '21 17:12 TanguyFournier

I'm facing this issue too after upgrading from 3.4 to latest. I removed all disabled services/hosts/servicesgroup etc but nothing helps to generate the conf file

natman avatar Mar 22 '22 12:03 natman