Skip to content

Commit d7f6ce3

Browse files
[9.2] (backport #18375) Use logstash-versions.yml for observabilitySRE 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]>
1 parent 6d26e5d commit d7f6ce3

File tree

5 files changed

+31
-7
lines changed

5 files changed

+31
-7
lines changed

.ci/updatecli/bump-logstash-version.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,16 @@ targets:
5656
key: $.logstash-core
5757
value: '{{ requiredEnv "LOGSTASH_VERSION" }}'
5858

59+
update_release_track:
60+
name: Update logstash-release-track in versions.yml
61+
kind: yaml
62+
disablesourceinput: true
63+
scmid: default
64+
spec:
65+
file: versions.yml
66+
key: $.logstash-release-track
67+
value: '{{ requiredEnv "LOGSTASH_RELEASE_TRACK" }}'
68+
5969
update_gemfile_lock_dependency:
6070
name: Update logstash-core dependency in lockfile
6171
kind: file

.github/workflows/bump-logstash.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ on:
1111
description: 'Logstash branch (example: 9.1)'
1212
required: true
1313
type: string
14-
14+
logstash_release_track:
15+
description: 'Release track (example: 9.current, 9.previous, main)'
16+
required: true
17+
type: string
1518
jobs:
1619
bump:
1720
permissions:
@@ -29,3 +32,4 @@ jobs:
2932
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3033
LOGSTASH_BRANCH: "${{ github.event.inputs.logstash_branch }}"
3134
LOGSTASH_VERSION: "${{ github.event.inputs.logstash_version }}"
35+
LOGSTASH_RELEASE_TRACK: "${{ github.event.inputs.logstash_release_track }}"

ci/observabilitySREacceptance_tests.sh

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22

33
set -e
44

5-
QUALIFIED_VERSION="$(.buildkite/scripts/common/qualified-version.sh)"
6-
export OBSERVABILITY_SRE_IMAGE_VERSION="${OBSERVABILITY_SRE_IMAGE_VERSION:-$QUALIFIED_VERSION}"
7-
export ELASTICSEARCH_IMAGE_VERSION="${ELASTICSEARCH_IMAGE_VERSION:-$QUALIFIED_VERSION}"
8-
export FILEBEAT_IMAGE_VERSION="${FILEBEAT_IMAGE_VERSION:-$QUALIFIED_VERSION}"
5+
# Look up corresponding LOGSTASH_RELEASE_TRACK from versions.yml
6+
LOGSTASH_RELEASE_TRACK=$(ruby -ryaml -e "puts YAML.load_file('versions.yml')['logstash-release-track']")
7+
# Use logstash stream to find the corresponding stack verstion from logstash-versions.yml
8+
STACK_VERSION=$(ruby -ryaml -ropen-uri -e "puts YAML.load(URI.open('https://raw.githubusercontent.com/logstash-plugins/.ci/1.x/logstash-versions.yml'))['snapshots']['${LOGSTASH_RELEASE_TRACK}']")
9+
export OBSERVABILITY_SRE_IMAGE_VERSION="${OBSERVABILITY_SRE_IMAGE_VERSION:-$STACK_VERSION}"
10+
export ELASTICSEARCH_IMAGE_VERSION="${ELASTICSEARCH_IMAGE_VERSION:-$STACK_VERSION}"
11+
export FILEBEAT_IMAGE_VERSION="${FILEBEAT_IMAGE_VERSION:-$STACK_VERSION}"
912

1013
./gradlew observabilitySREacceptanceTests --stacktrace

ci/observabilitySREsmoke_tests.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
set -e
44

55
QUALIFIED_VERSION="$(.buildkite/scripts/common/qualified-version.sh)"
6-
export ELASTICSEARCH_IMAGE_VERSION="${ELASTICSEARCH_IMAGE_VERSION:-$QUALIFIED_VERSION}"
7-
export FILEBEAT_IMAGE_VERSION="${FILEBEAT_IMAGE_VERSION:-$QUALIFIED_VERSION}"
6+
# Look up corresponding LOGSTASH_RELEASE_TRACK from versions.yml
7+
LOGSTASH_RELEASE_TRACK=$(ruby -ryaml -e "puts YAML.load_file('versions.yml')['logstash-release-track']")
8+
# Use logstash stream to find the corresponding stack verstion from logstash-versions.yml
9+
STACK_VERSION=$(ruby -ryaml -ropen-uri -e "puts YAML.load(URI.open('https://raw.githubusercontent.com/logstash-plugins/.ci/1.x/logstash-versions.yml'))['snapshots']['${LOGSTASH_RELEASE_TRACK}']")
10+
export ELASTICSEARCH_IMAGE_VERSION="${ELASTICSEARCH_IMAGE_VERSION:-$STACK_VERSION}"
11+
export FILEBEAT_IMAGE_VERSION="${FILEBEAT_IMAGE_VERSION:-$STACK_VERSION}"
812

913
./gradlew --stacktrace artifactDockerObservabilitySRE -PfedrampHighMode=true
1014

versions.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
logstash: 9.2.1
44
logstash-core: 9.2.1
55
logstash-core-plugin-api: 2.1.16
6+
# Logstash release track corresponding to keys in https://github.com/logstash-plugins/.ci/blob/1.x/logstash-versions.yml
7+
# For example 9.current, 9.previous, etc
8+
logstash-release-track: 9.current
69

710
bundled_jdk:
811
# for AdoptOpenJDK/OpenJDK jdk-14.0.1+7.1, the revision is 14.0.1 while the build is 7.1

0 commit comments

Comments
 (0)