we are still having problems with various quotas being out of sync with reality - users having negative number of running VMs, users with no VM running but non-zero “running memory”, etc. So I need to run
onedb fsck occasionally. Today, it refused to start:
# onedb fsck Version mismatch: fsck file is for version Shared: 6.6.0, Local: 6.6.0 Current database is version Shared: , Local:
The error message was not very helpful. But OpenNebula 6.6.0 has been running correctly, so database version should be correct. After trying many things, I tried to run also various other
onedb show-body vm --id 1234 displayed a correct XML data of that VM. But then
onedb history failed with somewhat meaningful error message:
# onedb history Error connecting to DB: Mysql2::Error: Unsupported charset: '"utf8mb3"'
After re-reading the
onedb manual page, I guessed that I could try
onedb fsck --charset utf8, as I didn’t know what
utf8mb3 means :-). And indeed it worked.
So, why do OpenNebula daemons and some
onedb subcommands work, but
onedb history connects with the wrong charset, and
onedb fsck fails even without a meaningful error message?
Also, does anybody else see miscalculated resource usage for various quotas? I have been seeing it for many ONe versions back.