blob: e2f631b905f39fab0a6bd9dea478ef346553d53c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
#!/usr/bin/env bash
# Script for basic diagnostics of a Taler regio deployment.
if [ "$(id -u)" -ne 0 ]; then
echo "FATAL: Please run as root." >&2
exit 1
fi
libeufin_bank_db=$(libeufin-bank config get libeufin-bankdb-postgres config)
libeufin_nexus_db=$(libeufin-nexus config get libeufin-nexusdb-postgres config)
exchange_db=$(taler-config -s exchangedb-postgres -o config)
if [[ $libeufin_nexus_db != $libeufin_bank_db ]]; then
echo "FATAL: libeufin-bank and libeufin-nexus don't share the same database" >&2
exit 1
fi
libeufin_db=$libeufin_bank_db
# runsql db RESNAME < query
function runsql() {
local sql
read -r -d '' sql
res=$(cd / && sudo -u postgres psql "$1" -t --csv -c "$sql")
printf -v "$2" '%s' "$res"
}
#
# Check for conversion trigger
#
runsql "$libeufin_db" have_conversion_triggers <<EOF
select count(*) from information_schema.triggers
where trigger_schema='libeufin_nexus'
and trigger_name='cashin_link';
EOF
echo "have_conversion_triggers" $have_conversion_triggers
#
# Check for transactions
#
runsql "$libeufin_db" num_nexus_incoming_transactions <<EOF
select count(*) from libeufin_nexus.incoming_transactions;
EOF
echo num_nexus_incoming_transactions: $num_nexus_incoming_transactions
runsql "$libeufin_db" num_nexus_talerable_transactions <<EOF
select count(*) from libeufin_nexus.talerable_incoming_transactions;
EOF
echo "num_nexus_talerable_transactions:" $num_nexus_talerable_transactions
runsql "$libeufin_db" num_nexus_bounced_transactions <<EOF
select count(*) from libeufin_nexus.bounced_transactions;
EOF
echo "num_nexus_bounced_transactions:" $num_nexus_bounced_transactions
runsql "$libeufin_db" num_bank_exchange_incoming <<EOF
select count(*) from libeufin_bank.taler_exchange_incoming;
EOF
echo "num_bank_exchange_incoming:" $num_bank_exchange_incoming
runsql "$exchange_db" num_exchange_reserves_in <<EOF
select count(*) from exchange.reserves_in;
EOF
echo num_exchange_reserves_in: $num_exchange_reserves_in
runsql "$exchange_db" num_exchange_reserves <<EOF
select count(*) from exchange.reserves;
EOF
echo num_exchange_reserves: $num_exchange_reserves
function expect_unit_active() {
systemctl --quiet is-active "$1"
if [[ $? -ne 0 ]]; then
echo "WARNING: expected unit $1 to be active, but it is not active"
fi
}
expect_unit_active taler-exchange-httpd.service
expect_unit_active bla.service
|