Revision 77ed6182

b/lib/cmdlib/network.py
574 574
    self.group_uuid = self.cfg.LookupNodeGroup(self.group_name)
575 575

  
576 576
    self.needed_locks = {
577
      locking.LEVEL_INSTANCE: [],
578 577
      locking.LEVEL_NODEGROUP: [self.group_uuid],
579 578
      }
580
    self.share_locks[locking.LEVEL_INSTANCE] = 1
581 579

  
582 580
    if self.op.conflicts_check:
581
      self.needed_locks[locking.LEVEL_INSTANCE] = locking.ALL_SET
583 582
      self.needed_locks[locking.LEVEL_NETWORK] = [self.network_uuid]
584 583
      self.share_locks[locking.LEVEL_NETWORK] = 1
584
      self.share_locks[locking.LEVEL_INSTANCE] = 1
585 585

  
586 586
  def DeclareLocks(self, level):
587
    if level == locking.LEVEL_INSTANCE:
588
      assert not self.needed_locks[locking.LEVEL_INSTANCE]
589

  
590
      # Lock instances optimistically, needs verification once group lock has
591
      # been acquired
592
      if self.op.conflicts_check:
593
        self.needed_locks[locking.LEVEL_INSTANCE] = \
594
            self.cfg.GetNodeGroupInstances(self.group_uuid)
587
      pass
595 588

  
596 589
  def BuildHooksEnv(self):
597 590
    ret = {
......
612 605

  
613 606
    # Check if locked instances are still correct
614 607
    owned_instances = frozenset(self.owned_locks(locking.LEVEL_INSTANCE))
615
    if self.op.conflicts_check:
616
      CheckNodeGroupInstances(self.cfg, self.group_uuid, owned_instances)
617 608

  
618 609
    self.netparams = {
619 610
      constants.NIC_MODE: self.network_mode,
......
660 651
    self.group_uuid = self.cfg.LookupNodeGroup(self.group_name)
661 652

  
662 653
    self.needed_locks = {
663
      locking.LEVEL_INSTANCE: [],
654
      locking.LEVEL_INSTANCE: locking.ALL_SET,
664 655
      locking.LEVEL_NODEGROUP: [self.group_uuid],
665 656
      }
666 657
    self.share_locks[locking.LEVEL_INSTANCE] = 1
667 658

  
668 659
  def DeclareLocks(self, level):
669
    if level == locking.LEVEL_INSTANCE:
670
      assert not self.needed_locks[locking.LEVEL_INSTANCE]
671

  
672
      # Lock instances optimistically, needs verification once group lock has
673
      # been acquired
674
      self.needed_locks[locking.LEVEL_INSTANCE] = \
675
        self.cfg.GetNodeGroupInstances(self.group_uuid)
660
      pass
676 661

  
677 662
  def BuildHooksEnv(self):
678 663
    ret = {
......
691 676

  
692 677
    # Check if locked instances are still correct
693 678
    owned_instances = frozenset(self.owned_locks(locking.LEVEL_INSTANCE))
694
    CheckNodeGroupInstances(self.cfg, self.group_uuid, owned_instances)
695 679

  
696 680
    self.group = self.cfg.GetNodeGroup(self.group_uuid)
697 681
    self.connected = True

Also available in: Unified diff