Commit Graph

2271 Commits

Author SHA1 Message Date
carl bystrom
236d80afa3 Horde: Ensure instance data is copied in tests to avoid leaking state
#preflight none

[CL 23220500 by carl bystrom in ue5-main branch]
2022-11-21 09:50:34 -05:00
Ben Marsh
310fc58d6d Horde: Prevent users being able to modify logs if they only have view session permissions.
#preflight none

[CL 23217805 by Ben Marsh in ue5-main branch]
2022-11-20 19:17:48 -05:00
Ben Marsh
8f5942b1bf Horde: Support indexed searches for new log storage format. Persisted data is indexed using ngram tries, tail data is converted to plain text and searched directly.
#preflight none

[CL 23217803 by Ben Marsh in ue5-main branch]
2022-11-20 19:15:21 -05:00
Ben Marsh
bf9f42bcdd Horde: Fix line count returned using new logger backend.
#preflight none

[CL 23215892 by Ben Marsh in ue5-main branch]
2022-11-19 14:30:54 -05:00
Ben Marsh
08a5142fef Horde: Support for log tailing with new storage backend.
* Once a log is retrieved, server adds an entry with this log id to a sorted set in Redis, scored by expiry time and broadcasts it to any other server instances.
* If a log is being tailed, server keeps the total number of lines in a Redis key and appends chunks of log data to a sorted set for that log scored by index of the first line.
* Chunks are split on fixed boundaries, in order to allow older entries to be purged by score without having to count the number of lines they contain first.
* Agent polls for requests to provide tail data via LogRpcService.UpdateLogTail, which calls LogTailService.WaitForTailNext. WaitForTailNext returns the index of the total line count for this log if it is being tailed (indicating the index of the next line that the agent should send to the server), or blocks until the log is being tailed.
* Once data is flushed to persistent storage, the number of flushed lines is added to LogRpcService._trimQueue and the line data is removed from Redis after LogRpcService.TrimAfter.
* Log node contains a "complete" flag indicating whether it is necessary to check for tail data.

#preflight none

[CL 23215856 by Ben Marsh in ue5-main branch]
2022-11-19 14:15:32 -05:00
Ben Marsh
2588651cc3 Horde: Remove byte offset-based addressing for log data.
#preflight none

[CL 23199028 by Ben Marsh in ue5-main branch]
2022-11-18 13:35:05 -05:00
Ben Marsh
529b815b6d Horde: Add an option to return log data from the new log storage backend. Does not currently implement search.
#preflight none

[CL 23197938 by Ben Marsh in ue5-main branch]
2022-11-18 12:34:37 -05:00
Ben Marsh
5fa7a88b48 Horde: Add custom storage endpoints for uploading log files, and set up a default namespace for receiving them.
#preflight none

[CL 23193998 by Ben Marsh in ue5-main branch]
2022-11-18 09:37:01 -05:00
Josh Engebretson
9cb420eedb Horde: Add device ip to checkout confirmation
#jira none
#rnx
#skipci
#preflight none

[CL 23193836 by Josh Engebretson in ue5-main branch]
2022-11-18 09:10:16 -05:00
Ben Marsh
744e0ef4c7 Horde: Missing file.
#preflight none

[CL 23186543 by Ben Marsh in ue5-main branch]
2022-11-17 18:06:30 -05:00
Ben Marsh
a1e8cb2a00 Horde: Abstract the construction of logger instances behind a factory, making it easier to adjust implementation details without having to modify all call sites.
#preflight none

[CL 23186525 by Ben Marsh in ue5-main branch]
2022-11-17 18:06:07 -05:00
Ben Marsh
ee5f6f2402 Horde: Allow any arbitrary base URL for storage. This allows using different endpoints other than the generic user-facing /api/v1/storage/{ns} route.
#preflight none

[CL 23182647 by Ben Marsh in ue5-main branch]
2022-11-17 15:31:01 -05:00
Ben Marsh
5c9e52a768 Horde: Configure a default storage backend, which writes to C:\ProgramData\HordeServer\Storage.
#preflight none

[CL 23182251 by Ben Marsh in ue5-main branch]
2022-11-17 15:18:53 -05:00
Ben Marsh
2ebc711659 Horde: Allow comments in JSON config files.
#preflight none

[CL 23182214 by Ben Marsh in ue5-main branch]
2022-11-17 15:17:19 -05:00
Josh Engebretson
5a0873b669 Horde: TestCollection fixes
#jira none
#rnx
#preflight none

[CL 23181913 by Josh Engebretson in ue5-main branch]
2022-11-17 15:07:46 -05:00
Josh Engebretson
7e69fb4095 Horde: Add a clickable history icon to automation device rows to facilitate being able to select various text in the row, such as ips
#jira UE-170264
#rnx
#preflight none
#skipci

[CL 23175627 by Josh Engebretson in ue5-main branch]
2022-11-17 09:55:10 -05:00
Josh Engebretson
d3975ad51c Horde: Fix warning with test ids
#jira none
#rnx
#preflight none
#skipci

[CL 23163731 by Josh Engebretson in ue5-main branch]
2022-11-16 17:04:23 -05:00
Josh Engebretson
15ec693a7e Horde: Fix issue with long uri when requests test responses
#jira none
#rnx
#preflight none

[CL 23163542 by Josh Engebretson in ue5-main branch]
2022-11-16 16:58:14 -05:00
Josh Engebretson
a35668b281 Horde: Explict test endpoint and adding test details
#jira none
#rnx
#preflight none

[CL 23162141 by Josh Engebretson in ue5-main branch]
2022-11-16 16:00:17 -05:00
Josh Engebretson
45be435850 Horde: Fix compound filter grouping
#jira none
#rnx
#preflight none

[CL 23158208 by Josh Engebretson in ue5-main branch]
2022-11-16 13:39:24 -05:00
Josh Engebretson
72bf4aaaf6 Horde: Support querying both suite and test ids for refs
#jira none
#rnx
#preflight none

[CL 23157605 by Josh Engebretson in ue5-main branch]
2022-11-16 13:16:28 -05:00
Josh Engebretson
c8842a10f8 Horde: Fix mongodb serialization exception on nullable
#jira none
#preflight none
#rnx

[CL 23156733 by Josh Engebretson in ue5-main branch]
2022-11-16 12:27:19 -05:00
Ben Marsh
1a3e993f78 Horde: Add timezone property to IClock, and use it for all schedule triggers. Note: this changes issue reports to be sent on the configured timezone rather than UTC.
#preflight none

[CL 23154607 by Ben Marsh in ue5-main branch]
2022-11-16 11:00:01 -05:00
Ben Marsh
95e92c300e Horde: Add a job type for running the local executor in the default config file.
#preflight none

[CL 23153073 by Ben Marsh in ue5-main branch]
2022-11-16 08:37:08 -05:00
Ben Marsh
8aec6f5b80 Horde: Allow local executor to find a working directory from the executable directory upwards.
#preflight none

[CL 23152963 by Ben Marsh in ue5-main branch]
2022-11-16 08:23:29 -05:00