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