Commit Graph

2785 Commits

Author SHA1 Message Date
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 d24af1e639 Fix incorrect value for IdoMysqlConnection::m_AffectedRows
refs #10190
2015-09-28 13:19:42 +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 8c997255a9 DB IDO: Fix modified custom attribute update query problems
fixes #10190
2015-09-24 11:45:44 +02:00
Gunnar Beutner 0c10d64094 Fix incorrect error messages for apply-for
fixes #10205
2015-09-24 08:30:03 +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 e19a36c659 Fix parser error when using new-lines in dictionaries
fixes #10204
2015-09-23 16:37:21 +02:00
Michael Friedrich 84536da221 Implement global modified attributes for the IcingaApplication class
fixes #9859
2015-09-23 15:02:53 +02:00
Michael Friedrich 12cf90c67c Fix persisting and restoring modified attributes for custom attribute indexers
fixes #9935
fixes #9968
2015-09-23 13:29:30 +02:00
Gunnar Beutner ff59402a10 Remove unnecessary check in Value::IsObject
refs #10199
2015-09-23 10:48:49 +02:00
Gunnar Beutner afcb97303c Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate
fixes #10199
2015-09-23 10:37:13 +02:00
Gunnar Beutner c15c9cce5e Detect infinite recursion in user scripts
fixes #10198
2015-09-23 09:21:45 +02:00
Gunnar Beutner eeb01831c0 Implement the Array#reverse and String#reverse methods
fixes #10197
2015-09-23 09:06:15 +02:00
Gunnar Beutner b163e4a002 Make ConfigObject::{Get,Set}Field() methods public
fixes #10186
2015-09-23 08:33:18 +02:00
Gunnar Beutner 48bdd0ebf4 Fix: null + null should not be ""
fixes #10192
2015-09-22 13:13:38 +02:00
Gunnar Beutner 3bca951b81 Add missing handler for OnActiveChanged
refs #9098
2015-09-22 12:01:34 +02:00
Gunnar Beutner c5fe42e0b0 Update objects.cache when config is changed
fixes #9098
2015-09-22 11:56:27 +02:00
Gunnar Beutner ad6c8eaf7e Fix: String methods cannot be invoked on an empty string
fixes #10191
2015-09-22 11:24:00 +02:00
Gunnar Beutner 1a6b41787a Implement joins for status queries
fixes #10060
2015-09-22 09:45:23 +02:00
Michael Friedrich 95bcbec5b5 Implement support for restoring modified attributes
Also fix a glitch with ModifyAttribute and original_attributes
storage.

fixes #9935
2015-09-18 15:01:44 +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 a6d8cea5c2 Update DB IDO on changed object version (create, update, delete)
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
Tobias von der Krone da8613acf9 Add timestamp support for OpenTSDB
fixes #9183
2015-09-15 15:37:15 +02:00
Michael Friedrich fcf2f0ef5d Deprecate IcingaStatusWriter feature
fixes #8741
2015-09-14 10:36:06 +02:00
Michael Friedrich b10cb8a2e7 Implement a better Graphite tree schema
This changes the entire tree, but with the prefix "icinga2"
not to conflict with existing installations. Includes
enable_legacy_mode and detailed documentation.

fixes #9461
fixes #8149
2015-09-06 11:10:49 +02:00
Michael Friedrich 3403765900 Use the command_endpoint name as check_source value if defined
fixes #9218
2015-09-05 15:18:10 +02:00
Michael Friedrich fa6c0fe173 Fix string escape problem with PostgreSQL >= 9.1 and standard_conforming_strings=on
fixes #9244
2015-09-05 14:08:35 +02:00
Jean Flach 6571ffc2c8 Update url parser
fixes #10039
2015-09-04 14:40:27 +02:00
Michael Friedrich 50cd694142 Fix wrong calculation for host compat state UNREACHABLE
fixes #10058
2015-09-04 13:24:41 +02:00
Michael Friedrich 9a2ae6e58f Fix missing zero padding for generated CA serial
fixes #10074
2015-09-03 17:12:01 +02:00
Gunnar Beutner 35acba7dc1 Remove default WQ limits
refs #10002
2015-09-02 09:16:20 +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