openvstorage/alba

Claim-osd should handle multiple IPs

Closed this issue · 3 comments

Problem description

We have seen a case where the same private IP for kvm was present on multiple nodes. These nodes had multiple ips (node1: 10.100.0.1, 192.168.22.1, node2 : 10.100.0.2, 192.168.22.1)
Adding osds proved no issue for alba, claiming did however

The prerequisite is already having claimed an osd for the other node (say you claimed it on node1, the issue would occur for node 2)
When claiming the osd, alba will lookup in the list of available osds and take the first ip. If it is the IP that is present on both nodes (192.168.22.1), it will lookup that node (which is node1 in the current example) and compare its list of osds, which do not contain the osd to claim from node2 and thus raise an badLongId error

The ideal scenario would be that alba would iterate over all ips until one succeeds

When fixing this, it might be worthwhile to also have a look at #748 ?

So, if I understand correctly.

  • on machine A, ASD A0 was added with socket addresses x and a0
  • on machine B, ASD B0 was added with socket addresses x and b0

now connecting to x gets you to A0 or B0 but it depends on the location of the client that connects.
Connecting to B0 from machine A is not possible if x is tried before b0.

@wimpers : I think we can assume this is a configuration error (or sabotage), and close it.

Closed by PM based on the comment above. If you would disagree, re-open or let me know.