mirror of
https://github.com/logos-storage/logos-storage-local-harness.git
synced 2026-01-02 13:33:11 +00:00
feat: add option to generate metrics CLI switches
This commit is contained in:
parent
80bfae47b3
commit
c39609bfde
@ -13,23 +13,47 @@ _cdx_binary="${CLH_CODEX_BINARY:-codex}"
|
||||
|
||||
_cdx_base_api_port=8080
|
||||
_cdx_base_disc_port=8190
|
||||
_cdx_base_metrics_port=8290
|
||||
|
||||
cdx_cmdline() {
|
||||
local api_port\
|
||||
disc_port\
|
||||
node_index="$1"\
|
||||
cdx_cmd="${_cdx_binary} --nat:none"\
|
||||
spr="$2"
|
||||
metrics_port\
|
||||
spr\
|
||||
node_index\
|
||||
cdx_cmd="${_cdx_binary} --nat:none"
|
||||
|
||||
node_index="$1"
|
||||
shift
|
||||
|
||||
api_port=$((_cdx_base_api_port + node_index))
|
||||
disc_port=$((_cdx_base_disc_port + node_index))
|
||||
metrics_port=$((_cdx_base_metrics_port + node_index))
|
||||
|
||||
while [[ "$#" -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--bootstrap-node)
|
||||
shift
|
||||
spr="$1"
|
||||
cdx_cmd="${cdx_cmd} --bootstrap-node=$spr"
|
||||
;;
|
||||
--metrics)
|
||||
cdx_cmd="${cdx_cmd} --metrics --metrics-port=${metrics_port} --metrics-address=0.0.0.0"
|
||||
;;
|
||||
*)
|
||||
echoerr "Error: unknown option $1"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ "$node_index" -gt 0 && -z "$spr" ]]; then
|
||||
echoerr "Error: SPR is required for node $node_index"
|
||||
return 1
|
||||
fi
|
||||
|
||||
api_port=$((_cdx_base_api_port + node_index))
|
||||
disc_port=$((_cdx_base_disc_port + node_index))
|
||||
|
||||
echo "${cdx_cmd}"\
|
||||
" --log-file=${_cdx_output}/logs/codex-${node_index}.log --data-dir=${_cdx_output}/data/codex-${node_index}"\
|
||||
" --log-file=${_cdx_logs}/codex-${node_index}.log --data-dir=${_cdx_data}/codex-${node_index}"\
|
||||
" --api-port=${api_port} --disc-port=${disc_port} --loglevel=INFO"
|
||||
}
|
||||
|
||||
@ -15,13 +15,21 @@ setup() {
|
||||
}
|
||||
|
||||
@test "should generate the correct Codex command line for node 1" {
|
||||
assert_equal "$(cdx_cmdline 1 'node-spr')" "codex --nat:none"\
|
||||
" --log-file=${_cdx_output}/logs/codex-1.log"\
|
||||
assert_equal "$(cdx_cmdline 1 '--bootstrap-node' 'node-spr')" "codex --nat:none"\
|
||||
" --bootstrap-node=node-spr --log-file=${_cdx_output}/logs/codex-1.log"\
|
||||
" --data-dir=${_cdx_output}/data/codex-1"\
|
||||
" --api-port=8081 --disc-port=8191 --loglevel=INFO"
|
||||
}
|
||||
|
||||
@test "should refuse to generate the command line for node > 0 if no SPR is provided" {
|
||||
assert cdx_cmdline 1 "spr"
|
||||
assert cdx_cmdline 1 "--bootstrap-node" "spr"
|
||||
refute cdx_cmdline 1
|
||||
}
|
||||
|
||||
@test "should generate metrics options when metrics enabled for node" {
|
||||
assert_equal "$(cdx_cmdline 0 --metrics)" "codex --nat:none"\
|
||||
" --metrics --metrics-port=8290 --metrics-address=0.0.0.0"\
|
||||
" --log-file=${_cdx_output}/logs/codex-0.log"\
|
||||
" --data-dir=${_cdx_output}/data/codex-0"\
|
||||
" --api-port=8080 --disc-port=8190 --loglevel=INFO"
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user