Commit graph

10886 commits

Author SHA1 Message Date
Dimitrios Liappis
1b794dfcd6
[ci] Slack notifications for aarch64 pipeline (#15507)
This commit enables slack notifications for aarch64 Buildkite pipeline
failures.
2023-10-26 15:20:16 +03:00
Dimitrios Liappis
c384190718
[ci] aarch64 Buildkite pipeline part 2 (#15473)
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
2023-10-25 18:08:56 +03:00
Andrea Selva
90964fb559
Updates callsites synthax for i18n.t method to avoid deprecated and prohibited format (#15500)
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.
2023-10-25 11:42:46 +02:00
Dimitrios Liappis
16da966290
[ci] re-enable Java unit tests on aarch64 pipeline (#15492)
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.
2023-10-24 18:05:14 +03:00
Dimitrios Liappis
b1ab2fad3e
Option to disable SonarQube with Java Tests (#15486)
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`.
2023-10-24 10:32:44 +03:00
Rob Bavey
57cc392d0e
Update ubi8 base image to 8.7 (#15487) 2023-10-23 12:47:27 -04:00
Dimitrios Liappis
36656de4f0
[ci] aarch64 Buildkite pipeline part 1 (#15466)
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
2023-10-23 15:01:14 +03:00
João Duarte
e626409695
Update JRuby, JDK and Jackson (#15477)
* update JDK to 17.0.8.1+1
* update JRuby to 9.4.4.0
* update jackson to 2.15.3
2023-10-23 11:17:01 +01:00
João Duarte
6046402a35
Remove pinning of psych 5.1.0 (#15474)
https://github.com/ruby/psych/issues/655 has been fixed with the release of 5.1.1.1
2023-10-18 16:02:37 +01:00
Dimitrios Liappis
0083738cde
[ci] Initial aarch64 Buildkite pipeline (#15460)
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
2023-10-18 09:45:05 +03:00
Dimitrios Liappis
9aa291a2a1
[ci] Initial aarch64 Buildkite pipeline (#15459)
This commit adds a skeleton resource definition for a Buildkite
pipeline for aarch64 exhaustive tests.

Relates:
https://github.com/elastic/ingest-dev/issues/1724
2023-10-18 09:27:34 +03:00
Rob Bavey
860785bbb0
Release notes for 8.10.4 (#15435) (#15463)
* 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:54:08 -04:00
Dimitrios Liappis
9a924f45ef
[ci] Slack notifications for PR Buildkite builds (#15452)
This commit enables Slack notifications for the pull request Buildkite
pipeline.
2023-10-16 18:32:19 +03:00
Andres Rodriguez
235ba422cc
Change plugin test buildkite pipeline to run in parallel
Closes #15440
2023-10-16 10:42:05 -04:00
Dimitrios Liappis
1284c675d1
[ci] Enable Buildkite PR comments (#15453)
This commit enables automatically updated comments from Buildkite for
PRs. It posts comments to PRs whenever a Buildkite build finishes or
encounters its first failing step and keeps the comment updated.
2023-10-16 17:12:14 +03:00
Dimitrios Liappis
784ca0243e
[docs] Small typo fixes in README (#15429)
Fix a few typos in the Logstash README.md
2023-10-16 16:49:52 +03:00
Dimitrios Liappis
555a8ff8e3
Migrate remaining PR jobs to Buildkite #15444
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
2023-10-14 09:46:52 +03:00
Dimitrios Liappis
816d7e6b2b
[ci] Add PR it-tests (part 1+2) to Buildkite (#15438)
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
2023-10-13 17:01:01 +03:00
Dimitrios Liappis
e285425d54
[ci] Commit PR based Java unit tests for Buildkite (#15437)
This commit adds Java unit tests (including sonar scans) to the
Buildkite pull request pipeline.

Relates: https://github.com/elastic/ingest-dev/issues/1721
2023-10-13 10:48:10 +03:00
Mashhur
3a753e49e8
Update Logstash core versions in CI after release. (#15424) 2023-10-12 22:57:43 -07:00
Dimitrios Liappis
4ee74c9de6
[ci] Daily DRA snapshot builds with Buildkite (#15395)
This commit enables the snapshot job schedule for Buildkite jobs.
They are set to run after Jenkins (scheduled @midnight) so that any
remote/unknown chance of conflict with the release manager is limited.

While at it, we also enable slack notifications for failures to the
same channels as Jenkins.
2023-10-11 21:00:45 +03:00
João Duarte
401d166a89
pin psych 5.1.0 due to ruby/psych#655 (#15433)
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.
2023-10-11 14:58:42 +01:00
Andrea Selva
a03a05b697
Defines a pipeline to run specs tests on supported plugins (#15380)
Defines a Buildkite pipeline to run specs tests on tier1 and tier2 plugins, using container images. The tasks are divided by plugin type for each tier, to run them in parallel. Once all tier1 testing is completed then starts with tier2.
2023-10-11 11:40:54 +02:00
Dimitrios Liappis
d4eccd256f
[ci] Don't trigger BK PR jobs on pushes (#15426)
Currently while PR jobs get triggered as expected in Buildkite via
the bot, they also get re-triggered after something gets pushed,
including e.g. the squash merge commit when the PR is merged.

This commit disables this behavior as documented in Buildkite[^1].
and by tightening our filter.

Relates:

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

[^1]: https://buildkite.com/docs/apis/rest-api/pipelines
2023-10-11 11:45:30 +03:00
Dimitrios Liappis
fd2910a6ef
[ci] Improve PR step names for Buildkite (#15421)
This commit shortens the descriptions of the PR Buildkite steps for
better readability on the UI.
2023-10-11 09:29:30 +03:00
Dimitrios Liappis
bc5ad292d4
[ci] Fix agents in BK pipeline for PRs (#15415)
This commit fixes a typo introduced in #15413 and #15402
2023-10-10 18:55:40 +03:00
Andrea Selva
c0e812158c
Update Guava dependency to 32.1.2 (#15394) 2023-10-10 17:14:23 +02:00
Dimitrios Liappis
e1eb1978e5
[ci] Add missing repository in Buildkite PR (#15413)
PR #15402 missed the required repository property for the Buildkite
pull request resource.
2023-10-10 17:41:53 +03:00
Dimitrios Liappis
3bfd824f7c
[ci] Initial pull request jobs for buildkite (#15402)
This commit adds a Buildkite resource for pull requests and
the two simple jobs, license checking and ruby unit tests that are
already part of the Jenkins PR multi job setup.

As this is WiP, slack notifications aren't enabled.
2023-10-10 16:39:41 +03:00
Andres Rodriguez
64ddec5c9d
Fix a few lint format issues
Fix lint issues found by 'rake lint:format'
2023-10-10 09:00:54 -04:00
github-actions[bot]
be063e2eab
Release notes for 8.10.3 (#15390) (#15404)
* 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-09 20:19:44 -04:00
github-actions[bot]
537f1b942d
Add bigdecimal > 3.1 dependency. (#15377) (#15384)
(cherry picked from commit 9680bbd82a)

Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
2023-10-09 14:54:28 +01:00
Andrea Selva
2b7515cfee
Add definition for plugin's test pipeline to Buildkite catalog (#15382)
Add definition of pipeline  to Buildkite catalog.  The new pipeline execute supported plugins' tests
2023-10-05 11:32:24 +02:00
Dimitrios Liappis
94dfd4773b
[DRA] Remove wait step in buildkite (#15366)
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.
2023-10-05 10:06:07 +03:00
Mashhur
0adcc09bf6
Bump core version to 8.12 (#15378) 2023-10-03 23:33:46 -07:00
Ry Biesemeyer
70081bbcac
deps: downgrade jruby, keep updated default-gem dependencies (forward-port #15283) (#15369)
* 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>
2023-10-03 14:32:28 -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
Dimitrios Liappis
05c2627123
[DRA, buildkite] Use GCP vms for package build step (#15356)
We seem to be hitting a weird issue with the psych gem when running in a container:

```
> Task :bootstrap
2023-09-27T15:13:23.844Z [Execution worker Thread 5] WARN FilenoUtil : Native subprocess control requires open access to the JDK IO subsystem
Pass '--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED' to enable.
Error Errno::ENOENT, retrying 1/10
No such file or directory - /buildkite/builds/bk-agent-prod-k8s-1695827479442731913/elastic/logstash-dra-pipeline-ci/vendor/bundle/jruby/3.1.0/gems/psych-5.1.0-java/deps.lst
```

This commit works around this problem by running inside a VM. The underlying root cause (and that gradle should be erroring in this case) will be investigated separately.
2023-09-28 11:16:51 +03:00
Andres Rodriguez
ad3b89a2b4
Clarify Env Variable usage for list-type URI params (#15345)
Clarify Env Variable usage for list-type URI params
2023-09-27 17:24:21 -04:00
Dimitrios Liappis
12a98250cb
[DRA,buildkite] Use AWS aarch64 instance type (#15352)
We've spotted network flakiness downloading artifacts with gradle (connection resets) when using GCP/t2a on us-central1.
This commit switches to AWS Graviton instance types for building the aarch64 artifacts.
2023-09-27 16:41:51 +03:00
Dimitrios Liappis
dd77c9f927
[ci] Commit DRA -SNAPSHOT buildkite pipeline (#15337)
This commit adds support for building + publishing DRA (-SNAPSHOT for now) artifacts for Logstash. It builds on top of #15312 and therefore only targets the `main` branch and is intended to be run manually during a trial period before we retire the corresponding Jenkins job.

The structure is similar to Jenkins:

1. Three steps runs in parallel to build packages, x86_64 docker and aarch64 docker artifacts.

2. Once 1. is successfully done, use release manager to publish the artifacts.

We generate the pipeline steps for 1. and 2. dynamically (with a simple Python script) to avoid repetition for future PRs: we will add a new pipeline in a follow up PR for -STAGING.

The actual shell scripts are simplified copies from the existing `dra*` scripts under https://github.com/elastic/logstash/tree/main/ci; the simplification comes from native support for copying artifacts between steps in Buildkite and
not having to use an intermediate bucket.

Relates: https://github.com/elastic/ingest-dev/issues/1720
Blocked by: https://github.com/elastic/ci/pull/2312/files
2023-09-26 16:00:56 +03:00
Andrea Selva
b31c429d19
Expanded the description how to size the memory of the JVM (#15210)
Expands the description of memory used by Logstash, dividing the heap and non-heap; describing in details which parts composes the non-heap, how to size it and list the JVM settings that can be used to properly define this space.

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-09-26 09:13:50 +02:00
Dimitrios Liappis
9af39e8b66
[ci, buildkite] Fix backstage link to logstash ... (#15343)
DRA buildkite job
2023-09-25 14:32:41 +03:00
Andrea Selva
03e0b1a301
Updates CI versions after 8.10.2 (#15339) 2023-09-21 09:24:02 -07:00
github-actions[bot]
23ccdda4f7
Release notes for 8.10.2 (#15336) (#15340) 2023-09-21 10:17:17 -04:00
João Duarte
c33af94faa
Update logstash_releases.json to include 8.10.1 2023-09-20 13:28:40 +01:00
github-actions[bot]
0c31ea4523
Fix releasenotes.asciidoc for 8.10.1 (#15327) (#15331)
Since the DRA build for 8.10.1 was made with 82daae80bb , this fix didn't get in.
(cherry picked from commit aa9265665e)
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-09-19 13:05:53 -04:00