Noah Hilverling
77eb7f4e1e
Merge pull request #9111 from Icinga/Al2Klimov-patch-8
...
GHA: Add Ubuntu impish
2021-12-03 11:23:52 +01:00
Alexander Aleksandrovič Klimov
90831dcbc1
GHA: Add Ubuntu impish
2021-12-02 16:48:58 +01:00
Alexander Aleksandrovič Klimov
978a72afa2
Merge pull request #9106 from Icinga/feature/avoid-copy-in-downtimes-timer
...
Downtime::DowntimesExpireTimerHandler: don't copy vector
2021-12-02 15:32:00 +01:00
Alexander Aleksandrovič Klimov
4919c8b189
Merge pull request #9104 from Icinga/Al2Klimov-patch-6
...
GHA: add Raspbian bullseye
2021-12-01 17:25:27 +01:00
Julian Brost
596fcdc123
Downtime::DowntimesExpireTimerHandler: don't copy vector
...
`ConfigType::GetObjectsByType<Downtime>()` already returns a
`std::vector<Downtime::Ptr>` so there is no point in copying it into another
vector of the same type just to then iterate the copied vector instead of the
original one.
2021-12-01 13:05:23 +01:00
Alexander A. Klimov
2a9f5f2e0f
GHA: Raspbian: install more recent QEMU
...
to workaround "semop(1): encountered an error: Function not implemented".
2021-12-01 11:40:50 +01:00
Julian Brost
d6a1757cb8
Merge pull request #9093 from Icinga/Al2Klimov-patch-7
...
GHA: add Fedora 35
2021-11-30 14:58:49 +01:00
Alexander Aleksandrovič Klimov
63a5938164
GHA: add Raspbian bullseye
2021-11-29 15:59:20 +01:00
Julian Brost
9e39866986
Merge pull request #9100 from Icinga/Al2Klimov-patch-4
...
Put `-latomic` to the other `-l`s
2021-11-25 11:38:46 +01:00
Alexander Aleksandrovič Klimov
7270caf226
Put `-latomic` to the other `-l`s
...
to make it compiling on Raspberry Pi OS bullseye.
2021-11-23 16:19:05 +01:00
Alexander Aleksandrovič Klimov
c4c51a2b56
Merge pull request #8963 from Icinga/bugfix/git-describe-escapes-to-parent-dirs
...
third-party: update GetGitRevisionDescription CMake module
2021-11-23 12:22:47 +01:00
Yonas Habteab
361807f7a9
Adjust incosistent pki log messages ( #8965 )
2021-11-22 16:06:55 +01:00
Yonas Habteab
a64089ffc1
`ClassCompiler`: Don't allow to define an int as a group name in `groups` attr ( #9057 )
2021-11-22 14:02:50 +01:00
Julian Brost
d09925189a
Merge pull request #9037 from Icinga/Al2Klimov-patch-4
...
InfluxdbCommonWriter#Flush(): fix log message
2021-11-19 17:09:05 +01:00
Julian Brost
da08d970cc
Document which other downtimes are deleted by /v1/actions/remove-downtime
2021-11-19 14:47:07 +01:00
Julian Brost
8cde21ddfd
Merge pull request #9092 from Icinga/bugfix/non-unity-build
...
Add missing include to fix non-unity builds
2021-11-19 13:47:48 +01:00
Julian Brost
16d1ddb87f
Merge pull request #9052 from Icinga/bugfix/github-actions-windows-builds-don-t-abort-if-installing-dependencies-fails-8935
...
doc/win-dev.ps1: actually utilize ThrowOnNativeFailure
2021-11-19 13:47:29 +01:00
Alexander Aleksandrovič Klimov
2aa0078663
GHA: add Fedora 35
2021-11-18 12:35:52 +01:00
Henrik Triem
6e40f3f11e
Merge pull request #9091 from Icinga/Al2Klimov-patch-6
...
GHA: drop Fedora 33
2021-11-17 18:00:04 +01:00
Julian Brost
2ad0a4b8c3
Add missing include to fix non-unity builds
...
This commit fixes the following build error:
[ 55%] Building CXX object lib/icinga/CMakeFiles/icinga.dir/usergroup.cpp.o
lib/icinga/usergroup.cpp:79:24: error: incomplete type ‘icinga::Notification’ used in nested name specifier
79 | std::set<Notification::Ptr> UserGroup::GetNotifications() const
| ^~~
2021-11-17 16:11:15 +01:00
Julian Brost
7b2667400b
Add tests for LegacyTimePeriod::ScriptFunc when used by TimePeriod::IsInside
2021-11-17 13:09:10 +01:00
Julian Brost
a740b1d66c
LegacyTimePeriod::ScriptFunc: fix DST edge-cases
...
This change fixes two problems:
* The internal functions used by ScriptFunc more or less expect to operate on
full days, but ScriptFunc may have called them with some random timestamp
during the day. This is fixed by always using midnight of the day as
reference time.
* Previously, the code advanced a timestamp to the next day by adding 24 hours.
On days with DST changes, this could either still be on the same day (a day
may have 25 hours) or skip an entire day (a day may have 23 hours). This is
fixed by using a struct tm to advance the time to the next day.
2021-11-17 13:09:10 +01:00
Alexander Aleksandrovič Klimov
f0b6ef14e9
GHA: drop Fedora 33
...
It's EOL.
2021-11-16 10:48:31 +01:00
Feu Mourek
e1c6c9eb19
Add documentation about Icinga 2 use cases ( #9065 )
...
Added examples about different kind of use cases that will help users get a better picture of Icinga.
2021-11-15 17:51:37 +01:00
Noah Hilverling
4d3b1709fd
Merge pull request #9009 from Icinga/bugfix/icingadb-runtime-updates-delete-relationships
...
Icinga DB: Make sure object relationships are handled correctly during runtime updates
2021-11-12 17:52:59 +01:00
Noah Hilverling
e681914d83
Merge pull request #9086 from Icinga/bugfix/icingadb-log-queries-debug-level
...
Icinga DB: only log queries at debug level
2021-11-12 17:16:54 +01:00
Julian Brost
b9e6273ba0
Icinga DB: only log queries at debug level
2021-11-12 15:41:17 +01:00
Noah Hilverling
7a0796061a
IcingaDB::AddObjectDataToRuntimeUpdates(): Copy data before modifying
2021-11-12 13:34:57 +01:00
Noah Hilverling
10bde2075a
Dictionary: Make sure underlaying map is ordered
2021-11-12 13:34:57 +01:00
Noah Hilverling
73e0d6e61b
Icinga DB: Make sure object relationships are handled correctly
2021-11-12 13:34:57 +01:00
Noah Hilverling
4e79eb080c
Merge pull request #9058 from Icinga/bugfix/icingadb-prefix-command_id
...
IcingaDB: Prefix command_id with command type
2021-11-11 11:50:26 +01:00
Noah Hilverling
c1098bef35
Merge pull request #9061 from Icinga/add-downtime-duration-and-service-state-host-id-streams
...
Icinga DB: Add `downtime.duration` & `service_state.host_id` to Redis
2021-11-11 10:19:47 +01:00
Noah Hilverling
766bb2e546
Merge pull request #9018 from Icinga/feature/sync-checkables-states-first
...
Icinga DB: sync checkables along with their states first
2021-11-09 15:28:00 +01:00
Noah Hilverling
a9c2304c61
IcingaDB: Prefix command_id with command type
2021-11-09 12:26:30 +01:00
Eric Lippmann
35053ac1dd
Icinga DB: Sync groups earlier
...
Host and service groups are structural information that are used
for Web filters and should therefore be synchronized as soon as
possible.
2021-11-09 11:17:01 +01:00
Alexander A. Klimov
07c8440fd2
Icinga DB: sync checkables along with their states first
...
`WorkQueue#ParallelFor(x, false, y)` will enqueue x's items in FIFO order,
so x has to start with host and service.
2021-11-09 11:17:01 +01:00
Yonas Habteab
fe5aa1e18d
Icinga DB: Add `service_state.host_id` to Redis
2021-11-09 11:08:22 +01:00
Yonas Habteab
5dc45baebb
Icinga DB: Add `downtime.duration` & `scheduled_duration` to Redis
2021-11-09 11:08:22 +01:00
Julian Brost
848f1ae167
Merge pull request #8998 from Icinga/bugfix/icingadb-program-start-milliseconds
...
Icinga DB: set value in milliseconds for program_start in stats/heartbeat
2021-11-08 18:18:19 +01:00
Julian Brost
524fe92a1d
Merge pull request #9028 from Icinga/bugfix/icingadb-zone-parent
...
IcingaDB: actually write parent to parent_id of zones
2021-11-08 18:08:48 +01:00
Julian Brost
e46d83b6be
Icinga DB: set value in milliseconds for program_start in stats/heartbeat
2021-11-08 14:37:08 +01:00
Julian Brost
4c5f9db982
Merge pull request #9059 from Icinga/bugfix/icingadb-improve-object-identifier-function
...
IcingaDB: Remove GetObjectIdentifiersWithoutEnv()
2021-11-08 11:18:14 +01:00
Noah Hilverling
0b9317a5bf
IcingaDB: Remove GetObjectIdentifiersWithoutEnv()
...
Having the command type be a part of the command ID isn't needed anywhere. Removing this simplifies the way we generate IDs in general, because we don't need Prepend() anymore.
The command type was only needed to prevent ID collisions within the command_envvar and command_argument tables. Those tables have since been separated into {check,event,notification}command_envvar and {check,event,notification}command_argument tables.
2021-11-05 17:01:40 +01:00
Julian Brost
d892fc77f3
Merge pull request #9036 from Icinga/feature/icingadb-environment
...
Icinga DB: decouple environment from Icinga 2 Environment constant
2021-11-05 16:15:23 +01:00
Julian Brost
3c8672b4dc
Icinga DB: increase Redis schema version
...
PR #9036 introduces some incompatible changes to the Redis schema, most
importantly where Icinga DB has to read the environment from: now it has to use
a new top-level key of the icinga:stats message instead of a value in the
IcingaApplication part of that message.
2021-11-05 14:14:37 +01:00
Julian Brost
6007848146
IcingaDB: export environment_id via API
...
Primarily required for Icinga DB integration tests at the moment, but could
also be helpful in other situations.
2021-11-05 14:14:37 +01:00
Julian Brost
4ade4c757b
IcingaDB: write new environment to icinga:stats stream
2021-11-05 14:14:37 +01:00
Julian Brost
525dd50859
IcingaDB: introduce a new environment ID derived from the CA public key
...
In order to avoid changes to the environment ID, it is now no longer derived
from the Environment constant but instead from the public key of the CA
certificate. This ensures that it is different between clusters by default, so
no additional changes have to be done to allow two clusters to use Icinga DB to
write into the same database.
To prevent the ID from changing when the CA certificate is replaced, it is also
persisted into the file /var/lib/icinga2/icingadb.env, so if that file exists,
it takes precedence over the CA certificate.
2021-11-05 14:14:37 +01:00
Julian Brost
6cd3a483a0
tlsutility: move hex encoding into a separate function BinaryToHex
2021-11-05 14:14:37 +01:00
Julian Brost
f976e351f4
Merge pull request #9044 from Icinga/bugfix/idb-dump-buf-lost
...
Icinga DB init. dump: flush both buffered states and state checksums
2021-11-04 12:26:28 +01:00