Revision 6d1b57f0 lib/cmdlib.py
b/lib/cmdlib.py | ||
---|---|---|
6277 | 6277 |
prereq=True, ecode=errors.ECODE_STATE) |
6278 | 6278 |
|
6279 | 6279 |
|
6280 |
if self.lu.op.live is not None and self.lu.op.mode is not None: |
|
6281 |
raise errors.OpPrereqError("Only one of the 'live' and 'mode'" |
|
6282 |
" parameters are accepted", |
|
6283 |
errors.ECODE_INVAL) |
|
6284 |
if self.lu.op.live is not None: |
|
6285 |
if self.lu.op.live: |
|
6286 |
self.lu.op.mode = constants.HT_MIGRATION_LIVE |
|
6287 |
else: |
|
6288 |
self.lu.op.mode = constants.HT_MIGRATION_NONLIVE |
|
6289 |
# reset the 'live' parameter to None so that repeated |
|
6290 |
# invocations of CheckPrereq do not raise an exception |
|
6291 |
self.lu.op.live = None |
|
6292 |
elif self.lu.op.mode is None: |
|
6293 |
# read the default value from the hypervisor |
|
6294 |
i_hv = self.cfg.GetClusterInfo().FillHV(self.instance, skip_globals=False) |
|
6295 |
self.lu.op.mode = i_hv[constants.HV_MIGRATION_MODE] |
|
6296 |
|
|
6297 |
self.live = self.lu.op.mode == constants.HT_MIGRATION_LIVE |
|
6298 |
|
|
6280 | 6299 |
def _RunAllocator(self): |
6281 | 6300 |
"""Run the allocator based on input opcode. |
6282 | 6301 |
|
... | ... | |
6306 | 6325 |
self.instance_name, self.lu.op.iallocator, |
6307 | 6326 |
utils.CommaJoin(ial.result)) |
6308 | 6327 |
|
6309 |
if self.lu.op.live is not None and self.lu.op.mode is not None: |
|
6310 |
raise errors.OpPrereqError("Only one of the 'live' and 'mode'" |
|
6311 |
" parameters are accepted", |
|
6312 |
errors.ECODE_INVAL) |
|
6313 |
if self.lu.op.live is not None: |
|
6314 |
if self.lu.op.live: |
|
6315 |
self.lu.op.mode = constants.HT_MIGRATION_LIVE |
|
6316 |
else: |
|
6317 |
self.lu.op.mode = constants.HT_MIGRATION_NONLIVE |
|
6318 |
# reset the 'live' parameter to None so that repeated |
|
6319 |
# invocations of CheckPrereq do not raise an exception |
|
6320 |
self.lu.op.live = None |
|
6321 |
elif self.lu.op.mode is None: |
|
6322 |
# read the default value from the hypervisor |
|
6323 |
i_hv = self.cfg.GetClusterInfo().FillHV(self.instance, skip_globals=False) |
|
6324 |
self.lu.op.mode = i_hv[constants.HV_MIGRATION_MODE] |
|
6325 |
|
|
6326 |
self.live = self.lu.op.mode == constants.HT_MIGRATION_LIVE |
|
6327 |
|
|
6328 | 6328 |
def _WaitUntilSync(self): |
6329 | 6329 |
"""Poll with custom rpc for disk sync. |
6330 | 6330 |
|
Also available in: Unified diff