Commit graph

11002 commits

Author SHA1 Message Date
Andrea Selva
48b0af1206
Replace Gradle's report.enabled setting to report's required property (#15706) 2023-12-20 12:40:10 +01:00
Dimitrios Liappis
33347ddddf
Common scheduler pipeline for Buildkite (#15705)
As an improvement from #15668 / #15700, rather than having one
dedicated side-car scheduling job per pipeline, we move to a single
scheduling job. Various pipelines that need triggering with different
schedules now live under each schedule in the new pipeline.

This reduces the amount of jobs we have to maintain in yaml.
2023-12-20 11:47:54 +02:00
Dimitrios Liappis
06ceef8e13
[ci] Allow schedule to trigger several pipelines (#15703)
This commit enhances the functionality introduced in #15668 and #15700
by allowing a single Buildkite scheduling job to trigger several
pipelines, in addition to multiple branches which it already does.

We rename the env var PIPELINE_TO_TRIGGER to PIPELINES_TO_TRIGGER
which now supports comma separate values.

This enhancement can be useful for pipelines like JDK matrix which
have variants (Linux and Windows) that we want to trigger with a single
scheduling job, thus reducing unnecessary entries in catalog-info.
2023-12-20 10:22:46 +02:00
Dimitrios Liappis
42497edebb
Bug fix for trigger pipeline Buildkite pipeline (#15700)
This commit fixes a few bugs introduced in #15668 related to paths for
the calling script. We also stop limiting the execution only from the
main branch (to facilitate e.g. tests from PRs) and, finally, remove
the async clause, which is not needed, since by default BK steps are
run in parallel.
2023-12-19 13:33:46 +02:00
Dimitrios Liappis
c2eaecce8e
[ci] Remove hardcoded branches from DRA schedule (#15668)
This commit is the first making use of #15627 to remove hard coded
branches for the DRA Snapshot build schedule.

With this pattern, we will only need to keep `ci/branches.json` up to date,
as versions evolve, and not need to update/maintain hard coded branches
in `catalog-info.yaml` anymore.

Once this is verified working, we'll add a corresponding schedule
pipeline (in `catalog.info`) for the JDK matrix job.

Relates: https://github.com/elastic/ingest-dev/issues/2664
2023-12-19 11:42:28 +02:00
Dimitrios Liappis
f062fef603
[ci] Add Java 21 option for multi JDK CI pipeline (#15691)
Now that CI VM images are pre-provisioned with various flavors of
Java 21, we add the option for the corresponding CI job.
Adoptium 17 remains the default pre-selected option.

Relates https://github.com/elastic/ci-agent-images/pull/463
2023-12-18 16:56:48 +02:00
Andrea Selva
6b22cc8dd1
Separate scheduling of segments flushes from time (#15680)
Introduces a new interface named SchedulerService to abstract from the ScheduledExecutorService to execute the DLQ flushes of segments. Abstracting from time provides a benefit in testing, where the test doesn't have to wait for things to happen, but those things could happen synchronously.
2023-12-18 11:07:02 +01:00
João Duarte
aa05205a9e
Update logstash_releases.json to include 7.17.16 and 8.11.3 (#15688) 2023-12-12 18:23:46 +00:00
João Duarte
9e93ded8ea
Update catalog-info.yaml to include testing for 8.12 branch (#15666)
Don't remove 8.11 yet as we may have 8.11.x maintenance releases until 8.12.0 is GA.
2023-12-12 17:30:26 +00:00
github-actions[bot]
64ef307a73
Release notes for 8.11.3 (#15681) (#15685)
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
(cherry picked from commit a45349ea47)
2023-12-12 10:28:39 -05:00
Andrea Selva
241c03274c
Avoid to run integration tests while testing all supported plugin (#15511)
Update the test_plugins pipeline script to execute only the unit tests.
Use the vendored JRuby in every Ruby related duty, such as running `bundler` and `gem`.
Temporarily comments plugins that has needs to be fixed and already fails on  their Travis CI.
Executes the testing of input tier1 plugins in VM instead of Buildkite agent.
2023-12-11 10:11:03 +01:00
github-actions[bot]
042e5d4c2d
Release notes for 8.11.2 (#15660) forwardport to main (#15676)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
(cherry picked from commit 4e3e09c5d6)
2023-12-07 17:17:32 -05:00
Mashhur
6a44d9df68
Update JRuby core to 9.4.5.0 of rubyUtils.gralde (#15671) 2023-12-07 11:29:16 -08:00
Karen Metts
6c2e123a24
Doc: Add docs for extending integrations with filter-elastic_integrations (#15518) 2023-12-07 14:21:23 -05:00
Dimitrios Liappis
365ca4e2d6
Add new 8.12 branch to CI (#15667)
Now that we have a new 8.12 branch[^1], add it to CI definitions.

[^1]: https://github.com/elastic/logstash/tree/8.12
2023-12-07 15:59:08 +02:00
João Duarte
6c12e6f4c2
bump version to 8.13.0 (#15665) 2023-12-06 23:00:47 +00:00
Karen Metts
0954a687f0
Doc: Update Logstash intro and security overview for serverless (#15313) 2023-12-06 17:00:01 -05:00
Andrea Selva
eddd91454f
Shutdown DLQ segments flusher only if it has been started (#15649)
In DLQ unit testing sometime the DLQ writer is started explicitly without starting the segments flushers. In such cases the test 's logs contains exceptions which could lead to think that the test fails silently.

Avoid to invoke scheduledFlusher's shutdown when it's not started (such behaviour is present only in tests).
2023-12-05 09:06:24 +01:00
Dimitrios Liappis
a26b1d399f
[ci] Skip Logstash PR checks when docs change (#15650)
Changes made under `docs/` are unrelated to the PR tests triggered from
this repo[^1]

This commit skips regular PR tests when changes are made (only) under the `docs/` directory.

Note that the current docs-specific Jenkins Job is getting migrated
at an org level[^2] to Buildkite, and this change will be merged soon.

Relates:

- https://github.com/elastic/ingest-dev/issues/2703

[^1]: via `.buildkite/pull_requests_pipeline.yml`
[^2]: https://github.com/elastic/docs/blob/master/.buildkite/pull-requests.org-wide.json
2023-12-04 19:14:57 +02:00
Dimitrios Liappis
d42b938f81
[ci] Compatibility tests for Exhaustive suite (#15641)
This commit adds the compatibility tier for the Exhaustive tests suite.
Specifically, we introduce two new groups (running in parallel) for Linux and Windows compat tests.
Linux picks one OS per family from [^] and likewise Windows one of the three available choices from the same file.

We also support manual override, if user chooses to, by setting `LINUX_OS` or `WINDOWS_OS` as env vars in the Buildkite build prompt (in this case there is no randomization, and only one OS can be defined for Linux and Windows respectively).

For example:
```
LINUX_OS=rhel-9
WINDOWS_OS=windows=216
```

Relates:

- https://github.com/elastic/ingest-dev/issues/1722

[^1]: 4d6bd955e6/.buildkite/scripts/common/vm-images.json
2023-11-30 20:28:19 +02:00
Dimitrios Liappis
0b1d15e250
Add list of active branches for automation (#15627)
This commit introduces a json file that contains a list of active
branches. It's essentially the same thing done in the Elasticsearch
repo in https://github.com/elastic/elasticsearch/pull/99026 and helps
simplify and automate Buildkite scheduled jobs.

Relates:

- https://github.com/elastic/ingest-dev/issues/2664
- https://elasticco.atlassian.net/browse/ENGPRD-318
- https://github.com/elastic/ingest-dev/issues/2663
2023-11-30 16:55:46 +02:00
kaisecheng
05392ad16e
Added missing method of logger wrapper for puma (#15640)
This commit fixes no method error when node stats API got
invalid API path, which triggers puma to print error using stderr

Fix: #15639
2023-11-30 13:53:18 +00:00
Edmo Vamerlatti Costa
5543e3c3b2
Add support to add and remove multiple keystore keys in a single operation (#15612)
This commit added support to add and remove multiple keystore keys in a single operation. It also fixed the empty value validation for editing existing key values and added ASCII validation for values.
2023-11-30 10:21:51 +01:00
github-actions[bot]
8b9acf12fa
Release notes for 8.11.1 (#15572) forwardport to main (#15637)
(cherry picked from commit 3d4e7e121d)
2023-11-29 18:12:10 -05:00
Dimitrios Liappis
6446bba962
[ci] Switch to Adoptium distro for JDK 11 (#15629)
AdoptOpenJDK is nowadays Adoptium, so we replace it in favor of
the latter which is actively maintained.

Relates https://github.com/elastic/logstash/pull/15628
2023-11-29 11:37:27 +02:00
Mashhur
6785038435
Logstash core integration tests for Logstash to Logstash communication. (#15541)
* Logstash core integration tests for Logsthas to Logstash communication.

* Cleanify: Logstash core integration tests for Logsthas to Logstash communication.
2023-11-28 10:02:22 -08:00
Dimitrios Liappis
66d37412e8
[ci] Switch to Adoptium JDK 17 for Jenkins CI (#15628)
The last remaining Jenkins job prior to BK migration is for
exhaustive tests. The compatibility phase seems to be failing
since 57dc14c92
with Java 17.0.2

This commit switches from OpenJDK 17 (whose last release was 17.0.2)
to AdoptiumJDK 17 which actively receives updates and is bundled
in the custom images used by Jenkins.
2023-11-28 19:28:44 +02:00
Dimitrios Liappis
f0019bf33c
[ci] Fix scheduled JDK matrix CI jobs (#15623)
This commit fixes failed scheduled JDK matrix CI jobs, that
can't access the default values for the OS and JDK from the input
steps, as observed in [^1] and [^2].

[^1] https://buildkite.com/elastic/logstash-linux-jdk-matrix-pipeline/builds/53#018c1371-b760-4c28-9203-340c0a1df150
[^2]: https://buildkite.com/elastic/logstash-windows-jdk-matrix-pipeline/builds/35#018c1371-b72e-48b4-b707-ce103eb6039c
2023-11-28 16:00:32 +02:00
Karen Metts
906c2513c3
Doc: Improvements to monitoring with agent (#15619) 2023-11-27 14:18:06 -05:00
Mashhur
1e65f53d68
Use proper BK agent and simplify some operations in Snyk report pipeline. (#15610)
* Use Java installed BK agent and remove unnecessary git clone operation since repo is already cloned.

* Switch back to normal VM since Logstash BK agent doesn't support docker operations.
2023-11-27 09:31:25 -08:00
Dimitrios Liappis
db50983ab5
[ci] Initial Exhaustive tests Buildkite pipeline (#15607)
This commit adds a skeleton Buildkite pipeline for the Exhaustive tests
suite.
2023-11-27 11:06:19 +02:00
Dimitrios Liappis
ade2fb0687
[ci] Initial Exhaustive tests Buildkite resource (#15608)
This commit adds a new resource for the Exhaustive tests Buildkite
pipeline.

Relates:

- https://github.com/elastic/ingest-dev/issues/1722
- https://github.com/elastic/logstash/pull/15607
2023-11-27 11:06:02 +02:00
Dimitrios Liappis
2cbb4500dc
[ci] Fix slack alerts for Linux JDK matrix pipeline (#15609)
This commit enables slack alerts for the Linux part of the JDK
matrix pipeline, which was missed in the previous PR#15593.
2023-11-24 18:03:01 +02:00
Dimitrios Liappis
f8bb0480fc
[ci] Explicit maximum timeout for pipelines (#15601)
This commit adds a maximum default (global) timeout for every pipeline
definition (now that it's possible to define this programmatically in
an RRE).

The default values have been chosen arbitrarily based on intuition
about how much (in the worst case) we should wait for each job to
run until we consider them stuck/failed.

While at it, we update the yaml schema for RREs to point to the
latest commit (rather than a pinned commit that doesn't reflect the
latest changes, e.g. `maximum_default_timeout`).

Relates #15380
2023-11-24 17:37:22 +02:00
github-actions[bot]
b7c31f3fda
swap dataformat-yaml with snakeyaml (#15599) (#15606)
This removes the dependency on jackson's dataformat-yaml. Since there's only a single place where this library is used in core: to load the plugin alias definition, the code can be replaced by the underlying snakeyaml.

Co-authored-by: Andrea Selva <selva.andre@gmail.com>
(cherry picked from commit 93d8a9da32)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-11-22 12:07:10 +00:00
Edmo Vamerlatti Costa
57dc14c92c
Fix issue with Jackson 2.15: Can not write a field name, expecting a value (#15564)
This commit fixes the issue with Jackson > 2.15 and `log.format=json`: "Can not write a field name, expecting a value", by adding a default serializers for JRuby's objects.
2023-11-21 15:30:24 +01:00
Dimitrios Liappis
db8f87bf9d
[ci] Enable auto runs of JDK matrix pipelines (#15593)
This commit enables scheduled runs of the JDK matrix pipelines for
both Windows and Linux, once a week, Tuesdays at 1am UTC, using the
pipeline defaults for OS and JDK.
2023-11-21 16:11:54 +02:00
Dimitrios Liappis
e259e04e53
[ci] Use GCP prod image for Linux JDK matrix job (#15600)
So far we've been using images from the -qa GCP image project throughput
the development of the Logstash Linux JDK matrix pipeline for quicker
iteration.

As we have scheduled weekly builds of those images that promote to
prod[^1] we can now switch to the prod version of the GCP images.

[^1]: https://buildkite.com/elastic/ci-vm-images/builds/2888

Relates https://github.com/elastic/ingest-dev/issues/1725
2023-11-20 17:27:04 +02:00
Dimitrios Liappis
8fa3bd0d7f
[ci] Support amazonlinux for JDK matrix pipeline (#15595)
The last part of the Logstash JDK matrix CI migration from Jenkins to
Buildkite is AmazonLinux 2023.

While we have a working image[^1], this is the only step that requires
a agent that runs on AWS.

This commit refactors the builder to support GCP or AWS agents depending
on the OS.

[^1]: https://github.com/elastic/ci-agent-images/pull/441
2023-11-20 11:32:47 +02:00
Dimitrios Liappis
cd01abb1c7
[ci] Add yaml language server to pipelines (#15590)
Add missing yaml-language-server definition to Buildkite pipeline files
(static and dynamic generated) for consistency and to ease spotting
errors with editors.
2023-11-15 17:47:15 +02:00
Dimitrios Liappis
abc1384ea3
[ci] Add 90min timeout for supported plugins test (#15581)
This commit adds a global max timeout of 90min for the supported plugins
Buildkite pipeline. This prevents hanging builds (for 24hrs, which is
the default).

Relates: #15380
2023-11-15 12:11:20 +02:00
kaisecheng
53a346c57f
[Doc] add reference to ECK (#15565)
add ECK reference to doc

Fixed: #15471

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2023-11-14 23:26:45 +00:00
Karen Metts
c060c00d7c
Doc: Add Elastic Agent collection (#15528)
Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
2023-11-14 13:55:39 -05:00
Dimitrios Liappis
ce63ea4a51
[ci] Fix image name for Rocky Linux 8 (#15584)
Fix typo for image name of Rocky Linux 8 for JDK matrix jobs.
2023-11-14 19:26:49 +02:00
João Duarte
6547f8c5c4
Update logstash_releases.json to include 7.17.15 and 8.11.1 (#15578) 2023-11-14 11:03:54 +00:00
verogo
496f18effc
[Buildkite] Add pipeline max timeout property (#15579)
Build's maximum_timeout_in_minutes and default_timeout_in_minutes are available now through the catalog-info.yaml file.
As this change was made manually before we implemented this in RRE/Terrazzo, they got reverted to the default value (0); thus, I am raising this PR to get it as it was specified before the upgrade (120 mins.)
2023-11-14 09:12:24 +02:00
Mashhur
8700179cf2
Update 8.x CI to 8.11 (#15551) 2023-11-12 05:10:56 +05:00
Dimitrios Liappis
0ede19a0e1
[ci] JDK matrix Buildkite pipelines (pt 2/Windows) (#15563)
This commit adds JDK matrix Buildkite pipelines for
Windows 2022, 2019 and 2016.

It also makes the groups easier to read (on both Linux and Windows
pipelines) by removing the os-jdk prefix from the job labels.

`testDLQWriterFlusherRemovesExpiredSegmentWhenCurrentHeadSegmentIsEmpty`
fails on Windows Buildkite agents and it's a test issue tracked in
https://github.com/elastic/logstash/issues/15562.

Relates:

- https://github.com/elastic/logstash/pull/15539
- https://github.com/elastic/ingest-dev/issues/1725
2023-11-10 17:25:13 +02:00
Dimitrios Liappis
f87651fee0
[ci] Remove 8.10 scheduled builds for DRA (#15544)
This commit removes 8.10 from the automated builds of DRA
artifacts, and should be merged once 8.11.0 is out.
2023-11-10 17:18:10 +02:00
Andrea Selva
5af14f4e1c
Fixed functional test in case the LS_JAVA_HOME is configured (#15535)
Adds filtering on Logstash output message in an integration tests when setting LS_JAVA_HOME environment variable.
2023-11-10 11:01:42 +01:00