From dcc0e81335a4560df806654c356d77fd9cfb6a5c Mon Sep 17 00:00:00 2001 From: LowEntropyBody Date: Mon, 1 Feb 2021 11:53:14 +0800 Subject: [PATCH] Set SRD ratio tools (#121) * set srd ratio * fix error * fix error --- scripts/crust.sh | 39 ++++++++++++++++++++++++++++++++++++++- scripts/utils.sh | 2 +- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/scripts/crust.sh b/scripts/crust.sh index a83b69f..814c437 100755 --- a/scripts/crust.sh +++ b/scripts/crust.sh @@ -764,7 +764,8 @@ Crust tools usage: workload show workload information file-info {cid} show all files information or one file details upgrade-image {chain|api|smanager|ipfs|c-gen|sworker} upgrade one docker image - change-srd {number} change sworker's srd capacity(GB), for example: 'crust tools change-srd 100', 'crust tools change-srd -50' + set-srd-ratio {ratio} set SRD raito, default is 70%, range is 0% - 95%, for example 'set-srd-ratio 75' + change-srd {number} change sworker's srd capacity(GB), for example: 'change-srd 100', 'change-srd -50' ipfs {...} ipfs command, for example 'ipfs pin ls', 'ipfs swarm peers' EOF } @@ -839,6 +840,39 @@ change_srd() curl -XPOST ''$base_url'/srd/change' -H 'backup: '$backup'' --data-raw '{"change" : '$1'}' } +set_srd_ratio() +{ + if [ x"$1" == x"" ] || [[ ! $1 =~ ^[1-9][0-9]*$|^[-][1-9][0-9]*$|^0$ ]]; then + log_err "The input of set srd ratio must be integer number" + tools_help + return 1 + fi + + if [ $1 -lt 0 ] || [ $1 -gt 95 ]; then + log_err "The range of set srd ratio is 0 ~ 95" + tools_help + return 1 + fi + + local a_or_b=`cat $basedir/etc/sWorker.ab` + check_docker_status crust-sworker-$a_or_b + if [ $? -ne 0 ]; then + log_info "Service crust sworker is not started or exited now" + return 0 + fi + + if [ ! -f "$builddir/sworker/sworker_config.json" ]; then + log_err "No sworker configuration file" + return 1 + fi + + local base_url=`cat $builddir/sworker/sworker_config.json | jq .base_url` + base_url=${base_url%?} + base_url=${base_url:1} + + curl -XPOST ''$base_url'/srd/ratio' -H 'backup: '$backup'' --data-raw '{"ratio" : '$1'}' +} + workload() { local a_or_b=`cat $basedir/etc/sWorker.ab` @@ -931,6 +965,9 @@ tools() change-srd) change_srd $2 ;; + set-srd-ratio) + set_srd_ratio $2 + ;; rotate-keys) rotate_keys ;; diff --git a/scripts/utils.sh b/scripts/utils.sh index 04a4bcd..c0743f6 100755 --- a/scripts/utils.sh +++ b/scripts/utils.sh @@ -17,7 +17,7 @@ function log_success() function log_err() { - echo_c 35 "$1" + echo_c 35 "ERROR: $1" } function upgrade_docker_image()