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
Gunnar Beutner
49fd5b582d
Fix: HttpHandler is calling HttpResponse::Finish twice for 404s
...
fixes #10024
2015-08-28 09:49:31 +02:00
Jean Flach
f1a1dfb26e
Update use of String::Trim()
...
fixes #9704
2015-08-27 18:06:20 +02:00
Jean Flach
01ced1549a
Implement all actions except modified attributes
...
refs #9080 #9979
2015-08-26 13:53:17 +02:00
Gunnar Beutner
b6eb621d30
Add missing field attribute for the /v1/types API handler
...
refs #9076
2015-08-26 11:02:22 +02:00
Gunnar Beutner
06f02f8b10
Implement reflection support for the API
...
fixes #9076
2015-08-26 10:58:59 +02:00
Gunnar Beutner
1f63bcb1b3
Remove unused argument 'async'
...
refs #9972
2015-08-26 06:57:24 +02:00
Gunnar Beutner
de09a562f6
Use dependency graph when deleting objects
...
refs #9096
2015-08-26 06:35:06 +02:00
Jean Flach
2a9ac26338
Move endpoint error check to ti file
...
refs #9623
2015-08-25 17:06:08 +02:00
Jean Flach
9b05304435
Add config error on empty port in Endpoints
...
fixes #9623
2015-08-25 16:44:32 +02:00
Gunnar Beutner
f45f6ccd82
Implement support for tracking dependencies between config objects
...
refs #9096
2015-08-25 13:54:05 +02:00
Michael Friedrich
7eca257784
Fix return value of Utility::MkDir/MkDirP
...
None as there are exceptions thrown.
fixes #9689
2015-08-24 15:11:49 +02:00
Gunnar Beutner
380b1275b7
Clean up the API action code a bit
...
refs #9080
2015-08-24 08:01:33 +02:00
Michael Friedrich
92364d7b73
Remove debug messages in HttpRequest class
...
fixes #9946
2015-08-21 14:46:18 +02:00
Jean Flach
c5fe46a300
Experimental actions without types
...
refs #9080
2015-08-21 12:48:32 +02:00
Gunnar Beutner
b3db2ee1f6
Fix crash in ConfigObjectUtility::CreateObject
...
refs #9082
2015-08-18 20:25:06 +02:00
Gunnar Beutner
da7d04581d
Add missing attributes for dependent objects
...
refs #9082
2015-08-18 19:39:10 +02:00
Gunnar Beutner
71dc682924
Implement support for "." in attributes when creating objects
...
refs #9082
2015-08-18 16:53:30 +02:00
Gunnar Beutner
0cbcb75e79
Ensure that runtime config objects are persisted on disk
...
refs #9101
fixes #9926
2015-08-18 14:21:55 +02:00
Gunnar Beutner
d8cab2f0e8
Add 'override' keyword to methods
...
refs #9929
2015-08-18 12:45:30 +02:00
Gunnar Beutner
60a30d50f6
Don't allow users to delete objects that weren't created using the API
...
refs #9082
2015-08-18 08:22:14 +02:00
Gunnar Beutner
d118b71a2a
Fix compiler warnings
...
fixes #9929
2015-08-18 07:46:04 +02:00
Gunnar Beutner
147f69a8f6
Implement support for filter_vars
...
fixes #9940
2015-08-18 06:47:07 +02:00
Gunnar Beutner
071d2f18fb
Rename DynamicObject/DynamicType to ConfigObject/ConfigType
...
fixes #9914
2015-08-15 20:40:41 +02:00
Gunnar Beutner
827de21907
Improve error messages for duplicate objects
...
refs #9101
2015-08-15 20:07:12 +02:00
Gunnar Beutner
ce2735f10b
Fix validation errors when creating objects with the API
...
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner
e2290d5012
Implement support for unregistering objects
...
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner
16ddc12c06
Implement support for creating objects
...
refs #9101
2015-08-15 20:07:11 +02:00