]> granicus.if.org Git - icinga2/commit
Add zone attribute influencing cluster config sync for API objects
authorMichael Friedrich <michael.friedrich@netways.de>
Thu, 17 Sep 2015 11:54:09 +0000 (13:54 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Thu, 17 Sep 2015 12:20:44 +0000 (14:20 +0200)
commit18d645e4ef92413a46e9f1c35fdf9c202ee0f61f
treea888eb4359dbf76ade670a18606d2b4a63bddf0e
parent0fd9d3406b7d722eb31a16cf81a9753c8a50f556
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
lib/remote/apilistener-configsync.cpp