-
Notifications
You must be signed in to change notification settings - Fork 16
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
feat: add bench workflow for AWS #1330
base: main
Are you sure you want to change the base?
Conversation
cdd4d48
to
6e32c34
Compare
ttlSecondsAfterFinished: 0 | ||
template: | ||
spec: | ||
containers: |
Check warning
Code scanning / SonarCloud
Service account permissions should be restricted Medium
template: | ||
spec: | ||
containers: | ||
- name: bench-session |
Check warning
Code scanning / SonarCloud
Memory limits should be enforced Medium
template: | ||
spec: | ||
containers: | ||
- name: bench-session |
Check warning
Code scanning / SonarCloud
Storage limits should be enforced Medium
ee84b2d
to
e5e9472
Compare
0f1faab
to
701ae60
Compare
701ae60
to
e767835
Compare
Quality Gate passedIssues Measures |
on: | ||
push: | ||
branches: | ||
- "ts/add-bench-aws" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace with 'main'.
if [ "$TRIGGER" = 'push' ]; then | ||
echo '{"include":[{"type": "localhost", "ntasks":100, "polling-limit": 300}, {"type": "aws", "ntasks":1000, "polling-limit": 600}]}' > matrix.json | ||
elif [ "$TRIGGER" = 'release' ]; then | ||
echo '{"include":[{"type": "localhost", "ntasks":100, "polling-limit": 300}]}' > matrix.json | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Swap the two condition bodies. and set the number of tasks to a relevant value.
# test-matrix: | ||
# name: Test matrix | ||
# runs-on: ubuntu-latest | ||
# needs: define-matrix | ||
# strategy: | ||
# fail-fast: false | ||
# matrix: ${{ fromJson(needs.define-matrix.outputs.matrix) }} | ||
# steps: | ||
# - id: test | ||
# name: Test matrix | ||
# env: | ||
# TYPE: ${{ matrix.type }} | ||
# NTASKS: ${{ matrix.ntasks }} | ||
# POLLING_LIMIT: ${{ matrix.polling-limit }} | ||
# run: | | ||
# set -ex | ||
# echo "Type: $TYPE, Number of tasks: $NTASKS, Polling Limit: $POLLING_LIMIT" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove this commented job.
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
AWS_EC2_METADATA_DISABLED: true | ||
run: | | ||
aws s3 cp "$BENCH_RESULTS_PATH" "s3://test-armonik-bench-storage/benchclient_benchmark_${EVENT_NAME}_${TYPE}_${GHRUNID}.json" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe you should use an environment variable here instead of the putting directly the bucket uri
# WARNING FOR ARMONIK CORE TEAM | ||
|
||
# Sometimes infrastructure destruction fails on AWS due to a deadlock | ||
# between a security group and a subnet that happens unpredictably. | ||
|
||
# When this happens, the destruction must be taken over manually | ||
# by destroying the security group and the network interface associated with it, | ||
# and finished with `make` recipes `destroy` and `bootstrap-destroy` with the prefix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sure it's very important. But is it the right place?
Motivation
Related to ArmoniK benchmarking automation project, Bench application is the most suited one for testing the ArmoniK's sheer orchestration performance
Description
Use Bench action from Armonik.Action.Deploy to benchmark ArmoniK with Bench application on localhost on each commit on main, and on AWS at each release.
Testing
This workflow was run on every push on the PR's branch.
Impact
This PR implements a milestone for ArmoniK benchmarking capacity, as AK would be benchmarked frequently.
Additional Information
Needs this PR to be merged before being merge
Sometimes infrastructure destruction fails on AWS due to a deadlock between a security group and a subnet that happens unpredictably.
When this happens, the destruction must be taken over manually by destroying the security group and the network interface associated with it, and finished with
make
recipesdestroy
andbootstrap-destroy
with the prefix used by the GitHub workflow (currentlybenchmark
).Checklist