Commit Graph

37 Commits

Author SHA1 Message Date
Michael Friedrich 4658cb391e Fix logging for discarded cluster messages
fixes #4930
fixes #4969
2017-02-02 13:47:18 +01:00
Michael Friedrich b7caf0820d Ensure that *.icinga.com is used everywhere
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Michael Friedrich 40d68fcce2 Fix object sync for objects in a global zone
fixes #11541
2016-11-14 14:42:47 +01:00
Michael Friedrich 4b86f69c96 Ensure that runtime created objects are synced on (re)connect
refs #11684
2016-11-11 16:29:37 +01:00
Michael Friedrich 2e2de7c340 Enhance log messages for cluster config sync
refs #11684
2016-11-10 17:44:05 +01:00
Michael Friedrich 5dd4898eb3 Ensure that UpdateConfigObject sets the target zone
refs #11684
2016-11-10 17:15:06 +01:00
Gunnar Beutner 0145a32e58 Fix object resync issues
refs #11684
2016-10-11 10:55:13 +02:00
Gunnar Beutner 288b354d11 Improve log message for ignored config updates
fixes #12623
2016-09-02 09:35:35 +02:00
Gunnar Beutner b5b09216c6 Use lambda functions for INITIALIZE_ONCE
fixes #12562
2016-08-27 09:48:36 +02:00
Gunnar Beutner 288413f046 Replace BOOST_FOREACH with range-based for loops
fixes #12538
2016-08-25 06:46:17 +02:00
Gunnar Beutner b7a1b58069 Improve performance for type lookups
fixes #12448
2016-08-16 11:02:33 +02:00
Gunnar Beutner ebaf239d3b Replace GetType()->GetName() calls with GetReflectionType()->GetName()
fixes #12438
2016-08-15 14:42:03 +02:00
Michael Friedrich c8a9f45697 ApiListener: Bail out if object could not be created during config sync
refs #11006
2016-02-12 14:15:24 +01:00
Jean Flach fa1d633484 Rephrase some log messages
refs #11122
2016-02-09 15:59:19 +01:00
Gunnar Beutner 14d805e6fe Fix crash in ApiListener::ConfigUpdateObjectAPIHandler
fixes #11006
2016-02-09 09:13:43 +01:00
Gunnar Beutner 599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Gunnar Beutner 4bb9beda19 Don't send cluster config messages for objects with version 0
refs #9927
2015-11-08 21:22:06 +01:00
Michael Friedrich d516d16c9a Fix restore_attribute not working in clusters
fixes #10386
2015-10-22 14:50:43 +02:00
Michael Friedrich 934fb64b9e Fix log message formatting for object version
refs #10355
2015-10-15 16:52:49 +02:00
Michael Friedrich 5852a003d0 Ensure that modified attributes work with clients with local config and no zone attribute
fixes #10371
2015-10-15 14:05:39 +02:00
Michael Friedrich a0631cd351 Fix wrong type for object version
refs #10355
2015-10-15 11:11:07 +02:00
Gunnar Beutner f89877cd28 Fix incorrect variable type in ApiListener::ConfigUpdateObjectAPIHandler
refs #10355
2015-10-15 09:26:58 +02:00
Michael Friedrich 9dcb33e8f4 Change object version to timestamps for diff updates on config sync
fixes #10257
2015-09-30 16:58:18 +02:00
Michael Friedrich 657e749c9b Config sync shouldn't send updates for objects the client doesn't have access to
fixes #10249
2015-09-30 15:08:01 +02:00
Michael Friedrich 19e7524b31 Fix problem with non-existing objects in config sync updates
refs #9851
refs #9927
refs #9081
2015-09-30 10:04:37 +02:00
Gunnar Beutner 7e4953dd35 Improve log messages for HTTP requests
refs #9074
2015-09-30 08:41:09 +02:00
Michael Friedrich bb3b724219 Fix object sync for modified attributes
refs #9851
refs #9927
refs #9081
2015-09-29 14:24:39 +02:00
Michael Friedrich f498ce39f3 Improve api error handling
refs #10194
2015-09-28 16:08:14 +02:00
Jean-Marcel Flach 5ef4204d06 Improve API error handling and fix some whitespace
fixes #10194
2015-09-25 13:57:28 +02:00
Michael Friedrich 57179f3bdd Only sync objects actually belonging to a cluster zone
refs #9927
refs #9100
2015-09-18 12:49:38 +02:00
Michael Friedrich 18d645e4ef Add zone attribute influencing cluster config sync for API objects
1) No zone defined. The object will only be synced in the local zone for HA purposes.
2) Zone is set to 'master'. Only nodes in the master zone will get this object and updates synced.
3) Zone is set to 'satellite'. Only nodes in the satellite zone, or in parent zones above will get this object and updates synced.
4) Zone is set to 'client'. Only nodes in the client zone, and in parent zones (satellite, master) will get object updates.

Furthermore this commit adds a bit more security measures for syncing object
config bottom-up which is clearly restricted at this time. Clients cannot
send their config to the top, but yet we only support the top-down thing we
also have with the cluster file config sync.

The initial sync will also take the zone relation model into account
and only allow object syncs only when the same conditions apply as written
above.

refs #9927
refs #9100
2015-09-17 14:20:44 +02:00
Michael Friedrich 0fd9d3406b Prevent object deletion on shutdown when checking !IsActive()
This is fairly ugly and sets an extension for the ConfigObjectUtility
delete handler to signal the OnActiveChanged handler inside the cluster
configsync to send a delete event to the other nodes.

refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich 4955c28b0c Implement initial api object sync for newly connected endpoints
TODO: Figure out how to deal with Shutdown() deactivating and
therefore deleting all api created objects.

refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich b2715943c6 Config Sync: Properly modify attributes and object version
refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich 81a0bc6f1b Implement deleting api created objects in the cluster
refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich f9c058eca2 Implement object config sync permissions and modified attributes based on version
refs #9927
2015-09-17 14:20:43 +02:00
Gunnar Beutner 6fa58a520c Implement config object sync
Adds object version.

refs #9927
2015-09-17 14:20:43 +02:00