Describe the bug
The --mount option does not work correctly when the command is executed from a BeeGFS client node that is not hosting the management service.
In our environment, we have three independent BeeGFS file systems, each with its own management daemon running on a dedicated server.
[root@admin1 beegfs]# grep -i grpc-port /etc/beegfs/*/*
/etc/beegfs/dpnc.d/beegfs-mgmtd.toml:grpc-port = 8410
/etc/beegfs/home.d/beegfs-mgmtd.toml:grpc-port = 8010
/etc/beegfs/scratch.d/beegfs-mgmtd.toml:grpc-port = 8210
The grpc-port parameter is only defined in the management daemon configuration (beegfs-mgmtd.toml) and is not available in the client configuration.
The same command works as expected on the management host:
[root@admin1 beegfs]# beegfs --mount=/home --tls-disable quota list-limits --pool=Default --uids=498811
NAME ID TYPE POOL SPACE INODE
toto 498811 user Default 1.82TiB -
However, running the exact same command on another BeeGFS client fails:
[root@login1 ~]# beegfs --mount=/home --tls-disable quota list-limits --pool=Default --uids=498811
Error: unable to auto-configure the management address: multiple client mount points with different sysMgmtdHost:connMgmtdGrpcPort configurations were found, manually specify --mgmtd-addr for the file system to manage
Copying the corresponding beegfs-mgmtd.toml file to the client node does not resolve the issue.
Expected behavior
When --mount is specified, BeeGFS should use the selected mount point to determine which file system to manage, without requiring --mgmtd-addr <host>:<port>, regardless of the node from which the command is executed.
Having to specify the management address manually is cumbersome for daily administration and makes scripts less portable and less generic than using a mountpoint or configuration-based selection.
This also appears to be a regression compared to BeeGFS v7, where it was possible to explicitly select the desired file system using both --cfgfile and --mount, for example:
beegfs-ctl --cfgfile=/etc/beegfs/home.d/beegfs-client.conf --getquota --uid=toto --connAuthFile=/etc/beegfs/connauthfile
From a user perspective, if --mount=/home is provided, BeeGFS already has enough information to identify the target filesystem and should not require an additional --mgmtd-addr argument.
Environment
- BeeGFS v8
- Multiple independent BeeGFS file systems mounted on the same client node
- One management daemon per file system
- Quota commands tested from both management and client nodes
Describe the bug
The
--mountoption does not work correctly when the command is executed from a BeeGFS client node that is not hosting the management service.In our environment, we have three independent BeeGFS file systems, each with its own management daemon running on a dedicated server.
[root@admin1 beegfs]# grep -i grpc-port /etc/beegfs/*/* /etc/beegfs/dpnc.d/beegfs-mgmtd.toml:grpc-port = 8410 /etc/beegfs/home.d/beegfs-mgmtd.toml:grpc-port = 8010 /etc/beegfs/scratch.d/beegfs-mgmtd.toml:grpc-port = 8210The
grpc-portparameter is only defined in the management daemon configuration (beegfs-mgmtd.toml) and is not available in the client configuration.The same command works as expected on the management host:
[root@admin1 beegfs]# beegfs --mount=/home --tls-disable quota list-limits --pool=Default --uids=498811 NAME ID TYPE POOL SPACE INODE toto 498811 user Default 1.82TiB -However, running the exact same command on another BeeGFS client fails:
Copying the corresponding
beegfs-mgmtd.tomlfile to the client node does not resolve the issue.Expected behavior
When
--mountis specified, BeeGFS should use the selected mount point to determine which file system to manage, without requiring--mgmtd-addr <host>:<port>, regardless of the node from which the command is executed.Having to specify the management address manually is cumbersome for daily administration and makes scripts less portable and less generic than using a mountpoint or configuration-based selection.
This also appears to be a regression compared to BeeGFS v7, where it was possible to explicitly select the desired file system using both
--cfgfileand--mount, for example:From a user perspective, if
--mount=/homeis provided, BeeGFS already has enough information to identify the target filesystem and should not require an additional--mgmtd-addrargument.Environment