Revision 40d93e3b lib/cmdlib/cluster.py
b/lib/cmdlib/cluster.py | ||
---|---|---|
528 | 528 |
"Not owning correct locks" |
529 | 529 |
assert not self.owned_locks(locking.LEVEL_NODE) |
530 | 530 |
|
531 |
es_flags = rpc.GetExclusiveStorageForNodeNames(self.cfg, |
|
532 |
per_node_disks.keys()) |
|
533 |
|
|
531 | 534 |
changed = [] |
532 | 535 |
for node, dskl in per_node_disks.items(): |
533 | 536 |
newl = [v[2].Copy() for v in dskl] |
... | ... | |
554 | 557 |
" dimension information, ignoring", idx, |
555 | 558 |
instance.name) |
556 | 559 |
continue |
557 |
(size, _) = dimensions
|
|
560 |
(size, spindles) = dimensions
|
|
558 | 561 |
if not isinstance(size, (int, long)): |
559 | 562 |
self.LogWarning("Disk %d of instance %s did not return valid" |
560 | 563 |
" size information, ignoring", idx, instance.name) |
... | ... | |
566 | 569 |
instance.name, disk.size, size) |
567 | 570 |
disk.size = size |
568 | 571 |
self.cfg.Update(instance, feedback_fn) |
569 |
changed.append((instance.name, idx, size)) |
|
572 |
changed.append((instance.name, idx, "size", size)) |
|
573 |
if es_flags[node]: |
|
574 |
if spindles is None: |
|
575 |
self.LogWarning("Disk %d of instance %s did not return valid" |
|
576 |
" spindles information, ignoring", idx, |
|
577 |
instance.name) |
|
578 |
elif disk.spindles is None or disk.spindles != spindles: |
|
579 |
self.LogInfo("Disk %d of instance %s has mismatched spindles," |
|
580 |
" correcting: recorded %s, actual %s", |
|
581 |
idx, instance.name, disk.spindles, spindles) |
|
582 |
disk.spindles = spindles |
|
583 |
self.cfg.Update(instance, feedback_fn) |
|
584 |
changed.append((instance.name, idx, "spindles", disk.spindles)) |
|
570 | 585 |
if self._EnsureChildSizes(disk): |
571 | 586 |
self.cfg.Update(instance, feedback_fn) |
572 |
changed.append((instance.name, idx, disk.size)) |
|
587 |
changed.append((instance.name, idx, "size", disk.size))
|
|
573 | 588 |
return changed |
574 | 589 |
|
575 | 590 |
|
Also available in: Unified diff