Commit graph

10546 commits

Author SHA1 Message Date
Karen Metts
61d4e1fd2a Doc: Improvements to monitoring with agent (#15619)
(cherry picked from commit 906c2513c3)
2023-11-27 20:18:04 +00:00
github-actions[bot]
3e2a250cbd
[ci] Initial Exhaustive tests Buildkite pipeline (#15607) (#15615)
This commit adds a skeleton Buildkite pipeline for the Exhaustive tests
suite.

(cherry picked from commit db50983ab5)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-27 12:25:44 +02:00
github-actions[bot]
b15f59074a
bump lock file for 8.11 (#15613)
* Update patch plugin versions in gemfile lock

* Update Gemfile.jruby-3.1.lock.release

---------

Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-11-24 16:05:11 +00:00
João Duarte
93d8a9da32
swap dataformat-yaml with snakeyaml (#15599)
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>
2023-11-22 10:19:45 +00:00
github-actions[bot]
0835b50f81
[ci] Use GCP prod image for Linux JDK matrix job (#15600) (#15602)
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

(cherry picked from commit e259e04e53)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-20 19:09:54 +02:00
github-actions[bot]
8a563519e6
[ci] Support amazonlinux for JDK matrix pipeline (#15595) (#15598)
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

(cherry picked from commit 8fa3bd0d7f)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-20 12:28:34 +02:00
Rob Bavey
cf00b29862
Update base image on ironbank to 8.8 (#15582) 2023-11-15 12:01:36 -05:00
Dimitrios Liappis
06d00405ca
[ci] Add yaml language server to pipelines (#15590) (#15591)
Add missing yaml-language-server definition to Buildkite pipeline files (static and dynamic generated) for consistency and to ease spotting errors with editors.

(cherry picked from commit cd01abb1c7)

Backport of #15590
2023-11-15 18:45:35 +02:00
github-actions[bot]
91e0d8a557
Doc: Add Elastic Agent collection (#15528) (#15589)
Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
(cherry picked from commit c060c00d7c)

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2023-11-15 09:29:12 -05:00
github-actions[bot]
4df57ee316
[ci] Fix image name for Rocky Linux 8 (#15584) (#15587)
Fix typo for image name of Rocky Linux 8 for JDK matrix jobs.

(cherry picked from commit ce63ea4a51)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-15 10:17:31 +02:00
github-actions[bot]
ad8e537059
bump lock file in preparation for 8.11.2 (#15586)
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-11-14 17:14:22 +00:00
github-actions[bot]
34c88e7f79
[ci] JDK matrix Buildkite pipelines (pt 2/Windows) (#15563) (#15567)
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

(cherry picked from commit 0ede19a0e1)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-13 18:50:29 +02:00
github-actions[bot]
3d4e7e121d
Release notes for 8.11.1 (#15572) 2023-11-13 14:02:47 +00:00
João Duarte
9876ce105e
bump version to 8.11.2 (#15574) 2023-11-13 13:55:13 +00:00
github-actions[bot]
a233e9273b
[ci] JDK matrix Buildkite pipelines (part 1) (#15539) (#15555)
This commit is the first part of the migration of JDK matrix tests
from Jenkins to Buildkite. There will be two separate pipelines, for
Linux and Windows.

Linux is currently limited to Ubuntu 22.04 and 20.04, but
additional operating systems will be added outside of the Logstash
repository seamlessly through additional VM images.

Steps are created dynamically and the underlying script is meant to be
common for Linux and Windows. Windows is currently a stub and
will be added in a follow up PR.

Relates:

- https://github.com/elastic/ingest-dev/issues/1725
- https://github.com/elastic/ci-agent-images/pull/424

(cherry picked from commit 956bf483f2)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-10 15:36:11 +02:00
github-actions[bot]
c911c7565a
Fixed functional test in case the LS_JAVA_HOME is configured (#15535) (#15558)
Adds filtering on Logstash output message in an integration tests when setting LS_JAVA_HOME environment variable.

(cherry picked from commit 5af14f4e1c)

Co-authored-by: Andrea Selva <selva.andre@gmail.com>
2023-11-10 13:45:12 +01:00
João Duarte
ed3b2724d1
downgrade jackson until #15405 is fixed (#15549) 2023-11-08 11:04:14 +00:00
Mashhur
3b3c2a81ad
Bump version to 8.11.1 (#15542) 2023-11-07 08:05:39 -08:00
github-actions[bot]
05125cc000
[ci] Split JDK matrix pipelines per OS (#15534) (#15536)
This commit splits the generic Buildkite pipelines introduced
in #15520 for JDK tests to separate pipelines for Linux and Windows.

(cherry picked from commit 07147b3e40)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-07 15:49:03 +02:00
github-actions[bot]
d4715a36c0
Release notes for 8.11.0 (#15465)
* Update release notes for 8.11.0

* Refine 8.11 Release Notes.

* 8.1 release note: alignment of SSL standardization sections of the plugin changes.

* [docs] 8.11 release note: move known issues to top.

* Apply suggestions from code review

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>

* Add recently backported changes.

* Standardize the consistency of the tenses.

---------

Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: Mashhur <mashhur.sattorov@elastic.co>
Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2023-11-06 16:19:24 -08:00
github-actions[bot]
83f4f0bbc3
[ci] Initial JDK matrix Buildkite pipeline (#15520) (#15521)
This commit adds a skeleton Buildkite pipeline for the JDK matrix tests.

Relates:

- https://github.com/elastic/logstash/pull/15519
- https://github.com/elastic/ingest-dev/issues/1725

(cherry picked from commit ccc41d76ff)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-02 18:57:29 +02:00
github-actions[bot]
47e09557a4
Download of JDK from the Elastic catalog instead of Adoptium (#15514) (#15515)
* Adapted the JDK's download URL creation to intereact with Elastic catalog to get metadata, and return the catalog download link instead of directly pointing to Adoptium API

* Silenced the Download task of JDK to print the full url

(cherry picked from commit 73daec05ed)

Co-authored-by: Andrea Selva <selva.andre@gmail.com>
2023-10-30 17:03:10 +01:00
João Duarte
6e0bd7290c
Update JDK to 17.0.9+9 and jackson to 2.15.3 (#15510) 2023-10-27 11:26:03 +01:00
github-actions[bot]
f3c319d2d9
[ci] aarch64 Buildkite pipeline part 2 (#15473) (#15504)
This commit is the follow up PR after #15466, which migrates away
the remaining aarch64 acceptance test Jenkins jobs to Buildkite.

Relates:

- #15466
- https://github.com/elastic/ingest-dev/issues/1724

(cherry picked from commit c384190718)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-26 09:38:14 +03:00
github-actions[bot]
12a689112d
bump lock file for 8.11 (#15503)
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-10-25 15:51:59 +01:00
github-actions[bot]
856b87ff7f
Updates callsites synthax for i18n.t method to avoid deprecated and prohibited format (#15500) (#15501)
Updates invocations of i18n.t method which are leftovers and missed in the original Ruby 3.1 update PR #14861

Without this, some error reporting logs are hidden by the mismatch of arguments error in translate the error message.

(cherry picked from commit 90964fb559)

Co-authored-by: Andrea Selva <selva.andre@gmail.com>
2023-10-25 12:28:07 +02:00
github-actions[bot]
c4ae135b0c
[ci] re-enable Java unit tests on aarch64 pipeline (#15492) (#15493)
PR#15466 skipped the Java unit tests as on the `main` and `8.11`
branches they attempted to run sonar scans (which are only meant to
run for PRs).

This commit re-enables the Java unit tests, taking advantage of #15486,
disabling the sonar scan part of the test suite.

(cherry picked from commit 16da966290)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-25 11:40:29 +03:00
github-actions[bot]
00afce36c8
Option to disable SonarQube with Java Tests (#15486) (#15491)
This commit introduces a way to optionally disable SonarQube scanning
and coverage reports when running Java unit tests. The integration
was introduced in #15279, however, there are cases (e.g. running Java
unit tests outside of PRs) where we don't want this integration.

Disabling can be achieved by setting the env var `ENABLE_SONARQUBE`
to `false`.

(cherry picked from commit b1ab2fad3e)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-24 11:16:09 +03:00
github-actions[bot]
124e90111c
[ci] aarch64 Buildkite pipeline part 1 (#15466) (#15481)
This commit is the first part of migrating away the aarch64 Jenkins
jobs to Buildkite. It adds a group of exhaustive test steps in the
aarch64 pipeline.

The java unit tests are temporarily disabled as they run SonarQube
scans which need to be associated with pull requests.

Relates:

https://github.com/elastic/ingest-dev/issues/1724
(cherry picked from commit 36656de4f0)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-24 09:24:02 +03:00
github-actions[bot]
9dea4e3d75
bump lock file for 8.11 (#15472)
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-10-18 16:47:04 +01:00
github-actions[bot]
446e60f8fc
Remove pinning of psych 5.1.0 (#15474) (#15476)
https://github.com/ruby/psych/issues/655 has been fixed with the release of 5.1.1.1

(cherry picked from commit 6046402a35)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-10-18 16:06:23 +01:00
github-actions[bot]
516c7a6851
[ci] Initial aarch64 Buildkite pipeline (#15460) (#15468)
This commit adds a skeleton Buildkite pipeline for aarch64
exhaustive tests.

- https://github.com/elastic/logstash/pull/15459
- https://github.com/elastic/ingest-dev/issues/1724

(cherry picked from commit 0083738cde)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-18 14:47:32 +03:00
Rob Bavey
2f2324d2ef
Release notes for 8.10.4 (#15435) (#15464)
* Update release notes for 8.10.4
Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
Co-authored-by: Karen Metts <karen.metts@elastic.co>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-17 09:56:43 -04:00
github-actions[bot]
07e07fc3a1
[docs] Small typo fixes in README (#15429) (#15455)
Fix a few typos in the Logstash README.md

(cherry picked from commit 784ca0243e)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-17 09:50:04 +03:00
github-actions[bot]
6d0d636777
Migrate remaining PR jobs to Buildkite #15444 (#15450)
This commit adds the remaining steps for the Buildkite pull request pipeline i.e.

- `IT Persistent Queues / part 1`
- `IT Persistent Queues / part 2`
- `x-pack unit tests`
- `x-pack integration`

Once merged we will be able to retire the corresponding Logstash pull request multijob.

Relates:

- https://github.com/elastic/logstash/pull/15438
- https://github.com/elastic/logstash/pull/15437
- https://github.com/elastic/ingest-dev/issues/1721
- https://github.com/elastic/logstash/pull/15279

(cherry picked from commit 555a8ff8e3)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-15 19:55:51 +03:00
github-actions[bot]
13962d8557
[ci] Add PR it-tests (part 1+2) to Buildkite (#15438) (#15445)
This commit adds integration tests to the
Buildkite PR pipeline.

Relates:

- https://github.com/elastic/logstash/pull/15437
- https://github.com/elastic/ingest-dev/issues/1721
- https://github.com/elastic/logstash/pull/15279

(cherry picked from commit 816d7e6b2b)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-14 09:44:33 +03:00
github-actions[bot]
761aa8646b
[ci] Commit PR based Java unit tests for Buildkite (#15437) (#15441)
This commit adds Java unit tests (including sonar scans) to the
Buildkite pull request pipeline.

Relates: https://github.com/elastic/ingest-dev/issues/1721
(cherry picked from commit e285425d54)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-13 11:46:37 +03:00
Dimitrios Liappis
4708a48d1c
[ci] Backport Buildkite PR pipeline to 8.11 (#15430)
This is a backport of the initial Pull Request pipeline for Buildkite.

While currently we haven't migrated all PR jobs from Jenkins, this is needed so PRs against non `main` branches don't fail this check (also giving us the possibility to test functionality against non `main` branches).

Relates:

- #15402
- #15413
- #15415
- #15421
- https://github.com/elastic/ingest-dev/issues/1721

## Release notes
[rn:skip]
2023-10-12 16:44:50 +03:00
github-actions[bot]
af19604d5c
pin psych 5.1.0 due to ruby/psych#655 (#15433) (#15434)
The new psych 5.1.1 gem seems to not work when installed in JRuby 9.4 (used in main).

This change pins the version back to 5.1.0 until ruby/psych#655 is sorted.

(cherry picked from commit 401d166a89)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-10-12 09:42:41 +01:00
github-actions[bot]
be441f034c
Update Guava dependency to 32.1.2 (#15394) (#15420)
(cherry picked from commit c0e812158c)

Co-authored-by: Andrea Selva <selva.andre@gmail.com>
2023-10-10 19:02:39 +02:00
github-actions[bot]
9f6d4ed219
Release notes for 8.10.3 (#15390) (#15408)
* Add known imap and email plugin issues section to Logstash 8.10+ versions.

Co-authored-by: Mashhur <mashhur.sattorov@elastic.co>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
(cherry picked from commit a88f82e77f)
2023-10-10 09:12:04 -04:00
github-actions[bot]
09c70df7a9
[DRA] Remove wait step in buildkite (#15366) (#15391)
DRA artifact builds support two optional parameters
`VERSION_QUALIFIER_OPT` and `DRA_DRY_RUN`.  The most important is
`VERSION_QUALIFIER_OPT` which should be provided when `alpha1` or
similar versions need to be built.

Currently, after clicking new build, the pipeline takes ~20s to
assemble the steps and then pauses the job waiting for these options to be
filled (or just accept the empty defaults) and press continue.

I feel that this could be trappy behavior because the majority of the
use cases don't need it, and it's likely that a user manually clicks
build and forgets that they'd need to confirm these parameters later
on, left with a hanging build.

This commit makes the parameters optional. If needed, they should be
defined explicitly as Environment Variables in the New Build prompt,
after expanding the Options section.

The downside of this approach is that when needed, users need to
consult the documentation about the environment variable names.

(cherry picked from commit 94dfd4773b)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-05 15:53:39 +03:00
github-actions[bot]
a7f4e78065
bump lock file for 8.11 (#15386)
* Update minor plugin versions in gemfile lock

* Apply suggestions from code review

Remove unnecessary java-universal-11 dependency

---------

Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
2023-10-04 10:00:17 -07:00
Mashhur
9680bbd82a
Add bigdecimal > 3.1 dependency. (#15377) 2023-10-04 00:08:14 -07:00
Mashhur
deea26cc72
Copy Gemfile.lock from 8.10 branch. (#15375) 2023-10-03 17:05:16 -07:00
github-actions[bot]
13309ad4fd
deps: downgrade jruby, keep updated default-gem dependencies (forward-port #15283) (#15369) (#15370)
* deps: downgrade jruby, keep updated default-gem dependencies (#15283)

forward-ports non-release-branch components of #15283 to `main`

* deps: downgrade jruby, keep updated default-gem dependencies

By downgrading JRuby to 9.4.2.0 we avoid the silent global crash of the
scheduler backing `Concurrent::TimerTask` that occurs when Jruby 9.4.3.0's
invokedynamic promotes a method to run natively, incorrectly.

Upstream bug: https://github.com/jruby/jruby/issues/7904

Along with the downgrade of JRuby itself to 9.4.2.0, we cherry-pick the
updates to gems that were included in the latest JRuby 9.4.3.0 to ensure
we don't back out relevant fixes to stdlib.

We also remove a pinned-dependency on `racc` that is no longer relevant.

Resolves: https://github.com/elastic/logstash/issues/15282

* Imported the licenses for some gems

- cgi
- date
- ffi-binary-libfixposix
- io-console
- net-http
- net-protocol
- reline
- time
- timeout
- uri

* specs: avoid mocking global ::Gem::Dependency::new

* build: remove redundanct dependsOn declaration

* deps: notice use of ffi-binary-libfixposix via Ruby license

this gem is tri-licensed `Ruby` / `EPL-2.0` / `LGPL-2.1-or-later` and
the Ruby license is preferred to EPL when available

---------

Co-authored-by: andsel <selva.andre@gmail.com>

* deps: add license notices for gems moved from default to bundled

---------

Co-authored-by: andsel <selva.andre@gmail.com>
(cherry picked from commit 70081bbcac)

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2023-10-03 14:41:08 -07:00
Andres Rodriguez
2b091432cb
Add native Logstash to Logstash documentation (#15346)
Add native Logstash to Logstash documentation, which replaces HTTP Input/Output
2023-10-03 10:58:51 -04:00
Dimitrios Liappis
9307c4de1c
[DRA] Rename Buildkite metadata for DRA pipelines (#15365)
To provide a smoother migration experience from Jenkins, this commit adds better information about the two types of DRA jobs.

Relates https://github.com/elastic/ingest-dev/issues/1720
2023-10-03 17:21:03 +03:00
Mashhur
7ed8d37630
Bundle plugin. (#15359) 2023-10-02 21:36:05 -07:00
Dimitrios Liappis
da51a6ac53
[buildkite] DRA staging + snapshot pipelines (#15344)
This commit is the step after #15337 and switches away from the generically named [logstash-dra-pipeline-ci](https://buildkite.com/elastic/logstash-dra-pipeline-ci)
pipeline to two separate pipelines for `snapshot` and `staging`, reflecting the current structure in [Jenkins](https://logstash-ci.elastic.co/view/DRA/).

We define a daily schedule for `snapshot`, but it's commented out for now, until we ramp down the Jenkins job.

Finally, as we've created a dedicated Buildkite team for `logstash`, we place both pipelines under this team.

Relates:

- https://github.com/elastic/ingest-dev/issues/1720
- https://github.com/elastic/logstash/pull/15337
2023-10-02 12:10:59 +03:00