Skip to content

CLI --mount auto-configuration fails on multi-filesystem clients despite explicit mount point #130

Description

@garadar

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions