Commit graph

10927 commits

Author SHA1 Message Date
Pavel Zorin
e5ca8601ba
[CI] [Sonar] Explicitly specified test sources for sonar (#15954)
* [CI] [Sonar] Explicitly specified test sources for sonar

* [CI] removed wildcards from sonar.tests
2024-02-15 14:10:54 +01:00
Dimitrios Liappis
54f73e5d22
Follow up to #15900 -- fix remaining acceptance tests (#15907)
PR#15900 missed a few more places where Logstash is installed but
a working minimal pipeline config is added.
This commit fixes that and stabilizes all acceptance tests, thus
minizing the need for time consuming BK retries of corresponding
steps.

Relates #15900
Relates https://github.com/elastic/logstash/issues/15784
2024-02-15 11:33:17 +02:00
Dimitrios Liappis
eedccea33f
Fix packaging service check failures (#15946)
This commit tightens the checks for the status
output of the Logstash OS service to specifically
scan for `org.logstash.Logstash` rather than
only the jdk path.

The reason is that the startup script first runs
an options parser, and then the logstash process
itself, both referencing the JDK path.

Closes https://github.com/elastic/ingest-dev/issues/2950
2024-02-15 10:01:47 +02:00
Mashhur
3c9db658bc
Package elastic_integration plugin. (#15769)
* Exclude plugins feature in OSS distributions.

* Set elastic_integration plugin default.

* Remove non-OSS plugins after installing default plugins.

* Testing local can't find gem bundler (= 2.3.26) issue.

* Include extract non-OSS plugins logic indocker build operations.

* Only default plugins can be excluded from OSS distros.

* Simplification: instead conditional check, use intersection to make OSS exlucluded plugin list.

* Gem and specification files still stay after removing the plugin. This change removes the stayed files.

* Rename oss-exclude to skip-oss to align namings with other params.

* Make intersection method simpler.

* [Test] Temporary excluding elastic integration plugin from default plugin list.

* Sets elastic_integration plugin default back. When removing locally installed gems, Gem::Specification doesn't recognize the gem. We have Bundle::setup in the removal logic but it is causing an issue when we re-use the bundle.

* Test the build order, remove plugin from cache logic seems invalid since we don't pack the cache.
2024-02-14 07:10:42 -08:00
kaisecheng
22a10b5b92
bump version to 8.14.0 (#15935) 2024-02-14 09:18:48 +00:00
kaisecheng
34ebdc120f
add 8.13 branch (#15938) 2024-02-13 17:39:10 +00:00
Andres Rodriguez
8eb08e1382
Add Alma 8, Alma 9, and Rocky Linux 9 to the JDK matrix (#15941) 2024-02-13 11:01:21 -05:00
Ry Biesemeyer
dc8b5b2c86
ci: provide metadata about releases that are in-flight (#15924)
Our shared CI infrastructure relies on this file being here with a specific
format, expanding a given `ELASTIC_STACK_VERSION` environment variable and
an optional `SNAPSHOT` environment variable into the information necessary
to target either the most recent published release or a snapshot representing
a candidate for the _next_ possible release in the series.

When we cut a new minor branch from `main` (at feature freeze), the tip of
that branch contains unreleased code that is in-flight for the next release.
We need to have a way to reference artifacts from this in-flight release,
instead of skipping over them while a minor release is in flight.

This change affects the _semantics_ of what is tested during a minor stack
release's feature-freeze period, ensuring that automated tests throughout
the Logstash ecosystem continue to run against the pending release with NO
changes required in those plugins.

It also introduces a new `snapshots.main` entry, which refers to snapshot
artifacts built from the un-feature-frozen `main` branch, so that plugins
can _optionally_ test against the _next_ minor in advance of its feature
freeze, as they currently do unintentionally in builds that target
 `ELASTIC_STACK_VERSION=8.x SNAPSHOT=true`.
2024-02-12 07:04:06 -08:00
Dimitrios Liappis
be3f75e346
Clean up left over scripts after CI migration (#15926)
Following the CI migration from Jenkins to Buildkite, this commit
removes a number of left over helper scripts that aren't needed
anymore.

Closes https://github.com/elastic/ingest-dev/issues/2850
2024-02-12 11:26:28 +02:00
kaisecheng
4e6815b1ea
add openssl to ubi image (#15929)
Logstash on ECK requires openssl command to build TLS keystore.
This commit adds `microdnf install -y openssl` to ensure the command exists in ubi image.
2024-02-09 18:40:02 +00:00
João Duarte
de01eb6ee3
Remove jinja2 in favor of erb templates (#15142)
This commit removes the jinja2 templates and consequently the dependency on Python
2024-02-09 13:49:58 +00:00
Andrea Selva
52ce3ff8f6
Set Netty's maxOrder options to previous default (#15925)
Updates Netty's configuration of maxOrder to a previously proven value, if not already customised by the user.

Adds a step to the JvmOption parsing tool, which is used to compose the JVM options string to pass down to Logstash at startup.
The added step rework the parsed options to set the allocator max order -Dio.netty.allocator.maxOrder=11 so that the maximum pooled buffer is up to 16MB and not 4MB.
This option is added iff it's not yet specified by the user
2024-02-09 13:49:23 +01:00
João Duarte
5c3e64d591
introduce go.mod for env2yaml (#15921)
Update the env2yaml to have a go.mod instead of relying on disabling go modules, otherwise building with golang 1.22 will fail in the future.
This change also directly uses the golang image to build the binary removing the need for an intermediate image.
2024-02-08 18:12:11 +00:00
Nassim Kammah
db193f56c4
Update docs-preview link (#15918)
Following the migration from Jenkins to Buildkite, docs previews are now available at <repo>_bk_<PR>.

More context in https://github.com/elastic/docs/pull/2898
2024-02-08 17:20:58 +01:00
Andrea Selva
4e98aa8117
Fix the lastes 8.12 version, to the actually latest released (#15915)
* Fix the latest 8.12 version, to the actually latest released
* Update version fo 7.17


Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
2024-02-07 18:02:51 +01:00
Mashhur
c75a2d84b1
Update CI release file after releases. (#15911) 2024-02-07 06:41:02 -08:00
Ry Biesemeyer
38e8c5d3f9
flow_metrics: pull worker_utilization up to pipeline-level (#15912) 2024-02-06 11:50:34 -08:00
github-actions[bot]
529ed2eddc
Release notes for 8.12.1 (#15885) (#15910)
* Update release notes for 8.12.1

* Revise 8.12.1 relase notes.

---------

Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: Mashhur <mashhur.sattorov@elastic.co>
(cherry picked from commit 1b8648b365)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-06 10:44:34 -08:00
Dimitrios Liappis
b66dc7f460
Fix service startup with acceptance tests (#15900)
This commit fixes the startup of the Logstash service during packaging
tests by adding a minimal pipeline config. Without it, the service was
flapping from start to start and vice versa causing test flakiness.

Relates https://github.com/elastic/logstash/issues/15784
2024-02-06 17:38:12 +02:00
Dimitrios Liappis
2fc3f4c21f
Add retries to acceptance/docker steps in BK (#15901)
Similarly to #15874, this commit adds retries
to another group, the acceptance/docker to reduce
build noise from transient issues.
2024-02-06 15:10:13 +02:00
Dimitrios Liappis
fedcf58c48
Add Debian 12 to CI (#15895)
This commit adds Debian 12 (Bookworm) to the
Linux JDK matrix pipeline and Compat Phase of the
exhaustive pipeline respectively.

Relates https://github.com/elastic/ingest-dev/issues/2871
2024-02-05 18:49:30 +02:00
Dimitrios Liappis
8ac55184b8
Allow running Java+Ruby tests on Windows separately (#15861)
This commit allows separate running of Java and Ruby tests on Windows i.e. the same way as we currently do on unix (unit_tests.sh) via a cli argument.
If no argument has been supplied, both tests are run (as it does now).

The wrapper script is also rewritten from old batch style script to Powershell.

This work allows us to split the existing Windows CI job in a subsequent PR to separate steps, as we currently do on Linux.

Relates: https://github.com/elastic/logstash/issues/15566
2024-02-01 10:04:25 +02:00
Karen Metts
d2bdc05f99
Doc: Update plugin headers to deeplink into matrix (#15870)
Co-authored by: Alessandro Stoltenberg <alessandro.stoltenberg@elastic.co>
2024-01-30 13:35:16 -05:00
Dimitrios Liappis
3b747d86b8
Add retries to JDK matrix pipeline steps (#15877)
This commit adds retries to the steps of the Linux + Windows JDK matrix
pipeline steps to avoid notification noise due to transient network
errors.
2024-01-30 18:02:57 +02:00
Dimitrios Liappis
88a32cca81
Add BK retries to exhaustive/compat steps (#15874)
As a follow up to #15787 we also add Buildkite retries for the
exhaustive pipeline / compatibility group steps to prevent
failures due to flakiness.
2024-01-30 14:33:33 +02:00
Dimitrios Liappis
0f9b6f9e87
Fix typo with aarch64 pipeline name to trigger (#15873)
This commit fixes a bug instroduced in PR#15850 and uses the correct
pipeline name when triggering the aarch64 pipeline on schedule.
2024-01-30 10:10:01 +02:00
Dimitrios Liappis
70c3fcdcbe
[ci] Skip slack alerts if retried tasks succeeded (#15869)
Currently for pipelines that have steps with auto retries, if there
is a failure of a step, even if the subsequent retry succeeds, we
received Slack alerts.
This commits uses new functionality available in the Buildkite PR Bot
to avoid Slack notifications in those cases and changes the settings
for all pipelines where we have, or expect to have, retries.
2024-01-29 13:52:00 +02:00
João Duarte
905ddd267b
add base64 notice and update generated NOTICE.txt (#15867) 2024-01-29 11:08:50 +00:00
Mashhur
eb9859276e
Update stack versions for CI. (#15864) 2024-01-28 21:02:30 -08:00
Dimitrios Liappis
0563a13665
Fix typo in catalog-info with exhaustive schema (#15858) 2024-01-28 19:40:48 +02:00
Dimitrios Liappis
5ee75803f8
Scheduled runs of exhaustive and aarch64 pipelines (#15850)
This commit adds a schedule to run the exhaustive pipeline
(biweekly, every other Wednesday @2AM UTC) and the aarch64
(weekly, every Monday@2AM UTC).

Closes https://github.com/elastic/ingest-dev/issues/2852
2024-01-28 19:30:02 +02:00
Mashhur
7063365739
Revert "[docs] Simplify and imrove Logstash monitoring docs. (#15847)" (#15862)
This reverts commit 9317052088.
2024-01-26 14:18:41 -08:00
Andrea Selva
8657ce9d21
Re-enabled collectd codec in test_plugins script (#15857) 2024-01-26 17:31:31 +01:00
Dimitrios Liappis
3f5b44a1ad
Remove Ubuntu 18.04 from CI jobs (#15855)
Relates https://github.com/elastic/ingest-dev/issues/2849
2024-01-26 17:14:41 +02:00
Mashhur
9317052088
[docs] Simplify and imrove Logstash monitoring docs. (#15847) 2024-01-25 17:28:36 -08:00
Karen Metts
cefd553a7d
Doc: Update extending integrations docs to point to plugin (#15747) 2024-01-25 11:02:47 -05:00
Dimitrios Liappis
0d808ed708
Retries for serverless-integration-testing pipeline (#15851)
This commit adds (up to 3) retries for all steps of the `serverless-integration-testing`
pipeline as a stop-gap measure to prevent network related transient failures.
2024-01-25 17:24:00 +02:00
Andrea Selva
e4ef87923d
Describe how to troubleshoot connectivity problems in Azure Blob Storage at HTTP level (#15835)
* Describe how to troubleshoot connectivity problems at HTTP level with Azure Blob Storage

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2024-01-24 09:46:41 +01:00
Andrea Selva
1395d953b2
Updates bundled JDK (#15840)
* Updates bundled JDK

Co-authored-by: kaisecheng <69120390+kaisecheng@users.noreply.github.com>
2024-01-24 09:46:18 +01:00
Dimitrios Liappis
c33afd4cd0
Mute DLQ test on Windows (#15843)
This commit mutes the DLQ test:
`testDLQWriterFlusherRemovesExpiredSegmentWhenCurrentHeadSegmentIsEmpty`
when running on Windows.

Closes https://github.com/elastic/logstash/issues/15768
2024-01-24 09:53:56 +02:00
Dimitrios Liappis
d74fea4b55
Fix IT tests after version bumps (#15827)
This commit fixes IT failures that frequently occur after
version bumps due to missing unified release snapshot builds for
the new version.

This commit uses project specific DRA snapshot URLs for ES and Filebeat
in all cases apart from release builds.

Closes #2825
2024-01-23 15:13:51 +02:00
Dimitrios Liappis
15e19a96c2
Fix acceptance/packaging upgrade test near a release (#15826)
The current mechanism of discovering the latest released version per
branch (via ARTIFACTS_API) isn't foolproof near the time of a new
release, as it may be pick a version that hasn't been released
yet. This leads to failures[^1] of the packaging upgrade tests, as we
attempt to download a package file that doesn't exist yet.

This commit switches to an API that that is more up to date regarding
the release version truth.

[^1]: https://buildkite.com/elastic/logstash-exhaustive-tests-pipeline/builds/125#018d319b-9a33-4306-b7f2-5b41937a8881/1033-1125
2024-01-22 20:58:32 +02:00
Dimitrios Liappis
c5cb1fe2ed
Annotate successful DRA builds with summary URL (#15820)
This commit makes the generated DRA URL easily accessible via
a Buildkite annotation.

Closes https://github.com/elastic/ingest-dev/issues/2608
2024-01-22 16:37:18 +02:00
Dimitrios Liappis
52d9e6286e
Update active branches used by CI (#15816)
Relates https://github.com/elastic/logstash/pull/15814
2024-01-18 15:35:18 +02:00
Nassim Kammah
9256de43c3
Remove Nassim Kammah from list of maintainers (#15709) 2024-01-18 14:05:25 +01:00
Dimitrios Liappis
fc09ad4112
Fix flaky logstash-plugin IT test (#15803)
This commit fixes the flaky IT test:
`install non bundle plugin successfully installs the plugin with debug enabled`
by being a bit more lenient with the output which can get garbled by Bundler.

Closes #15801
2024-01-18 14:59:08 +02:00
Pavel Zorin
2c83a52380
[CI] Send Java and ruby tests to sonarqube simultaneously (#15810)
* Ruby code coverage with SimpleCov json formatter

* [CI] Send Java and ruby tests to sonarqube simultaneously

* Enabled COVERAGE for ruby tests

* Enabled COVERAGE for ruby tests

* Enabled COVERAGE for ruby tests

* Enabled COVERAGE for ruby tests

* Enabled COVERAGE for ruby tests

* Added compiled classes to artifacts

* Test change

* Removed test changes

* Returned back ENABLE_SONARQUBE condition

* Removed debug line

* Diable Ruby coverage if ENABLE_SONARQUBE is not true

* Run sonar scan on pull requests and onn push to main

* Run sonar can on release branches
2024-01-17 19:04:37 +00:00
github-actions[bot]
20b298e350
Release notes for 8.12.0 (#15804) (#15812)
---------

Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
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 d5d363208b)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-17 13:55:42 -05:00
Dimitrios Liappis
16c4d8827e
Enable packaging tests in exhaustive pipeline (#15781)
This commit adds the packaging tests (that were refactored in #15696
to not rely on Vagrant) in a new "acceptance" group.

Relates: https://github.com/elastic/ingest-dev/issues/1722
2024-01-12 17:52:06 +02:00
kaisecheng
081d8fc15c
[Doc] kerberos debug instructions (#15779)
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2024-01-12 13:11:12 +00:00