Skip to content

Conversation

@donoghuc
Copy link
Member

@donoghuc donoghuc commented Oct 27, 2025

Previously the version of logstash checked in to the logstash repo was used to determine stack version for smoke and acceptance testing of the observabilitySRE artifact. Given the ES/Filebeat containers are subject to a unified release the delay between a logstash version bump and those artifacts being available was causing failures when the smoke/acceptance tests were run. In plugin testing the way we deal with this is to ensure the logstash-versions.yml file is updated when stack components are ready. This commit introduces the use of that pattern to the observabilitySRE artifact testing. The important step will be to set the STACK_VERSION to correspond to the desired stack version. For example the 9.2 logstash branch should look up 9.current.

closes #18358

@github-actions
Copy link
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

@mergify
Copy link
Contributor

mergify bot commented Oct 27, 2025

This pull request does not have a backport label. Could you fix it @donoghuc? 🙏
To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-8./d is the label to automatically backport to the 8./d branch. /d is the digit.
  • If no backport is necessary, please add the backport-skip label

@donoghuc
Copy link
Member Author

@donoghuc donoghuc added backport-8.19 Automated backport to the 8.19 branch backport-9.1 Automated backport to the 9.1 branch backport-9.2 Automated backport to the 9.2 branch labels Oct 27, 2025
Copy link
Contributor

@mashhurs mashhurs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

export FILEBEAT_IMAGE_VERSION="${FILEBEAT_IMAGE_VERSION:-$QUALIFIED_VERSION}"
# Look up corresponding LOSTASH_STREAM to test against. MAKE SURE TO UDPATE this per branch for example the 9.2 branch in logstash would
# correspond to the '9.current' key in the logstash-versions.yml file
LOGSTASH_STREAM=main
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With this initial step no concern and for the long term it would be great if we can dynamically resolve artifact version (eg: if branch 9.1, consider values of 9.prev or 9.current if matches 9.1)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ultimately this is going to be a "moving target". IE just recently we had to update 9.1 -> 9.previous 9.2 -> 9.current so computing from branch name wont be possible without an external input. The other thought I had was to centralize this to look up programatically. Perhaps a new section in logstash-versions.yml:

logstash-streams:
  "8.19": "8.previous"
  "9.1": "9.previous"
  "9.2": "9.current"
  "main": "9.next"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

computing from branch name wont be possible without an external input

Agree! In the past I had a python script in elastic_integration plugin to check if stream value/artifact-version contains the branch we are running from, if it works for you. Then we moved to matrix because for the elastic_integration case it can be 1:N mapping.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thinking about this more, i actually think we want to track the stream information in the logstash repo (this would only require a single update when a new branch is created I added a commit 1985c4b showing an option for that. The main reason is that we should be able to run the scripts for executing the tests from any branch, there is not really a clean way to determine what the intended target stream is for the current branch. For example, if i raise a PR from a branch called patch-n there is not really any information to reliable determine what target branch/stream of logstash that should be targeted at.

versions.yml Outdated
logstash-core: 9.3.0
logstash-core-plugin-api: 2.1.16
# Logstash stream corresponding to keys in https://github.com/logstash-plugins/.ci/blob/1.x/logstash-versions.yml
logstash-stream: main
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is approved/agreen upon I will update https://github.com/elastic/logstash/blob/main/.github/workflows/bump-logstash.yml to manage this along with logstash version.

Copy link
Contributor

@mashhurs mashhurs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Previously the version of logstash checked in to the logstash repo was used to
determine stack version for smoke and acceptance testing of the observabilitySRE
artifact. Given the ES/Filebeat containers are subject to a unified release the
delay between a logstash version bump and those artifacts being available was
causing failures when the smoke/acceptance tests were run. In plugin testing the
way we deal with this is to ensure the logstash-versions.yml file is updated
when stack components are ready. This commit introduces the use of that pattern
to the observabilitySRE artifact testing. The important step will be to set the
STACK_VERSION to correspond to the desired stack version. For example the 9.2
logstash branch should look up `9.current`.
@donoghuc donoghuc force-pushed the use-logstash-versions-as-source-of-truth-fips branch from 1985c4b to 3001241 Compare October 31, 2025 19:15
@donoghuc donoghuc requested review from a team as code owners October 31, 2025 19:15
@donoghuc donoghuc requested a review from jsvd November 4, 2025 00:08
@donoghuc
Copy link
Member Author

donoghuc commented Nov 4, 2025

@jsvd You good with this approach/naming convention?

Copy link
Member

@jsvd jsvd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nitpick: please fix the commends that still mention "stream" instead of release track.

Otherwise LGTM

@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

History

@donoghuc donoghuc merged commit d9fda37 into elastic:main Nov 4, 2025
11 checks passed
mergify bot pushed a commit that referenced this pull request Nov 4, 2025
* Use logstash-versions.yml for observabilitySRE stack versions

Previously the version of logstash checked in to the logstash repo was used to
determine stack version for smoke and acceptance testing of the observabilitySRE
artifact. Given the ES/Filebeat containers are subject to a unified release the
delay between a logstash version bump and those artifacts being available was
causing failures when the smoke/acceptance tests were run. In plugin testing the
way we deal with this is to ensure the logstash-versions.yml file is updated
when stack components are ready. This commit introduces the use of that pattern
to the observabilitySRE artifact testing. The important step will be to set the
STACK_VERSION to correspond to the desired stack version. For example the 9.2
logstash branch should look up `9.current`.

* track stream in versions.yml

* Finalize name/location for versions.yml mapping

* better comment

(cherry picked from commit d9fda37)
mergify bot pushed a commit that referenced this pull request Nov 4, 2025
* Use logstash-versions.yml for observabilitySRE stack versions

Previously the version of logstash checked in to the logstash repo was used to
determine stack version for smoke and acceptance testing of the observabilitySRE
artifact. Given the ES/Filebeat containers are subject to a unified release the
delay between a logstash version bump and those artifacts being available was
causing failures when the smoke/acceptance tests were run. In plugin testing the
way we deal with this is to ensure the logstash-versions.yml file is updated
when stack components are ready. This commit introduces the use of that pattern
to the observabilitySRE artifact testing. The important step will be to set the
STACK_VERSION to correspond to the desired stack version. For example the 9.2
logstash branch should look up `9.current`.

* track stream in versions.yml

* Finalize name/location for versions.yml mapping

* better comment

(cherry picked from commit d9fda37)

# Conflicts:
#	ci/observabilitySREacceptance_tests.sh
#	ci/observabilitySREsmoke_tests.sh
@donoghuc
Copy link
Member Author

donoghuc commented Nov 4, 2025

@Mergifyio backport 9.2

@mergify
Copy link
Contributor

mergify bot commented Nov 4, 2025

backport 9.2

✅ Backports have been created

mergify bot pushed a commit that referenced this pull request Nov 4, 2025
* Use logstash-versions.yml for observabilitySRE stack versions

Previously the version of logstash checked in to the logstash repo was used to
determine stack version for smoke and acceptance testing of the observabilitySRE
artifact. Given the ES/Filebeat containers are subject to a unified release the
delay between a logstash version bump and those artifacts being available was
causing failures when the smoke/acceptance tests were run. In plugin testing the
way we deal with this is to ensure the logstash-versions.yml file is updated
when stack components are ready. This commit introduces the use of that pattern
to the observabilitySRE artifact testing. The important step will be to set the
STACK_VERSION to correspond to the desired stack version. For example the 9.2
logstash branch should look up `9.current`.

* track stream in versions.yml

* Finalize name/location for versions.yml mapping

* better comment

(cherry picked from commit d9fda37)
donoghuc added a commit that referenced this pull request Nov 4, 2025
…E stack versions (#18401)

* Use logstash-versions.yml for observabilitySRE stack versions (#18375)

* Use logstash-versions.yml for observabilitySRE stack versions

Previously the version of logstash checked in to the logstash repo was used to
determine stack version for smoke and acceptance testing of the observabilitySRE
artifact. Given the ES/Filebeat containers are subject to a unified release the
delay between a logstash version bump and those artifacts being available was
causing failures when the smoke/acceptance tests were run. In plugin testing the
way we deal with this is to ensure the logstash-versions.yml file is updated
when stack components are ready. This commit introduces the use of that pattern
to the observabilitySRE artifact testing. The important step will be to set the
STACK_VERSION to correspond to the desired stack version. For example the 9.2
logstash branch should look up `9.current`.

* track stream in versions.yml

* Finalize name/location for versions.yml mapping

* better comment

(cherry picked from commit d9fda37)

# Conflicts:
#	ci/observabilitySREacceptance_tests.sh
#	ci/observabilitySREsmoke_tests.sh

* Update versions.yml

---------

Co-authored-by: Cas Donoghue <[email protected]>
donoghuc added a commit that referenced this pull request Nov 4, 2025
…RE stack versions (#18400)

* Use logstash-versions.yml for observabilitySRE stack versions (#18375)

* Use logstash-versions.yml for observabilitySRE stack versions

Previously the version of logstash checked in to the logstash repo was used to
determine stack version for smoke and acceptance testing of the observabilitySRE
artifact. Given the ES/Filebeat containers are subject to a unified release the
delay between a logstash version bump and those artifacts being available was
causing failures when the smoke/acceptance tests were run. In plugin testing the
way we deal with this is to ensure the logstash-versions.yml file is updated
when stack components are ready. This commit introduces the use of that pattern
to the observabilitySRE artifact testing. The important step will be to set the
STACK_VERSION to correspond to the desired stack version. For example the 9.2
logstash branch should look up `9.current`.

* track stream in versions.yml

* Finalize name/location for versions.yml mapping

* better comment

(cherry picked from commit d9fda37)

* Update versions.yml

---------

Co-authored-by: Cas Donoghue <[email protected]>
donoghuc added a commit that referenced this pull request Nov 4, 2025
…E stack versions (#18402)

* Use logstash-versions.yml for observabilitySRE stack versions (#18375)

* Use logstash-versions.yml for observabilitySRE stack versions

Previously the version of logstash checked in to the logstash repo was used to
determine stack version for smoke and acceptance testing of the observabilitySRE
artifact. Given the ES/Filebeat containers are subject to a unified release the
delay between a logstash version bump and those artifacts being available was
causing failures when the smoke/acceptance tests were run. In plugin testing the
way we deal with this is to ensure the logstash-versions.yml file is updated
when stack components are ready. This commit introduces the use of that pattern
to the observabilitySRE artifact testing. The important step will be to set the
STACK_VERSION to correspond to the desired stack version. For example the 9.2
logstash branch should look up `9.current`.

* track stream in versions.yml

* Finalize name/location for versions.yml mapping

* better comment

(cherry picked from commit d9fda37)

* Update versions.yml

---------

Co-authored-by: Cas Donoghue <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-8.19 Automated backport to the 8.19 branch backport-9.1 Automated backport to the 9.1 branch backport-9.2 Automated backport to the 9.2 branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use logstash-versions in .ci as source of truth for ES dependent fips tests

4 participants