mirror of
https://github.com/getsentry/self-hosted.git
synced 2025-12-08 19:46:14 +00:00
* fix(profiling): Ingest profile file path `ingest-profiles` is now using vroomrs to ingest profiles instead of writing through vroom. For self-hosted, we need to make sure filestore for profiles is properly configured so vroom can find the ingested profiles. * feat: move profiling data to seaweedfs * feat: review from Sentry * Apply suggestions from code review Co-authored-by: Burak Yigit Kaya <byk@sentry.io> * ref: volume migration tests * ref: execute file creation from vroom container * fix: brainfart * debug * hack * more debug * now I know what I'm missing out * explicitly state feature complete * try to pull vroom image * should only run when COMPOSE_PROFILES is feature complete * using run invoked weed instead of empty shell * execute the upload script from vroom container * execute apt command as root * gonna sleep * missing endgroup * missing sh * directly execute s3cmd and do 'wc' outside out the container * why did other test start failing * manual cleanup * vroom is not a persistent volume * what about not removing the seaweed volume --------- Co-authored-by: Reinaldy Rafli <github@reinaldyrafli.com> Co-authored-by: Burak Yigit Kaya <byk@sentry.io>
38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
source _unit-test/_test_setup.sh
|
|
source install/dc-detect-version.sh
|
|
source install/create-docker-volumes.sh
|
|
source install/ensure-files-from-examples.sh
|
|
export COMPOSE_PROFILES="feature-complete"
|
|
$dc pull vroom
|
|
source install/ensure-correct-permissions-profiles-dir.sh
|
|
|
|
# Generate some random files on `sentry-vroom` volume for testing
|
|
$dc run --rm --no-deps -v sentry-vroom:/var/vroom/sentry-profiles --entrypoint /bin/bash vroom -c '
|
|
for i in $(seq 1 1000); do
|
|
echo This is test file $i > /var/vroom/sentry-profiles/test_file_$i.txt
|
|
done
|
|
'
|
|
|
|
# Set the flag to apply automatic updates
|
|
export APPLY_AUTOMATIC_CONFIG_UPDATES=1
|
|
|
|
# Here we're just gonna test to run it multiple times
|
|
# Only to make sure it doesn't break
|
|
for i in $(seq 1 5); do
|
|
source install/bootstrap-s3-profiles.sh
|
|
done
|
|
|
|
# Ensure that the files have been migrated to SeaweedFS
|
|
migrated_files_count=$($dc exec seaweedfs s3cmd --access_key=sentry --secret_key=sentry --no-ssl --region=us-east-1 --host=seaweedfs:8333 --host-bucket="seaweedfs:8333/%(bucket)" ls s3://profiles/ | wc -l)
|
|
if [[ "$migrated_files_count" -ne 1000 ]]; then
|
|
echo "Error: Expected 1000 migrated files, but found $migrated_files_count"
|
|
exit 1
|
|
fi
|
|
|
|
# Manual cleanup, otherwise `create-docker-volumes.sh` will fail
|
|
$dc down -v --remove-orphans
|
|
|
|
report_success
|