-
Notifications
You must be signed in to change notification settings - Fork 42
Release 2506
distribution
#2207
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
Upgrade VM in place processPrepare the upgradeConnect to the VM: export VM=aggregator.release-preprod.api.mithril.network
ssh curry@$VM Once connected, create a temp directory: export TMP_DIR=/home/curry/tmp
mkdir -p $TMP_DIR Make a clean stop of the Cardano nodes: docker ps --format '{{.Names}}' | grep cardano > $TMP_DIR/docker-ps-cardano.txt
cat $TMP_DIR/docker-ps-cardano.txt | xargs -I '{}' docker stop '{}' Disocnnect from the VM: exit Make a manual snapshot of the data disk in GCP: export SNAPSHOT_ID=mithril-release-preprod-...
export SOURCE_DISK=mithril-release-preprod-data
gcloud compute snapshots create $SNAPSHOT_ID --source-disk $SOURCE_DISK --snapshot-type STANDARD --source-disk-zone europe-west1-b Run the terraform deployment to upgrade the VMRun the deployment with the correct GitHub actions workflow that will upgrade the VM in place. Check that the data disk is properly mountedOnce the VM has been modified in place, check that all the data disk is properly mounted: lsblk | grep sdb | grep "/home/curry/data" Case 1: the disk is properly mountedIf the previous command returns an entry, the data disk is mounted to the data folder and there is nothing more to do. Case 2: the disk is not properly mountedOtherwise, the data disk must be mounted. First, stop all the remaining containers: docker stop reverse-proxy
docker ps --format '{{.Names}}' > $TMP_DIR/docker-ps-all.txt
cat $TMP_DIR/docker-ps-all.txt | xargs -I '{}' docker stop '{}' Then mount the data disk to the data folder: sudo mount -o discard,defaults /dev/sdb /home/curry/data/ And make sure that the disk is now correctly mounted: lsblk | grep sdb | grep "/home/curry/data" Then restart all the containers: cat $TMP_DIR/docker-ps-cardano.txt | xargs -I '{}' docker start '{}'
cat $TMP_DIR/docker-ps-all.txt | xargs -I '{}' docker start '{}'
docker start reverse-proxy CleanupDelete the temporary folder: rm -rf $TMP_DIR |
Cardano transactions prover benchmarkNote run on GCP with
vs previous results
# Aggregator endpoint
export AGGREGATOR_ENDPOINT=https://aggregator.pre-release-preview.api.mithril.network/aggregator
# Transactions file to prove
export TRANSACTIONS_FILE=transactions-preview.txt
# Transactions proved per request range definition
export TRANSACTIONS_PER_REQUEST_MIN=0
export TRANSACTIONS_PER_REQUEST_MAX=50
export TRANSACTIONS_PER_REQUEST_STEP=10
# Apache benchmark total request sent per benchmark
export AB_TOTAL_REQUESTS=500
# Apache benchmark concurrency level range definition
export AB_CONCURRENCY_MIN=50
export AB_CONCURRENCY_MAX=50
export AB_CONCURRENCY_STEP=50
# Run the benchmark:
./benchmark-aggregator-prover.sh
MITHRIL AGGREGATOR PROVER ROUTE BENCHMARK
>> Aggregator endpoint: https://aggregator.pre-release-preview.api.mithril.network/aggregator
>> Aggregator route: /proof/cardano-transaction
>> Transactions file: transactions-preview.txt
>> Transactions available: [100]
>> Transactions per request range: [0 10 20 30 40 50]
>> AB concurrency range: [50]
>> AB total requests per run: [500]
>> AB total runs: 6
>> Output file: benchmark.csv
>> [#1/6] Running stress test with 500 requests with 1 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (78.32 requests/s)
>> [#2/6] Running stress test with 500 requests with 10 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (53.51 requests/s)
>> [#3/6] Running stress test with 500 requests with 20 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (40.93 requests/s)
>> [#4/6] Running stress test with 500 requests with 30 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (35.99 requests/s)
>> [#5/6] Running stress test with 500 requests with 40 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (23.20 requests/s)
>> [#6/6] Running stress test with 500 requests with 50 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (9.94 requests/s)
>> Benchmark completed:
total_requests,concurrency,transactions/request,requests/s
500,50,1,78.32
500,50,10,53.51
500,50,20,40.93
500,50,30,35.99
500,50,40,23.20
500,50,50,9.94 |
Why
In order to deploy new features, improvements and bug fixes, we need to release a new distribution.
What
Create and release a new distribution
2506
Important
ubuntu-20
builders in CI #2216release-preprod
VM frome2-highmem-2
toe2-highmem-4
10.1.4
pre-release-preview
release-preprod
release-mainnet
pre-release-preview
release-preprod
release-mainnet
pre-release-preview
release-preprod
release-mainnet
Distribution +1:
Note
How
Phase 1: Prepare distribution
unstable
distributioncrates.io
(mithril-common
,mithril-client
)networks.json
must be updated following the runbookCHANGELOG.md
(set the distribution version)Phase 2: Rollout pre-release distribution
2506.0-pre
pre-release distribution on thepre-release-preview
networkpre-release-preview
with processpre-release-preview
is working as expectedpre-release-preview
next
have been published on npm registryAnnounce any breaking change in:#cardano-scaling slack channel for pre-release#mithril-lace slack channel for pre-release#blockfrost-scaling slack channel for pre-releaseCardano Foundation IBC bridge team3
signers running the new version (could be more if era change is tested) over at least2
epochsPhase 3: Rollout release distribution
2506.0
release distribution on thepre-release-preview
networkpre-release-preview
is working as expectedrelease-preprod
as the VM will be updated with process2506.0
release-mainnet
with processrelease-mainnet
is working as expectedrelease-preprod
has been updated properly with processrelease-preprod
with processrelease-preprod
is working as expectedrelease-preprod
if neededlatest
have been published on npm registryrelease-mainnet
release-preprod
CHANGELOG.md
(updating the release date of the distribution)Announce any breaking/new feature change in:#cardano-scaling slack channel for release#mithril-lace slack channel for release#blockfrost-scaling slack channel for releaseCardano Foundation IBC bridge teamUpdate Hydra tutorial if client breaking change for database restorationmithril-client
in CI and Pre-release workflows2506
pre-release-preview
release-preprod
The text was updated successfully, but these errors were encountered: