Revision ffa1c0dc lib/objects.py
b/lib/objects.py | ||
---|---|---|
412 | 412 |
if self.logical_id is None and self.physical_id is not None: |
413 | 413 |
return |
414 | 414 |
if self.dev_type in constants.LDS_DRBD: |
415 |
pnode, snode, port = self.logical_id |
|
415 |
pnode, snode, port, pminor, sminor = self.logical_id
|
|
416 | 416 |
if target_node not in (pnode, snode): |
417 | 417 |
raise errors.ConfigurationError("DRBD device not knowing node %s" % |
418 | 418 |
target_node) |
... | ... | |
421 | 421 |
if pnode_ip is None or snode_ip is None: |
422 | 422 |
raise errors.ConfigurationError("Can't find primary or secondary node" |
423 | 423 |
" for %s" % str(self)) |
424 |
p_data = (pnode_ip, port) |
|
425 |
s_data = (snode_ip, port) |
|
424 | 426 |
if pnode == target_node: |
425 |
self.physical_id = (pnode_ip, port, |
|
426 |
snode_ip, port) |
|
427 |
self.physical_id = p_data + s_data + (pminor,) |
|
427 | 428 |
else: # it must be secondary, we tested above |
428 |
self.physical_id = (snode_ip, port, |
|
429 |
pnode_ip, port) |
|
429 |
self.physical_id = s_data + p_data + (sminor,) |
|
430 | 430 |
else: |
431 | 431 |
self.physical_id = self.logical_id |
432 | 432 |
return |
... | ... | |
458 | 458 |
obj.logical_id = tuple(obj.logical_id) |
459 | 459 |
if obj.physical_id and isinstance(obj.physical_id, list): |
460 | 460 |
obj.physical_id = tuple(obj.physical_id) |
461 |
if obj.dev_type in constants.LDS_DRBD and len(obj.logical_id) == 3: |
|
462 |
# old non-minor based disk type |
|
463 |
obj.logical_id += (None, None) |
|
461 | 464 |
return obj |
462 | 465 |
|
463 | 466 |
def __str__(self): |
... | ... | |
529 | 532 |
def _Helper(primary, sec_nodes, device): |
530 | 533 |
"""Recursively computes secondary nodes given a top device.""" |
531 | 534 |
if device.dev_type in constants.LDS_DRBD: |
532 |
nodea, nodeb, dummy = device.logical_id |
|
535 |
nodea, nodeb, dummy = device.logical_id[:3]
|
|
533 | 536 |
if nodea == primary: |
534 | 537 |
candidate = nodeb |
535 | 538 |
else: |
Also available in: Unified diff