aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-06-05 15:13:41 +0200
committerChristian Grothoff <christian@grothoff.org>2023-06-05 15:13:41 +0200
commit27f22ef1d229bfc6462a380f11c9dac9b6d77615 (patch)
tree4759ede743a351d837126755e35094043c5cc86c /src
parent8cc1edfe0aa77d3091f19aa87d06bb45c74b0128 (diff)
downloadexchange-27f22ef1d229bfc6462a380f11c9dac9b6d77615.tar.xz
more fixes for taler-benchmark-setup
Diffstat (limited to 'src')
-rw-r--r--src/benchmark/benchmark-common.conf15
-rwxr-xr-xsrc/benchmark/taler-benchmark-setup.sh57
2 files changed, 46 insertions, 26 deletions
diff --git a/src/benchmark/benchmark-common.conf b/src/benchmark/benchmark-common.conf
index 1cd28d622..4b1a0477d 100644
--- a/src/benchmark/benchmark-common.conf
+++ b/src/benchmark/benchmark-common.conf
@@ -26,9 +26,24 @@ LOOKAHEAD_SIGN="1 d"
DURATION="2 d"
LOOKAHEAD_SIGN="1 d"
+# Trust local exchange for "EUR" currency
+[merchant-exchange-benchmark]
+EXCHANGE_BASE_URL = http://localhost:8081/
+MASTER_KEY=98NJW3CQHZQGQXTY3K85K531XKPAPAVV4Q5V8PYYRR00NJGZWNVG
+# If currency does not match [TALER] section, the exchange
+# will be ignored!
+CURRENCY = EUR
+
+
[exchangedb-postgres]
CONFIG="postgres:///talercheck"
+[merchantdb-postgres]
+CONFIG="postgres:///talercheck"
+
+[auditordb-postgres]
+CONFIG="postgres:///talercheck"
+
[exchange-offline]
MASTER_PRIV_FILE=${TALER_DATA_HOME}/exchange/offline-keys/master.priv
diff --git a/src/benchmark/taler-benchmark-setup.sh b/src/benchmark/taler-benchmark-setup.sh
index 52e0e08bc..e25444e08 100755
--- a/src/benchmark/taler-benchmark-setup.sh
+++ b/src/benchmark/taler-benchmark-setup.sh
@@ -55,7 +55,7 @@ CONF_ORIG="~/.config/taler.conf"
LOGLEVEL="DEBUG"
# Parse command-line options
-while getopts ':abc:efhl:ms' OPTION; do
+while getopts ':abc:efhl:mns' OPTION; do
case "$OPTION" in
a)
START_AUDITOR="1"
@@ -248,27 +248,23 @@ then
echo $! > libeufin-nexus.pid
export LIBEUFIN_NEXUS_URL="http://localhost:$NEXUS_PORT"
echo -n "Waiting for Nexus ..."
- set +e
OK="0"
for n in $(seq 1 100); do
echo -n "."
sleep 0.2
- if wget --timeout=1 \
- --tries=3 \
- --waitretry=0 \
- -o /dev/null \
- -O /dev/null \
- "$LIBEUFIN_NEXUS_URL";
- then
- OK="1"
- break
- fi
+ wget --timeout=1 \
+ --tries=3 \
+ --waitretry=0 \
+ -o /dev/null \
+ -O /dev/null \
+ "$LIBEUFIN_NEXUS_URL" || continue
+ OK="1"
+ break
done
if [ "1" != "$OK" ]
then
exit_skip "Failed to launch services (bank)"
fi
- set -e
echo " OK"
export LIBEUFIN_NEXUS_USERNAME=exchange
@@ -343,7 +339,7 @@ then
if [ "$MPUB" != "$MASTER_PUB" ]
then
echo -n " patching master_pub ($MASTER_PUB)..."
- taler-config -c $CONF -s exchange -o MASTER_PUBLIC_KEY -V "$MASTER_PUB"
+ taler-config -c "$CONF" -s exchange -o MASTER_PUBLIC_KEY -V "$MASTER_PUB"
fi
taler-exchange-dbinit -c "$CONF"
taler-exchange-secmod-eddsa -c "$CONF" -L "$LOGLEVEL" 2> taler-exchange-secmod-eddsa.log &
@@ -359,6 +355,13 @@ fi
if [ "1" = "$START_MERCHANT" ]
then
echo -n "Starting merchant ..."
+ MEPUB=$(taler-config -c "$CONF" -s merchant-exchange-benchmark -o MASTER_KEY)
+ MXPUB=${MASTER_PUB:-$(taler-config -c "$CONF" -s exchange -o MASTER_PUBLIC_KEY)}
+ if [ "$MEPUB" != "$MXPUB" ]
+ then
+ echo -n " patching master_pub ($MXPUB)..."
+ taler-config -c "$CONF" -s merchant-exchange-benchmark -o MASTER_KEY -V "$MXPUB"
+ fi
MERCHANT_PORT=$(taler-config -c "$CONF" -s MERCHANT -o PORT)
MERCHANT_URL="http://localhost:${MERCHANT_PORT}/"
taler-merchant-dbinit -c "$CONF"
@@ -376,8 +379,9 @@ then
mkdir -p "$AUDITOR_PRIV_DIR"
gnunet-ecc -g1 "$AUDITOR_PRIV_FILE" > /dev/null 2> /dev/null
AUDITOR_PUB=$(gnunet-ecc -p "${AUDITOR_PRIV_FILE}")
+ MAPUB=${MASTER_PUB:-$(taler-config -c "$CONF" -s exchange -o MASTER_PUBLIC_KEY)}
taler-auditor-dbinit -c "$CONF"
- taler-auditor-exchange -c "$CONF" -m "$MASTER_PUB" -u "$EXCHANGE_URL"
+ taler-auditor-exchange -c "$CONF" -m "$MAPUB" -u "$EXCHANGE_URL"
taler-auditor-httpd -L "$LOGLEVEL" -c "$CONF" 2> taler-auditor-httpd.log &
echo " DONE"
fi
@@ -415,7 +419,7 @@ echo -n "Waiting for Taler services ..."
for n in $(seq 1 20)
do
echo -n "."
- sleep 0.1
+ sleep 0.2
OK="0"
if [ "1" = "$START_EXCHANGE" ]
then
@@ -455,7 +459,6 @@ echo " OK"
if [ "1" = "$START_EXCHANGE" ]
then
- set +e
echo -n "Wait for exchange /management/keys to be ready "
OK="0"
LAST_RESPONSE=$(mktemp tmp-last-response.XXXXXXXX)
@@ -471,16 +474,13 @@ then
"http://localhost:8081/management/keys"\
-o /dev/null \
-O "$LAST_RESPONSE" \
- >/dev/null
- DENOMS_COUNT=$(jq '.future_denoms|length' < $LAST_RESPONSE)
- SIGNKEYS_COUNT=$(jq '.future_signkeys|length' < $LAST_RESPONSE)
- [[ -z "$SIGNKEYS_COUNT" || "$SIGNKEYS_COUNT" == "0" || -z "$DENOMS_COUNT" || "$DENOMS_COUNT" == "0" ]] && continue
+ >/dev/null || continue
OK="1"
break;
done
- set -e
if [ "1" != "$OK" ]
then
+ cat "$LAST_RESPONSE"
exit_skip "Failed to setup exchange keys, check secmod logs"
fi
rm "$LAST_RESPONSE"
@@ -504,7 +504,7 @@ then
taler-exchange-offline -c "$CONF" \
enable-account "$EXCHANGE_PAYTO_URI" \
upload &> "taler-exchange-offline-account-$ASEC.log"
- echo "OK"
+ echo " OK"
fi
done
if [ "1" = "$START_AUDITOR" ]
@@ -518,29 +518,34 @@ then
echo -n "Checking /keys "
OK="0"
- for n in $(seq 1 3)
+ LAST_RESPONSE=$(mktemp tmp-last-response.XXXXXXXX)
+ for n in $(seq 1 10)
do
echo -n "."
+ sleep 0.1
wget \
--tries=1 \
--timeout=1 \
"http://localhost:8081/keys" \
-o /dev/null \
- -O /dev/null >/dev/null || continue
+ -O "$LAST_RESPONSE" \
+ >/dev/null || continue
OK="1"
break
done
if [ "1" != "$OK" ]
then
+ cat "$LAST_RESPONSE"
exit_skip " Failed to setup keys"
fi
+ rm "$LAST_RESPONSE"
echo " OK"
fi
if [ "1" = "$START_AUDITOR" ]
then
echo -n "Setting up auditor signatures ..."
- taler-auditor-offline -c "$CONF" \
+ timeout 15 taler-auditor-offline -c "$CONF" \
download \
sign \
upload &> taler-auditor-offline.log