Revision ef66500f lib/cmdlib.py
b/lib/cmdlib.py | ||
---|---|---|
9849 | 9849 |
# specifying a group on instance creation and then selecting nodes from |
9850 | 9850 |
# that group |
9851 | 9851 |
self.needed_locks[locking.LEVEL_NODE] = locking.ALL_SET |
9852 |
self.needed_locks[locking.LEVEL_NODE_RES] = \ |
|
9853 |
_CopyLockList(self.needed_locks[locking.LEVEL_NODE]) |
|
9854 | 9852 |
self.needed_locks[locking.LEVEL_NODE_ALLOC] = locking.ALL_SET |
9855 | 9853 |
else: |
9856 | 9854 |
self.op.pnode = _ExpandNodeName(self.cfg, self.op.pnode) |
... | ... | |
9859 | 9857 |
self.op.snode = _ExpandNodeName(self.cfg, self.op.snode) |
9860 | 9858 |
nodelist.append(self.op.snode) |
9861 | 9859 |
self.needed_locks[locking.LEVEL_NODE] = nodelist |
9862 |
# Lock resources of instance's primary and secondary nodes (copy to |
|
9863 |
# prevent accidential modification) |
|
9864 |
self.needed_locks[locking.LEVEL_NODE_RES] = list(nodelist) |
|
9865 | 9860 |
|
9866 | 9861 |
# in case of import lock the source node too |
9867 | 9862 |
if self.op.mode == constants.INSTANCE_IMPORT: |
... | ... | |
9887 | 9882 |
self.op.src_path = src_path = \ |
9888 | 9883 |
utils.PathJoin(pathutils.EXPORT_DIR, src_path) |
9889 | 9884 |
|
9885 |
self.needed_locks[locking.LEVEL_NODE_RES] = \ |
|
9886 |
_CopyLockList(self.needed_locks[locking.LEVEL_NODE]) |
|
9887 |
|
|
9890 | 9888 |
def _RunAllocator(self): |
9891 | 9889 |
"""Run the allocator based on input opcode. |
9892 | 9890 |
|
Also available in: Unified diff