Description of problem: Only data bricks are created in arbiter:supported node. none of the arbiter brick is created in arbiter:supported node. It should create randomly, both data and arbiter brick can go in arbiter:supported node. Version-Release number of selected component (if applicable): 6.0.0.11 Actual results: Only data bricks are created in arbiter:support node. Expected results: It should create randomly both data and arbiter brick in arbiter:supported node.
This is scenario where it is failing N1-d N2-d N3-r N4-s #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb N stands for node # stands for device d stands for arbiter disabled r stands for arbiter required s stands for arbiter supported Steps to reproduce: 1. Give disabled tags to first node and second node # heketi-cli node settags node_id arbiter:disabled 2. Give required tag to third node # heketi-cli node settags node_id arbiter:required 3. Give supported tag to fourth node # heketi-cli node settags node_id arbiter:supported 4. Create volumes # heketi-cli volume create --size=1 --gluster-volume-options='user.heketi.arbiter true' 5. Create 10 vols minimum you will see that only data bricks are created in supported node
This is a second scenario where it is failing N1-d N2-d N3-r N4 #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb #100gb N stands for node # stands for device d stands for arbiter disabled r stands for arbiter required Steps to reproduce: 1. Give disabled tags to first node and second node # heketi-cli node settags node_id arbiter:disabled 2. Give required tag to third node # heketi-cli node settags node_id arbiter:required 3. Create volumes # heketi-cli volume create --size=1 --gluster-volume-options='user.heketi.arbiter true' 4. Create 10 vols minimum you will see that only data bricks are created in fourth node where there is no tag.
Try creating more than one node with arbiter:supported. I think what's happening is that the data bricks are more likely to land on N4 (there's two of them per brick set). Once the algorithm has determined that a device on Node X is suitable no other bricks in that brick set should be placed on the node hosting that device (barring any bugs).
To clarify, I'm suggesting adding N5 and N6, etc not suggesting you change the configuration of N1 thru 3.
This a very special setup and a purely heuristic statement. We don't give guarantees that a node will be used for arbiter bricks if it has arbiter:supported (unless it is the only node with arbiter:supported or arbiter:required). The procedures are random. And probably the spread is not yet as good as it could be, but by design, the only guarantees we give are: 1. If a node has arbiter:disabled, it will NOT get arbiter bricks 2. If a node has arbiter:required, it will ONLY get arbiter bricks. (and correspondingly for devices). Closing this as notabug. Please re-open if we missed something. (If you want to continue experimenting, please wait for the next build, and also try changing the setup as John suggested.)