Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[performance] enable journey run against cloud deployments #156720

Merged
merged 15 commits into from
May 9, 2023

Conversation

dmlemeshko
Copy link
Member

@dmlemeshko dmlemeshko commented May 4, 2023

Summary

This PR adds changes and instructions how to run existing performance journeys against ESS instances.

As previously discussed with @pheyos , there are few manual steps to be done before running the actual journey:

  1. Create cloud deployment and re-configure it the way APM traces are reported the monitoring cluster
  2. Check out the branch matching deployment version (main -> 8.9.0-SNAPSHOT), create user with superuser role (we don't test functional features, only performance metrics)

Then you can run the journey like a regular cloud test suite:

export TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>
export TEST_ES_URL=https://<username>:<password>@<elasticsearch_url>:<port>
export TEST_CLOUD=1
node scripts/functional_test_runner.js --config x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts

image

@dmlemeshko dmlemeshko force-pushed the journey/enable-cloud-testing branch 2 times, most recently from b1a469f to ed0cb0c Compare May 5, 2023 11:57
@dmlemeshko dmlemeshko force-pushed the journey/enable-cloud-testing branch from ed0cb0c to a4eb7bb Compare May 5, 2023 12:59
@dmlemeshko dmlemeshko added v8.9.0 v8.8.1 release_note:skip Skip the PR/issue when compiling release notes wg:performance Work tracked by the performance workgroup v8.7.2 labels May 5, 2023
@dmlemeshko dmlemeshko marked this pull request as ready for review May 5, 2023 14:46
@dmlemeshko dmlemeshko requested review from a team as code owners May 5, 2023 14:46
@dmlemeshko dmlemeshko requested a review from jbudz May 7, 2023 13:32
@kibana-ci
Copy link
Collaborator

💚 Build Succeeded

Metrics [docs]

Unknown metric groups

ESLint disabled line counts

id before after diff
enterpriseSearch 19 21 +2
securitySolution 398 401 +3
total +5

Total ESLint disabled count

id before after diff
enterpriseSearch 20 22 +2
securitySolution 478 481 +3
total +5

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@dmlemeshko dmlemeshko enabled auto-merge (squash) May 8, 2023 13:41
Copy link

@wwang500 wwang500 left a comment

Choose a reason for hiding this comment

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

LGTM, Good job 👍 . Just left a few questions and nice-to-have suggestions.

As a way to better understand user experience with Kibana in cloud, we support running performance journeys against
Cloud deployments.
The process takes a few steps:
- Create a cloud deployment
Copy link

Choose a reason for hiding this comment

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

Is there a minimum setting (RAM/zones) for Kibana? or the default kibana setting enough?

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 deployment size is up to each team to decide as we probably would like to test different ones and compare. We might define some defaults later.

Save changes and make sure cluster is restarted successfully.

#### Change Kibana configuration
Navigate to `Advanced Edit` page and change `Deployment Configuration` by adding the following JSON object to `resources.kibana.plan.kibana`:
Copy link

Choose a reason for hiding this comment

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

"Advanced Edit" link wont be visible until "Edit" button is clicked. we could start the sentence like:

Navigate to Edit-> Advanced Edit page ...

Secret: <SECRET_TOKEN>
```

Navigate to `Advanced Edit` page and change `Deployment Configuration` by adding the following JSON object to `resources.elasticsearch.plan.elasticsearch`:
Copy link

Choose a reason for hiding this comment

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

"Advanced Edit" link wont be visible until "Edit" button is clicked. we could start the sentence like:

Navigate to Edit-> Advanced Edit page ...


Note: DEPLOYMENT_ID and YOUR_JOURNEY_NAME values are optional labels to find the APM traces for your run.

Save changes and make sure cluster is restarted successfully.
Copy link

Choose a reason for hiding this comment

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

Can the above kibana and elastic settings be changed together? In such way, the cluster is only needed to be restarted once.

Copy link
Member Author

@dmlemeshko dmlemeshko May 9, 2023

Choose a reason for hiding this comment

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

Yes, it is. Originally I thought it is easier to re-configure in steps to check if deployment still healthy. But since it is expected to work, I agree we better do it with 1 step and only single deployment restart makes things faster.

@dmlemeshko dmlemeshko merged commit e55a92e into elastic:main May 9, 2023
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request May 9, 2023
…56720)

## Summary

This PR adds changes and instructions how to run existing performance
journeys against ESS instances.

As previously discussed with @pheyos , there are few manual steps to be
done before running the actual journey:
1. Create cloud deployment and re-configure it the way APM traces are
reported the monitoring cluster
2. Check out the branch matching deployment version (main ->
8.9.0-SNAPSHOT), create user with `superuser` role (we don't test
functional features, only performance metrics)

Then you can run the journey like a regular cloud test suite:
```
export TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>
export TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>
export TEST_CLOUD=1
node scripts/functional_test_runner.js --config x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts
```

<img width="1357" alt="image"
src="https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png">

---------

Co-authored-by: Jon <jon@budzenski.me>
(cherry picked from commit e55a92e)
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request May 9, 2023
…56720)

## Summary

This PR adds changes and instructions how to run existing performance
journeys against ESS instances.

As previously discussed with @pheyos , there are few manual steps to be
done before running the actual journey:
1. Create cloud deployment and re-configure it the way APM traces are
reported the monitoring cluster
2. Check out the branch matching deployment version (main ->
8.9.0-SNAPSHOT), create user with `superuser` role (we don't test
functional features, only performance metrics)

Then you can run the journey like a regular cloud test suite:
```
export TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>
export TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>
export TEST_CLOUD=1
node scripts/functional_test_runner.js --config x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts
```

<img width="1357" alt="image"
src="https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png">

---------

Co-authored-by: Jon <jon@budzenski.me>
(cherry picked from commit e55a92e)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
8.7
8.8

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request May 9, 2023
…6720) (#157122)

# Backport

This will backport the following commits from `main` to `8.7`:
- [[performance] enable journey run against cloud deployments
(#156720)](#156720)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2023-05-09T03:35:43Z","message":"[performance]
enable journey run against cloud deployments (#156720)\n\n##
Summary\r\n\r\nThis PR adds changes and instructions how to run existing
performance\r\njourneys against ESS instances.\r\n\r\nAs previously
discussed with @pheyos , there are few manual steps to be\r\ndone before
running the actual journey:\r\n1. Create cloud deployment and
re-configure it the way APM traces are\r\nreported the monitoring
cluster\r\n2. Check out the branch matching deployment version (main
->\r\n8.9.0-SNAPSHOT), create user with `superuser` role (we don't
test\r\nfunctional features, only performance metrics)\r\n\r\nThen you
can run the journey like a regular cloud test suite:\r\n```\r\nexport
TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>\r\nexport
TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>\r\nexport
TEST_CLOUD=1\r\nnode scripts/functional_test_runner.js --config
x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts\r\n```\r\n\r\n<img
width=\"1357\"
alt=\"image\"\r\nsrc=\"https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png\">\r\n\r\n---------\r\n\r\nCo-authored-by:
Jon
<jon@budzenski.me>","sha":"e55a92eab0ae28799b51238fb76efa6026673e6e","branchLabelMapping":{"^v8.9.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","wg:performance","v8.7.2","v8.9.0","v8.8.1"],"number":156720,"url":"https://github.com/elastic/kibana/pull/156720","mergeCommit":{"message":"[performance]
enable journey run against cloud deployments (#156720)\n\n##
Summary\r\n\r\nThis PR adds changes and instructions how to run existing
performance\r\njourneys against ESS instances.\r\n\r\nAs previously
discussed with @pheyos , there are few manual steps to be\r\ndone before
running the actual journey:\r\n1. Create cloud deployment and
re-configure it the way APM traces are\r\nreported the monitoring
cluster\r\n2. Check out the branch matching deployment version (main
->\r\n8.9.0-SNAPSHOT), create user with `superuser` role (we don't
test\r\nfunctional features, only performance metrics)\r\n\r\nThen you
can run the journey like a regular cloud test suite:\r\n```\r\nexport
TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>\r\nexport
TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>\r\nexport
TEST_CLOUD=1\r\nnode scripts/functional_test_runner.js --config
x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts\r\n```\r\n\r\n<img
width=\"1357\"
alt=\"image\"\r\nsrc=\"https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png\">\r\n\r\n---------\r\n\r\nCo-authored-by:
Jon
<jon@budzenski.me>","sha":"e55a92eab0ae28799b51238fb76efa6026673e6e"}},"sourceBranch":"main","suggestedTargetBranches":["8.7","8.8"],"targetPullRequestStates":[{"branch":"8.7","label":"v8.7.2","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.9.0","labelRegex":"^v8.9.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/156720","number":156720,"mergeCommit":{"message":"[performance]
enable journey run against cloud deployments (#156720)\n\n##
Summary\r\n\r\nThis PR adds changes and instructions how to run existing
performance\r\njourneys against ESS instances.\r\n\r\nAs previously
discussed with @pheyos , there are few manual steps to be\r\ndone before
running the actual journey:\r\n1. Create cloud deployment and
re-configure it the way APM traces are\r\nreported the monitoring
cluster\r\n2. Check out the branch matching deployment version (main
->\r\n8.9.0-SNAPSHOT), create user with `superuser` role (we don't
test\r\nfunctional features, only performance metrics)\r\n\r\nThen you
can run the journey like a regular cloud test suite:\r\n```\r\nexport
TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>\r\nexport
TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>\r\nexport
TEST_CLOUD=1\r\nnode scripts/functional_test_runner.js --config
x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts\r\n```\r\n\r\n<img
width=\"1357\"
alt=\"image\"\r\nsrc=\"https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png\">\r\n\r\n---------\r\n\r\nCo-authored-by:
Jon
<jon@budzenski.me>","sha":"e55a92eab0ae28799b51238fb76efa6026673e6e"}},{"branch":"8.8","label":"v8.8.1","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
kibanamachine added a commit that referenced this pull request May 9, 2023
…6720) (#157123)

# Backport

This will backport the following commits from `main` to `8.8`:
- [[performance] enable journey run against cloud deployments
(#156720)](#156720)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2023-05-09T03:35:43Z","message":"[performance]
enable journey run against cloud deployments (#156720)\n\n##
Summary\r\n\r\nThis PR adds changes and instructions how to run existing
performance\r\njourneys against ESS instances.\r\n\r\nAs previously
discussed with @pheyos , there are few manual steps to be\r\ndone before
running the actual journey:\r\n1. Create cloud deployment and
re-configure it the way APM traces are\r\nreported the monitoring
cluster\r\n2. Check out the branch matching deployment version (main
->\r\n8.9.0-SNAPSHOT), create user with `superuser` role (we don't
test\r\nfunctional features, only performance metrics)\r\n\r\nThen you
can run the journey like a regular cloud test suite:\r\n```\r\nexport
TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>\r\nexport
TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>\r\nexport
TEST_CLOUD=1\r\nnode scripts/functional_test_runner.js --config
x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts\r\n```\r\n\r\n<img
width=\"1357\"
alt=\"image\"\r\nsrc=\"https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png\">\r\n\r\n---------\r\n\r\nCo-authored-by:
Jon
<jon@budzenski.me>","sha":"e55a92eab0ae28799b51238fb76efa6026673e6e","branchLabelMapping":{"^v8.9.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","wg:performance","v8.7.2","v8.9.0","v8.8.1"],"number":156720,"url":"https://github.com/elastic/kibana/pull/156720","mergeCommit":{"message":"[performance]
enable journey run against cloud deployments (#156720)\n\n##
Summary\r\n\r\nThis PR adds changes and instructions how to run existing
performance\r\njourneys against ESS instances.\r\n\r\nAs previously
discussed with @pheyos , there are few manual steps to be\r\ndone before
running the actual journey:\r\n1. Create cloud deployment and
re-configure it the way APM traces are\r\nreported the monitoring
cluster\r\n2. Check out the branch matching deployment version (main
->\r\n8.9.0-SNAPSHOT), create user with `superuser` role (we don't
test\r\nfunctional features, only performance metrics)\r\n\r\nThen you
can run the journey like a regular cloud test suite:\r\n```\r\nexport
TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>\r\nexport
TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>\r\nexport
TEST_CLOUD=1\r\nnode scripts/functional_test_runner.js --config
x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts\r\n```\r\n\r\n<img
width=\"1357\"
alt=\"image\"\r\nsrc=\"https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png\">\r\n\r\n---------\r\n\r\nCo-authored-by:
Jon
<jon@budzenski.me>","sha":"e55a92eab0ae28799b51238fb76efa6026673e6e"}},"sourceBranch":"main","suggestedTargetBranches":["8.7","8.8"],"targetPullRequestStates":[{"branch":"8.7","label":"v8.7.2","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.9.0","labelRegex":"^v8.9.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/156720","number":156720,"mergeCommit":{"message":"[performance]
enable journey run against cloud deployments (#156720)\n\n##
Summary\r\n\r\nThis PR adds changes and instructions how to run existing
performance\r\njourneys against ESS instances.\r\n\r\nAs previously
discussed with @pheyos , there are few manual steps to be\r\ndone before
running the actual journey:\r\n1. Create cloud deployment and
re-configure it the way APM traces are\r\nreported the monitoring
cluster\r\n2. Check out the branch matching deployment version (main
->\r\n8.9.0-SNAPSHOT), create user with `superuser` role (we don't
test\r\nfunctional features, only performance metrics)\r\n\r\nThen you
can run the journey like a regular cloud test suite:\r\n```\r\nexport
TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>\r\nexport
TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>\r\nexport
TEST_CLOUD=1\r\nnode scripts/functional_test_runner.js --config
x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts\r\n```\r\n\r\n<img
width=\"1357\"
alt=\"image\"\r\nsrc=\"https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png\">\r\n\r\n---------\r\n\r\nCo-authored-by:
Jon
<jon@budzenski.me>","sha":"e55a92eab0ae28799b51238fb76efa6026673e6e"}},{"branch":"8.8","label":"v8.8.1","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release_note:skip Skip the PR/issue when compiling release notes v8.7.2 v8.8.0 v8.8.1 v8.9.0 wg:performance Work tracked by the performance workgroup
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants