hacount is optional. If heketi isn't provided one, it adds all the nodes in the cluster as a host. However, if ha count is provided, heketi chooses hosts==hacount. The problem in heketi today is that the selection of hosts is always a for loop over the same list, hence we lose out on distributing the targets across the cluster.
From heketi code, gluster-block create %v/%v ha %v auth %v prealloc full %v %vGiB --json So, heketi sends only as many hosts as in ha count. Is it possible that gluster-block creates target on 4th node as it belongs to the same trusted storage pool?
This is a bug in heketi and I have a patch ready. Providing acks.
Patch posted at https://github.com/heketi/heketi/pull/1256
Fixed in version : rhgs-volmanager-rhel7:3.3.1-20
Updated doc text in the Doc Text field. Please review for technical accuracy.
Thankyou John I have updated the doc text based on the feed back.
Doc Text looks OK
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2018:2686