Gunnar Beutner
3bfc9a2406
Don't log messages we've already relayed to all relevant zones
...
fixes #10262
2015-10-01 14:53:28 +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
Gunnar Beutner
c1892a2f30
Remove JsonRpcConnection::m_WriteQueue
...
refs #9976
2015-09-30 16:39:36 +02:00
Michael Friedrich
0529d51a85
Config sync does not set endpoint syncing and plays disconnect-sync ping-pong
...
fixes #10255
2015-09-30 16:14:04 +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
Gunnar Beutner
f779b20ec0
Properly encode URLs in Icinga Studio
...
fixes #10241
2015-09-30 14:02:18 +02:00
Gunnar Beutner
f3fdcb0f6b
Fix: /v1/objects/<type> returns an HTTP error when there are no objects of that type
...
fixes #10253
2015-09-30 13:26:19 +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
dfa2ac450c
Re-add missing package and stage name in configstageshandler
...
refs #10194
2015-09-29 18:25:48 +02:00
Michael Friedrich
905de04293
Fix deadlock in ApiClient::~ApiClient()
...
refs #9976
2015-09-29 16:03:38 +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
e5b26e60a5
Don't throw an exception when replaying the current replay log file
...
fixes #10239
2015-09-29 11:02:08 +02:00
Gunnar Beutner
0e40c3ee1d
Fix deadlock in TlsStream::Close
...
fixes #10235
2015-09-29 10:31:16 +02:00
Gunnar Beutner
8dec953829
Fix incorrect variable in Url::ParsePort
...
refs #10224
2015-09-29 08:28:30 +02:00
Gunnar Beutner
143aa13118
Make Icinga Studio work with the latest API version
...
fixes #10224
2015-09-29 08:09:48 +02:00
Gunnar Beutner
8a2c7a055d
Remove debug code
...
refs #9077
2015-09-29 06:48:16 +02:00
Michael Friedrich
76baeadb5b
Fix wrong query type in modify object api request
...
refs #10212
2015-09-28 19:14:38 +02:00
Gunnar Beutner
b40152f9fb
Fix null pointer dereference in StatusTargetProvider::GetTargetByName
...
refs #9088
2015-09-28 16:31:49 +02:00
Michael Friedrich
f498ce39f3
Improve api error handling
...
refs #10194
2015-09-28 16:08:14 +02:00
Michael Friedrich
a2058f0e55
Fix incorrect parameter name for status queries
...
refs #9088
2015-09-28 15:19:01 +02:00
Gunnar Beutner
f091379177
Fix: PerfdataValue is not properly serialised in status queries
...
fixes #10211
2015-09-28 14:37:50 +02:00
Gunnar Beutner
425a1a0166
Implement API permissions
...
fixes #9088
2015-09-28 14:30:46 +02:00
Gunnar Beutner
8a5d71a565
Move /v1/<type> to /v1/objects/<type>
...
refs #10212
2015-09-28 08:39:56 +02:00
Michael Friedrich
6549721ec6
Ensure that multiple object handler request methods still work
...
refs #10194
2015-09-27 15:27:08 +02:00
Michael Friedrich
717118fed4
Fix wrong log lag in cluster-zone check
...
Refactor the calculation into a generic function
which is also used inside the 2.4 status API.
fixes #8805
2015-09-25 14:24:45 +02:00
Jean-Marcel Flach
5ef4204d06
Improve API error handling and fix some whitespace
...
fixes #10194
2015-09-25 13:57:28 +02:00
Jean-Marcel Flach
15a46958f0
Rename statusqueryhandler to objectqueryhandler
...
fixes #10209
2015-09-24 17:38:44 +02:00
Jean-Marcel Flach
d8eca3d0c2
Move /status/Collection to /status
...
fixes #10210
2015-09-24 15:26:57 +02:00
Michael Friedrich
aa12a4e75c
Add icinga, cluster, cluster-zone check information to the ApiListener status handler
...
fixes #8093
2015-09-23 18:09:46 +02:00
Jean-Marcel Flach
4ef9761fee
Implement status api handler
...
Global statistics, features, etc.
fixes #10116
2015-09-23 16:59:07 +02:00
Gunnar Beutner
b163e4a002
Make ConfigObject::{Get,Set}Field() methods public
...
fixes #10186
2015-09-23 08:33:18 +02:00
Gunnar Beutner
1a6b41787a
Implement joins for status queries
...
fixes #10060
2015-09-22 09:45:23 +02:00
Michael Friedrich
f7b5aa33ce
Fix a couple of wrong white spaces
2015-09-18 13:04:09 +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
f2c3bffdd9
Sync cluster config before replaying the logs
...
If there were objects added at runtime (either through direct api
creation or by using the config file management api) the newly
created objects must be synced first, and then the stored historical
data should be synced.
refs #9927
refs #9100
2015-09-18 10:07:13 +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
Jean Flach
6571ffc2c8
Update url parser
...
fixes #10039
2015-09-04 14:40:27 +02:00
Gunnar Beutner
5c77e6eafe
Fix deadlock in ApiListener::RelayMessage
...
fixes #10002
2015-09-02 07:46:30 +02:00
Michael Friedrich
da83bae660
Rename config/modules to config/packages
...
fixes #9953
2015-09-01 20:09:04 +02:00
Gunnar Beutner
c37a23ccba
Implement the Icinga Studio application
...
fixes #10042
2015-08-31 07:50:01 +02:00
Gunnar Beutner
6705853e33
Add plural_name field to /v1/types
...
fixes #10038
2015-08-29 12:05:44 +02:00
Gunnar Beutner
9d9a7ca73d
Fix filtering by name
...
fixes #10027
2015-08-28 10:52:59 +02:00
Gunnar Beutner
d7a21c2361
Fix incorrect HTTP encoding
...
refs #10024
2015-08-28 10:03:26 +02:00