Revision b5f0b5cc

b/lib/cmdlib.py
8174 8174
    # check if failover must be forced instead of migration
8175 8175
    if (not self.cleanup and not self.failover and
8176 8176
        i_be[constants.BE_ALWAYS_FAILOVER]):
8177
      if self.fallback:
8178
        self.lu.LogInfo("Instance configured to always failover; fallback"
8179
                        " to failover")
8180
        self.failover = True
8181
      else:
8182
        raise errors.OpPrereqError("This instance has been configured to"
8183
                                   " always failover, please allow failover",
8184
                                   errors.ECODE_STATE)
8177
      self.lu.LogInfo("Instance configured to always failover; fallback"
8178
                      " to failover")
8179
      self.failover = True
8185 8180

  
8186 8181
    # check bridge existance
8187 8182
    _CheckInstanceBridgesExist(self.lu, instance, node=target_node)
b/man/gnt-instance.rst
1573 1573
instance's runtime before migrating it (eg. ballooning an instance
1574 1574
down because the target node doesn't have enough available memory).
1575 1575

  
1576
If an instance has the backend parameter ``always\_failover`` set to
1577
true, then the migration is automatically converted into a failover.
1578

  
1576 1579
See **ganeti(7)** for a description of ``--submit`` and other common
1577 1580
options.
1578 1581

  
b/qa/qa_instance.py
275 275
                  (constants.BE_ALWAYS_FAILOVER, constants.VALUE_TRUE)),
276 276
                 instance["name"]])
277 277

  
278
  AssertCommand(cmd, fail=True)
278
  AssertCommand(cmd)
279 279
  qa_utils.RunInstanceCheck(instance, True)
280
  AssertCommand(["gnt-instance", "migrate", "--force", "--allow-failover",
281
                 instance["name"]])
280
  # TODO: Verify that a failover has been done instead of a migration
282 281

  
283 282
  # TODO: Verify whether the default value is restored here (not hardcoded)
284 283
  AssertCommand(["gnt-instance", "modify", "-B",

Also available in: Unified diff