Description
Right now, there seem to be no way to check LeoFS version that some node runs on. This is needed to ensure that every node was indeed updated and is running latest version - since during node-by-node upgrade on running system nothing prevents you to run different version on different nodes, it is possible to overlook upgrade of some node (missing a number, or maybe some node was offline during upgrade and so on) and forget to upgrade it.
Example, with LeoFS 1.3.2.1:
[root@leo-m0 1.3.2.1]# rpm -q leofs
leofs-1.3.2.1-1.x86_64
[root@leo-m0 1.3.2.1]# grep system_version leo_manager_0/etc/app.config
{system_version,"1.3.2"},
[root@leo-m0 1.3.2.1]# ./leofs-adm status |grep 'version'
system version | 1.3.2
(note that this shows another problem: there is no way to differentiate between 1.3.2 and 1.3.2.1. I understand that it was a rushed bugfix release, still, it would be nice if release version was synchronized with system_version in repo. But this is another matter)
Gateway and storage nodes:
[root@leo-m0 1.3.2.1]# ./leofs-adm status gateway_0@192.168.3.52|grep 'version'
version | 1.3.1
vm version | 7.3.1.2
[root@leo-m0 1.3.2.1]# ./leofs-adm status storage_0@192.168.3.53|grep 'version'
version | 1.3.1
vm version | 7.3.1.2
[root@leo-g0 1.3.2.1]# grep system_version leo_gateway/etc/app.config
{system_version,"1.3.2"},
[root@leo-s0 1.3.2.1]# grep system_version leo_storage/etc/app.config
{system_version,"1.3.2"},
They are running the same 1.3.2.1, but show "version" as 1.3.1. As I understand, it's something internal and different from system_version parameter. I'm not sure if it's needed for something, but showing "system version" just like management nodes do in addition to just "version" (or maybe replacing it) is needed to check the real version of gateway/storage nodes.
(there is also "leofs-adm version" command which isn't that useful right now because it shows only management node version - which is available from "status" command anyway - and can't show version of remote nodes. Would be totally great if it could show version of all nodes directly instead, akin to "leofs-adm status" command which shows node list and information)
Activity