-
Type: Story
-
Status: Resolved (View Workflow)
-
Priority: Medium
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: VOLTHA v2.9
-
Component/s: helm-charts
-
Labels:
-
Story Points:3
Voltha stack pods (ofagent, rw-core, openonu and openolt adapters) belonging to the same voltha stack should be scheduled on the same k8s node due to the following reasons:
Stack pods are not replicated so the failure of each of them will make the whole voltha stack non-functional.
Considering failure of at least one node in the cluster we might have following failure scenarios:
- if voltha stack pods are scheduled on the same node and this node fails, voltha stack fails too, but if it's scheduled on a different pod, cluster will still remain functional (assuming that other components are replicated on all nodes)
- if voltha stack pods are scheduled on different nodes randomly, the probability of the stack failure is also random but definitely higher than in the previous case
The second reason for this change is that the inter-pod communication inside a voltha stack will be much performant on the same node rather than if the pods are distributed randomly on nodes.
This will become even more valuable when the protocol for the inter-pod communication will be GRPC rather than kafka, which is also planned for future voltha releases.
As an additional optimisation we could use Unix sockets for inter pod communication