Revision e57602c2
b/lib/cmdlib.py | ||
---|---|---|
7908 | 7908 |
# check memory requirements on the secondary node |
7909 | 7909 |
if (not self.cleanup and |
7910 | 7910 |
(not self.failover or instance.admin_state == constants.ADMINST_UP)): |
7911 |
_CheckNodeFreeMemory(self.lu, target_node, "migrating instance %s" % |
|
7912 |
instance.name, i_be[constants.BE_MAXMEM], |
|
7913 |
instance.hypervisor) |
|
7911 |
self.tgt_free_mem = _CheckNodeFreeMemory(self.lu, target_node, |
|
7912 |
"migrating instance %s" % |
|
7913 |
instance.name, |
|
7914 |
i_be[constants.BE_MINMEM], |
|
7915 |
instance.hypervisor) |
|
7914 | 7916 |
else: |
7915 | 7917 |
self.lu.LogInfo("Not checking memory on the secondary node as" |
7916 | 7918 |
" instance will not be started") |
... | ... | |
7968 | 7970 |
# Failover is never live |
7969 | 7971 |
self.live = False |
7970 | 7972 |
|
7973 |
if not (self.failover or self.cleanup): |
|
7974 |
remote_info = self.rpc.call_instance_info(instance.primary_node, |
|
7975 |
instance.name, |
|
7976 |
instance.hypervisor) |
|
7977 |
remote_info.Raise("Error checking instance on node %s" % |
|
7978 |
instance.primary_node) |
|
7979 |
instance_running = bool(remote_info.payload) |
|
7980 |
if instance_running: |
|
7981 |
self.current_mem = int(remote_info.payload["memory"]) |
|
7982 |
|
|
7971 | 7983 |
def _RunAllocator(self): |
7972 | 7984 |
"""Run the allocator based on input opcode. |
7973 | 7985 |
|
... | ... | |
8213 | 8225 |
" synchronized on target node," |
8214 | 8226 |
" aborting migration" % dev.iv_name) |
8215 | 8227 |
|
8228 |
if self.current_mem > self.tgt_free_mem: |
|
8229 |
self.feedback_fn("* setting instance memory to %s" % self.tgt_free_mem) |
|
8230 |
rpcres = self.rpc.call_instance_balloon_memory(instance.primary_node, |
|
8231 |
instance, |
|
8232 |
self.tgt_free_mem) |
|
8233 |
rpcres.Raise("Cannot modify instance runtime memory") |
|
8234 |
|
|
8216 | 8235 |
# First get the migration information from the remote node |
8217 | 8236 |
result = self.rpc.call_migration_info(source_node, instance) |
8218 | 8237 |
msg = result.fail_msg |
Also available in: Unified diff