Skip to content

Commit

Permalink
[BK] Migrate batch 7 (Performance) (#181133)
Browse files Browse the repository at this point in the history
## Summary

Validation:
 - [x] RREs checked locally
 - [x] Pipelines staged
- [x] kibana / single-user-performance
(https://buildkite.com/elastic/kibana-migration-pipeline-staging/builds/62
✅ )
- [x] kibana / performance-data-set-extraction
(https://buildkite.com/elastic/kibana-migration-pipeline-staging/builds/60#018f0b96-7703-4e36-9924-f405073d0747
✅ )
- [x] kibana / scalability-benchmarking
(https://buildkite.com/elastic/kibana-migration-pipeline-staging/builds/68
✅ )
- [x] kibana / apis-capacity-testing
(https://buildkite.com/elastic/kibana-migration-pipeline-staging/builds/60#018f0b96-7703-4e36-9924-f405073d0747
✅ )
 - [x] 7.17 / 8.14 validation ( ⚪  not needed, no branch builds set up)


Part of: elastic/kibana-operations#79

Migrates: 
- kibana / single-user-performance
[kibana-performance-daily.yml](https://buildkite.com/elastic/kibana-single-user-performance)
- kibana / performance-data-set-extraction
[kibana-performance-data-set-extraction-daily.yml](https://buildkite.com/elastic/kibana-performance-data-set-extraction)
- kibana / scalability-benchmarking
[scalability_testing-daily.yml](https://buildkite.com/elastic/kibana-scalability-benchmarking-1)
- kibana / apis-capacity-testing
[kibana-apis-capacity-testing-daily.yml](https://buildkite.com/elastic/kibana-apis-capacity-testing)

chore(BK): Migrate batch 7 - performance and testing

Depends on: https://elasticco.atlassian.net/browse/ENGPRD-524
  • Loading branch information
delanni authored Apr 30, 2024
1 parent fa5211e commit 77961a6
Show file tree
Hide file tree
Showing 9 changed files with 258 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
name: bk-kibana-apis-capacity-testing
description: Runs capacity tests for Kibana apis
links:
- url: 'https://buildkite.com/elastic/kibana-apis-capacity-testing'
title: Pipeline link
spec:
type: buildkite-pipeline
owner: 'group:kibana-operations'
system: buildkite
implementation:
apiVersion: buildkite.elastic.dev/v1
kind: Pipeline
metadata:
name: kibana / apis-capacity-testing
description: Runs capacity tests for Kibana apis
spec:
env:
SLACK_NOTIFICATIONS_CHANNEL: '#kibana-performance-alerts'
BAZEL_CACHE_MODE: none
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
allow_rebuilds: true
branch_configuration: main
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/scalability/api_capacity_testing_daily.yml
skip_intermediate_builds: false
provider_settings:
build_branches: true
prefix_pull_request_fork_branch_names: false
skip_pull_request_builds_for_existing_commits: false
teams:
everyone:
access_level: BUILD_AND_READ
kibana-operations:
access_level: MANAGE_BUILD_AND_READ
appex-qa:
access_level: MANAGE_BUILD_AND_READ
kibana-tech-leads:
access_level: MANAGE_BUILD_AND_READ
schedules:
Capacity every 3h testing:
cronline: 0 1/3 * * * Europe/Berlin
message: Capacity every 3h testing
branch: main
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
name: bk-kibana-single-user-performance
description: Runs single user performance tests for kibana
links:
- url: 'https://buildkite.com/elastic/kibana-single-user-performance'
title: Pipeline link
spec:
type: buildkite-pipeline
owner: 'group:kibana-operations'
system: buildkite
implementation:
apiVersion: buildkite.elastic.dev/v1
kind: Pipeline
metadata:
name: kibana / single-user-performance
description: Runs single user performance tests for kibana
spec:
env:
SLACK_NOTIFICATIONS_CHANNEL: '#kibana-performance-alerts'
BAZEL_CACHE_MODE: none
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
allow_rebuilds: true
branch_configuration: main
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/performance/daily.yml
skip_intermediate_builds: false
provider_settings:
build_branches: true
prefix_pull_request_fork_branch_names: false
skip_pull_request_builds_for_existing_commits: false
teams:
everyone:
access_level: BUILD_AND_READ
kibana-operations:
access_level: MANAGE_BUILD_AND_READ
appex-qa:
access_level: MANAGE_BUILD_AND_READ
kibana-tech-leads:
access_level: MANAGE_BUILD_AND_READ
schedules:
Single user daily test:
cronline: 0 */3 * * * Europe/Berlin
message: Single user daily test
branch: main
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
name: bk-kibana-performance-data-set-extraction
description: Runs single user performance tests and extract APM traces
links:
- url: 'https://buildkite.com/elastic/kibana-performance-data-set-extraction'
title: Pipeline link
spec:
type: buildkite-pipeline
owner: 'group:kibana-operations'
system: buildkite
implementation:
apiVersion: buildkite.elastic.dev/v1
kind: Pipeline
metadata:
name: kibana / performance-data-set-extraction
description: Runs single user performance tests and extract APM traces
spec:
env:
SLACK_NOTIFICATIONS_CHANNEL: '#kibana-performance-alerts'
BAZEL_CACHE_MODE: none
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
allow_rebuilds: true
branch_configuration: main
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/performance/data_set_extraction_daily.yml
skip_intermediate_builds: false
provider_settings:
build_branches: true
prefix_pull_request_fork_branch_names: false
skip_pull_request_builds_for_existing_commits: false
teams:
everyone:
access_level: BUILD_AND_READ
kibana-operations:
access_level: MANAGE_BUILD_AND_READ
appex-qa:
access_level: MANAGE_BUILD_AND_READ
kibana-tech-leads:
access_level: MANAGE_BUILD_AND_READ
schedules:
Extract APM traces:
cronline: 0 3/8 * * * Europe/Berlin
message: Extract APM traces
branch: main
4 changes: 4 additions & 0 deletions .buildkite/pipeline-resource-definitions/locations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ spec:
type: url
targets:
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-api-docs.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-apis-capacity-testing-daily.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-coverage-daily.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-es-serverless-snapshots.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-es-snapshots.yml
Expand All @@ -17,9 +18,12 @@ spec:
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-fleet-packages-daily.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-migration-staging.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-on-merge-unsupported-ftrs.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-performance-daily.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-performance-data-set-extraction-daily.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-purge-cloud-deployments.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-release.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-security-solution-quality-gate-api-integration.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/scalability_testing-daily.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-ess/security-solution-ess.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-defend-workflows.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-detection-engine.yml
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
name: bk-kibana-scalability-benchmarking
description: Runs scalability tests for Kibana server
links:
- url: 'https://buildkite.com/elastic/kibana-scalability-benchmarking'
title: Pipeline link
spec:
type: buildkite-pipeline
owner: 'group:kibana-operations'
system: buildkite
implementation:
apiVersion: buildkite.elastic.dev/v1
kind: Pipeline
metadata:
name: kibana / scalability-benchmarking
description: Runs scalability tests for Kibana server
spec:
env:
SLACK_NOTIFICATIONS_CHANNEL: '#kibana-performance-alerts'
BAZEL_CACHE_MODE: none
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
allow_rebuilds: true
branch_configuration: main
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/scalability/daily.yml
skip_intermediate_builds: false
provider_settings:
build_branches: true
prefix_pull_request_fork_branch_names: false
skip_pull_request_builds_for_existing_commits: false
teams:
everyone:
access_level: BUILD_AND_READ
kibana-operations:
access_level: MANAGE_BUILD_AND_READ
appex-qa:
access_level: MANAGE_BUILD_AND_READ
kibana-tech-leads:
access_level: MANAGE_BUILD_AND_READ
schedules:
Scalability daily benchmarking:
cronline: 0 6 * * * Europe/Berlin
message: Scalability daily benchmarking
branch: main
22 changes: 18 additions & 4 deletions .buildkite/pipelines/performance/daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,20 @@ steps:
- label: '👨‍🔧 Pre-Build'
command: .buildkite/scripts/lifecycle/pre_build.sh
agents:
queue: kibana-default
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2

- wait

- label: '🧑‍🏭 Build Kibana Distribution and Plugins'
command: .buildkite/scripts/steps/build_kibana.sh
agents:
queue: c2-16
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: c2-standard-16
key: build
if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''"

Expand All @@ -26,7 +32,12 @@ steps:
- label: '📈 Report performance metrics to ci-stats'
command: .buildkite/scripts/steps/functional/report_performance_metrics.sh
agents:
queue: n2-2
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
localSsds: 1
localSsdInterface: nvme
machineType: n2-standard-2
depends_on: tests

- wait: ~
Expand All @@ -35,4 +46,7 @@ steps:
- label: '🦸 Post-Build'
command: .buildkite/scripts/lifecycle/post_build.sh
agents:
queue: kibana-default
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2
28 changes: 23 additions & 5 deletions .buildkite/pipelines/performance/data_set_extraction_daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,32 @@ steps:
- label: ':male-mechanic::skin-tone-2: Pre-Build'
command: .buildkite/scripts/lifecycle/pre_build.sh
agents:
queue: kibana-default
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2
timeout_in_minutes: 10

- wait

- label: ':building_construction: Build Kibana Distribution and Plugins'
command: .buildkite/scripts/steps/build_kibana.sh
agents:
queue: c2-16
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: c2-standard-16
key: build
if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''"

- label: ':kibana: Performance Tests with Playwright config'
command: .buildkite/scripts/steps/functional/performance_playwright.sh
agents:
queue: n2-2-spot
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2
preemptible: true
depends_on: build
key: tests
timeout_in_minutes: 90
Expand All @@ -31,7 +41,12 @@ steps:
- label: ':ship: Single user journeys dataset extraction for scalability benchmarking'
command: .buildkite/scripts/steps/functional/scalability_dataset_extraction.sh
agents:
queue: n2-2
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
localSsds: 1
localSsdInterface: nvme
machineType: n2-standard-2
depends_on: tests

- wait: ~
Expand All @@ -40,4 +55,7 @@ steps:
- label: ':male_superhero::skin-tone-2: Post-Build'
command: .buildkite/scripts/lifecycle/post_build.sh
agents:
queue: kibana-default
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2
16 changes: 13 additions & 3 deletions .buildkite/pipelines/scalability/api_capacity_testing_daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,21 @@ steps:
- label: 'Pre-Build'
command: .buildkite/scripts/lifecycle/pre_build.sh
agents:
queue: kibana-default
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2

- wait

- label: 'Build Kibana Distribution and Plugins'
command: .buildkite/scripts/steps/build_kibana.sh
agents:
queue: n2-16-spot
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-16
preemptible: true
key: build
if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''"
timeout_in_minutes: 60
Expand All @@ -35,4 +42,7 @@ steps:
- label: 'Post-Build'
command: .buildkite/scripts/lifecycle/post_build.sh
agents:
queue: kibana-default
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2
10 changes: 8 additions & 2 deletions .buildkite/pipelines/scalability/daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ steps:
- label: ':male-mechanic::skin-tone-2: Pre-Build'
command: .buildkite/scripts/lifecycle/pre_build.sh
agents:
queue: kibana-default
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2
timeout_in_minutes: 10

- wait
Expand All @@ -23,5 +26,8 @@ steps:
- label: ':male_superhero::skin-tone-2: Post-Build'
command: .buildkite/scripts/lifecycle/post_build.sh
agents:
queue: kibana-default
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-2
timeout_in_minutes: 10

0 comments on commit 77961a6

Please sign in to comment.