[Pacemaker] (LRMD|PCMK)_MAX_CHILDREN?
Gao,Yan
ygao at suse.com
Mon Sep 16 12:19:55 CEST 2013
On 09/12/13 15:20, Lars Marowsky-Bree wrote:
> On 2013-09-12T16:56:35, Andrew Beekhof <andrew at beekhof.net> wrote:
>
>>> The most directly equivalent solution would be to number the per-node
>>> in-flight operations similar to what migration-threshold does. (I think
>>> we can safely continue to treat all resources as equal to start with.)
>> Agreed. Perhaps even repurpose/rename migration-threshold for the task?
>> Or is this typically set much lower than max children?
>
> It's typically set lower, because migration speed degrades if the
> network becomes overloaded.
>
> Also, it's slightly different - "migrate_to" already affects the target
> node, while "migrate_from" still affects the source still.
>
> I think "migrate" is a valid special case, though I think probably some
> code can be shared - so should the need arise to limit, say, specific
> ops of specific types in the future, it can be added in easily. But I
> really don't want to give them that much rope to start with ;-)
>
> But we could introduce a name change (while still accepting the existing
> one to remain backwards-compatible) to be more consistent.
>
> 1. Global property: operations-limit, operations-limit-migrate (alias
> for migration-threshold)
How about to keep it "migration-limit", and name the new property
"actions-limit" -- Other global properties use the term "action". And
since "migration" is known as one type of the "actions".
> 2. Can be overriden via a per-node attribute
Makes sense.
> 2.a. How do to that for operations-limit-migrate? Choose the lower of
> the two node's values.
Matched actions can be counted against the limits respectively for every
node.
(-- Whether the number of migrate_to/migrate_from actions on this node
is reaching the migration-limit. And whether the number of all the
actions on this node is reaching the actions-limit.)
We don't need to alter it internally I think. One of the limits will
just be reached first.
>
> Name might be a bit too long. And 2.a. might be overdoing it, but while
> we're at it ... ;-)
>
>
> This gives me some pain, though, and I'd welcome advise:
>
>>> Though the transition from an environment variable to a CIB node
>>> attribute (inherited from a cluster-property, I assume) is going to suck
>>> for the upgrade path :-/
>
> The DC can't read the environment variables, and it's not so easy to
> feed them back to the DC.
>
> Auto-tuning has a similar problem. The DC just doesn't know the number
> of cores (and 2 * cores is the natural default, with migration-threshold
> perhaps defaulting to cores / 2). The LRM at least could get that from
> the local system (either /proc or sysconfig).
>
> Should we default the global value to the numbers from the current DC if
> unset?
Probably it's the only feasible way for now.
Regards,
Gao,Yan
--
Gao,Yan <ygao at suse.com>
Software Engineer
China Server Team, SUSE.
More information about the Pacemaker
mailing list