The namespace support in 2.10 caused a regression with the registered global scope being evaluated for API permissions with filters. This release fixes the problem, next to a problem with Windows packages not fully starting up. There’s also a fixed oversight with not setting a default environment constant. This affects setups checking the SNI header in external load balancers.
v2.10.1 also fixes a problem with application reload and missing event states in large scale environments.
Some technical background: While a restart means
- validate and load config (means, Icinga 2 doesn’t do anything during this time.)
Icinga 2’s reload is built like
- spawn a child process to validate and load the configuration
- parent process continues to receive check results, acks, downtimes, etc.
- signal the parent process to stop
- parent process writes state file with events occurred meanwhile, exits
- child process takes over, reads dumped state file and events during reload time
This keeps the reload time frame as minimal as possible (milli to seconds) and your monitoring application continues to accept check results, acknowledgements, downtimes, etc.
v2.9 introduced a new reload handling, especially for Systemd notification support. The new SIGUSR2 handler did not dump the state file anymore, causing received events during the reload not being saved. After quite some time figuring the cause for lost acknowledgements and check results, our fellow community contributor Sascha came to the rescue. Many thanks for the fix – we hope to see you at an Icinga Camp to say “cheers” even :)