[DRBD-user] Error with numeric hostnames

jeffrey.bailey at bt.com jeffrey.bailey at bt.com
Wed Nov 11 22:01:51 CET 2015

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Hi all...

We're using DRBD with heartbeat and we're seeing an error if we configure a host with an all-numeric hostname.

---------------------------------
Starting DRBD resources:
//etc/drbd.conf:37: Parse error: 'TK_STRING | '('' expected.
	but got '123456' (TK 281)
---------------------------------

Line 37 of the drbd.conf file is the "on <host> {" line.  In this case, the hostname being used is "123456".

We're using version 8.9.3.
---------------------------------
root at host: ~ #drbdadm -V
DRBDADM_BUILDTAG=GIT-hash:\ b06f4b40acc56206f411612cc4df56f4c511756c\ build\ by\ root at sapphiredev2\,\ 2015-07-14\ 10:49:23
DRBDADM_API_VERSION=1
DRBD_KERNEL_VERSION_CODE=0x080405
DRBDADM_VERSION_CODE=0x080903
DRBDADM_VERSION=8.9.3
root at host: ~ #
---------------------------------

Looking at some of the code, if drbdadm_parser.c, the parse_hosts() function gets the token, and throws up the error that we're seeing if that token isn't a TK_STRING or the delimiter (in this case "{").  So, an "all-numeric" must not be tokenizing as a TK_STRING.

This seems like a bug to me, but I haven't found reference to anyone else having the problem, so I thought I'd see if there's a solution that I'm missing.  Seems to me that the parse_hosts() function should accept TK_STING or TK_INTEGER.

If it *is* a bug, is there a bug tracker?  I haven't found any reference to one.

Thanks for any info or thoughts.

Jeff



More information about the drbd-user mailing list