Revision 3ad780e4
b/doc/hooks.rst | ||
---|---|---|
389 | 389 |
|
390 | 390 |
:directory: instance-failover |
391 | 391 |
:env. vars: IGNORE_CONSISTENCY, SHUTDOWN_TIMEOUT, OLD_PRIMARY, OLD_SECONDARY, NEW_PRIMARY, NEW_SECONDARY |
392 |
:pre-execution: master node, secondary node |
|
393 |
:post-execution: master node, primary and secondary nodes
|
|
392 |
:pre-execution: master node, secondary (target) node
|
|
393 |
:post-execution: master node, primary (source) and secondary (target) nodes
|
|
394 | 394 |
|
395 | 395 |
OP_INSTANCE_MIGRATE |
396 | 396 |
++++++++++++++++++++ |
... | ... | |
401 | 401 |
|
402 | 402 |
:directory: instance-migrate |
403 | 403 |
:env. vars: MIGRATE_LIVE, MIGRATE_CLEANUP, OLD_PRIMARY, OLD_SECONDARY, NEW_PRIMARY, NEW_SECONDARY |
404 |
:pre-execution: master node, primary and secondary nodes
|
|
405 |
:post-execution: master node, primary and secondary nodes
|
|
404 |
:pre-execution: master node, primary (source) and secondary (target) nodes
|
|
405 |
:post-execution: master node, primary (source) and secondary (target) nodes
|
|
406 | 406 |
|
407 | 407 |
|
408 | 408 |
OP_INSTANCE_REMOVE |
b/lib/cmdlib/instance_migration.py | ||
---|---|---|
134 | 134 |
""" |
135 | 135 |
instance = self._migrater.instance |
136 | 136 |
source_node = instance.primary_node |
137 |
target_node = self.op.target_node
|
|
137 |
target_node = self._migrater.target_node
|
|
138 | 138 |
env = { |
139 | 139 |
"IGNORE_CONSISTENCY": self.op.ignore_consistency, |
140 | 140 |
"SHUTDOWN_TIMEOUT": self.op.shutdown_timeout, |
... | ... | |
159 | 159 |
""" |
160 | 160 |
instance = self._migrater.instance |
161 | 161 |
nl = [self.cfg.GetMasterNode()] + list(instance.secondary_nodes) |
162 |
nl.append(self._migrater.target_node) |
|
162 | 163 |
return (nl, nl + [instance.primary_node]) |
163 | 164 |
|
164 | 165 |
|
... | ... | |
197 | 198 |
""" |
198 | 199 |
instance = self._migrater.instance |
199 | 200 |
source_node = instance.primary_node |
200 |
target_node = self.op.target_node
|
|
201 |
target_node = self._migrater.target_node
|
|
201 | 202 |
env = BuildInstanceHookEnvByObject(self, instance) |
202 | 203 |
env.update({ |
203 | 204 |
"MIGRATE_LIVE": self._migrater.live, |
... | ... | |
211 | 212 |
env["OLD_SECONDARY"] = target_node |
212 | 213 |
env["NEW_SECONDARY"] = source_node |
213 | 214 |
else: |
214 |
env["OLD_SECONDARY"] = env["NEW_SECONDARY"] = None
|
|
215 |
env["OLD_SECONDARY"] = env["NEW_SECONDARY"] = ""
|
|
215 | 216 |
|
216 | 217 |
return env |
217 | 218 |
|
... | ... | |
222 | 223 |
instance = self._migrater.instance |
223 | 224 |
snodes = list(instance.secondary_nodes) |
224 | 225 |
nl = [self.cfg.GetMasterNode(), instance.primary_node] + snodes |
226 |
nl.append(self._migrater.target_node) |
|
225 | 227 |
return (nl, nl) |
226 | 228 |
|
227 | 229 |
|
... | ... | |
346 | 348 |
raise errors.ConfigurationError("No secondary node but using" |
347 | 349 |
" %s disk template" % |
348 | 350 |
instance.disk_template) |
349 |
target_node = secondary_nodes[0] |
|
351 |
self.target_node = target_node = secondary_nodes[0]
|
|
350 | 352 |
if self.lu.op.iallocator or (self.lu.op.target_node and |
351 | 353 |
self.lu.op.target_node != target_node): |
352 | 354 |
if self.failover: |
Also available in: Unified diff