On Thu, May 21, 2009 at 3:02 PM, Iustin Pop <[email protected]> wrote: > On Thu, May 21, 2009 at 02:59:00PM +0100, Guido Trotter wrote: >> On Thu, May 21, 2009 at 2:52 PM, Iustin Pop <[email protected]> wrote: >> > You can't override it in any way today. >> > >> >> Oh, ok, I thought so!! >> >> > You mean: >> > >> > diff --git a/lib/cmdlib.py b/lib/cmdlib.py >> > index 5f55173..efcea75 100644 >> > --- a/lib/cmdlib.py >> > +++ b/lib/cmdlib.py >> > @@ -3537,11 +3537,17 @@ class LUFailoverInstance(LogicalUnit): >> > _CheckNodeOnline(self, target_node) >> > _CheckNodeNotDrained(self, target_node) >> > >> > - if instance.admin_up: >> > - # check memory requirements on the secondary node >> > + # check memory requirements on the secondary node >> > + try: >> > _CheckNodeFreeMemory(self, target_node, "failing over instance %s" % >> > instance.name, bep[constants.BE_MEMORY], >> > instance.hypervisor) >> > + except errors.OpPrereqError, err: >> > + if instance.admin_up: >> > + raise >> > + else: >> > + self.proc.LogWarning("Error while checking memory on secondary >> > node:" >> > + " %s", str(err)) >> > >> > # check bridge existance >> > brlist = [nic.bridge for nic in instance.nics] >> > >> > It's doable, but not nice. I would rather (as I wanted initially) add a >> > separate flag --no-mem-check or --no-check or --no-start. >> > >> >> You're right, not so clean... Well, we could pass the value of the >> force flag to the _Check function, or yes, another flag can be added >> but is it really needed? > > Well, unless you skip the validation completely (no check, no error msg), we > have to run the function, catch it result, and then process it. >
Could be something like _CheckNodeFreeMemory(..., warn_only=True) But well, we can also skip the error if you think it's ok anyway LGTM Guido
