Fog 1.6.0.14 Master Storage Node not handing off to Slave Storage Nodes
-
At one of my slave locations I just imaged a 32 PC lab and they all pulled from the Master Storage Node. I have two other Storage Nodes in the group but neither of them got any tasks. Everything stayed with the Master Storage Node. Once the Que was full they just waited in line rather than get the image from one of the other two nodes that had no clients. I even tried coping the Plugin folder to the nodes but that didn’t change anything.
Fog 1.6.0.14
Ubuntu 26.04.1 -
@FlareImp Thank you. This is a bug in 1.6, and it explains what you see.
What happens: FOG picks a storage node for each host when you create the task. It should pick the node with the lowest load. In 1.6 the load value was always empty, so every task went to the first node in the group, which is your master. A host also stays on the node it got at task creation. When that node is full, the host waits in line there, even when another node in the group is idle.
The fix: https://github.com/FOGProject/fogproject/pull/2082. It does two things:
- Task creation picks the least-loaded node in the group.
- At boot, a host whose node is full moves to the node in its group with the most free slots. A capture never moves, because it must upload to the master.
It goes to dev-branch first, and reaches stable in the next stable release.
Check your location settings first. Copying the plugin folder does not change this, but your location can. If the location for those hosts has a Storage Node set, every host in that location goes to that one node. That is by design, and the fix does not change it. To spread the hosts across the group, open the location, clear the Storage Node, and keep the Storage Group set.
-
@FlareImp One correction to my last post. With the fix, a location’s Storage Node is where its hosts start, not a hard limit. When that node is full, a waiting host moves to a free node in the location’s own storage group. It never leaves that group, so the image still comes from your site. You can leave the location’s Storage Node set.
-
@Tom-Elliott Okay, thank you for the information.