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