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

Add stress test project template and documentation #38159

Merged
merged 16 commits into from
Jan 11, 2024

Conversation

lmolkova
Copy link
Member

No description provided.

@github-actions github-actions bot added the EngSys This issue is impacting the engineering system. label Dec 23, 2023
Copy link
Member

@richardpark-msft richardpark-msft left a comment

Choose a reason for hiding this comment

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

Just looked at the stress infra parts (not the Java) but this is really great. A good model for the rest of us to follow.

sdk/template/azure-template-stress/Chart.yaml Outdated Show resolved Hide resolved
sdk/template/azure-template-stress/Dockerfile Outdated Show resolved Hide resolved
mvn -f /stress/sdk/tools/pom.xml clean install -Dcheckstyle.skip -Dgpg.skip -Dmaven.javadoc.skip -Drevapi.skip -Dspotbugs.skip -Djacoco.skip -DskipTests && \
mvn -f /stress/sdk/template/azure-template-stress/pom.xml clean install -Dcheckstyle.skip -Dgpg.skip -Dmaven.javadoc.skip -Drevapi.skip -Dspotbugs.skip -Djacoco.skip -DskipTests

FROM mcr.microsoft.com/openjdk/jdk:11-mariner
Copy link
Member

Choose a reason for hiding this comment

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

Future work that'll be useful: targeting the min version of JDK you support, max, etc...

sdk/template/azure-template-stress/README.md Outdated Show resolved Hide resolved
sdk/template/azure-template-stress/README.md Show resolved Hide resolved
sdk/template/azure-template-stress/README.md Outdated Show resolved Hide resolved
@lmolkova lmolkova marked this pull request as ready for review January 4, 2024 21:01
@lmolkova lmolkova enabled auto-merge (squash) January 5, 2024 19:51
version: 0.1.1
appVersion: v0.1
annotations:
stressTest: 'false' # change it to true. This enables auto-discovery of this test via `find-all-stress-packages.ps1`
Copy link
Member

@benbp benbp Jan 10, 2024

Choose a reason for hiding this comment

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

How come we are defaulting to false here? To prevent auto-discovery during development? It seems like it could be an odd behavior to debug if the script isn't finding one's test. Or is it to make sure someone edits this file?

Copy link
Member Author

Choose a reason for hiding this comment

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

this is a template/example project which exist for documentation purposes. While the test is still useful, we don't really want to run it in stress pipeline

- update test parameters for `test` container
6. Define scenarios and parameters in `scenarios-matrix.yaml`

Now you're ready to run tests with `.\eng\common\scripts\stress-testing\deploy-stress-tests.ps1 -SearchDirectory .\sdk\<your service directory>`.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Now you're ready to run tests with `.\eng\common\scripts\stress-testing\deploy-stress-tests.ps1 -SearchDirectory .\sdk\<your service directory>`.
Now you're ready to run tests with `./eng/common/scripts/stress-testing/deploy-stress-tests.ps1 -SearchDirectory ./sdk/<your service directory>`

# simple and fast .NET Core HTTP server to run tests against
# When writing real stress test, you probably won't need it and would use corresponding Azure Service.
- name: server
image: stresspgs7b6dif73rup6.azurecr.io/stress/simplehttpserver
Copy link
Member

Choose a reason for hiding this comment

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

Is it safe to assume this will always be replaced? If not I should add a registry value to the helm context so we don't have to take a dependency on what is a cluster-specific ACR.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, this container is not needed for real SDK tests and only exists for demo purposes. At some point we probably will add azure-core tests where we'd need HHTP server, but would probably use storage with SAS connection string instead.

@benbp
Copy link
Member

benbp commented Jan 10, 2024

Love this! I have some minor nits and questions but LGTM, excited to see some templatization. Agree w/ Richard I would be happy to support making this a cross-language effort as well.

@lmolkova lmolkova merged commit 0626e46 into Azure:main Jan 11, 2024
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EngSys This issue is impacting the engineering system.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants