03.07.2013 15:43, Dejan Muhamedagic wrote:
> Hi Lars,
> 
> On Wed, Jul 03, 2013 at 12:05:17PM +0200, Lars Marowsky-Bree wrote:
>> On 2013-07-03T10:26:09, Dejan Muhamedagic <[email protected]> wrote:
>>
>>>> Not sure that is expected by most people.
>>>> How you then delete attributes?
>>> Tough call :) Ideas welcome.
>>
>> Set them to an empty string, or a magic "#undef" value.
>>
>>> It's not only for the nodes. Attributes of resources should be
>>> merged as well. Perhaps to introduce another load method, say
>>> merge, which would merge attributes of elements instead of
>>> replacing them. Though the use would then get more complex (which
>>> seems to be justified here).
>>
>> Well, that leaves open the question of how higher-level objects
>> (primitives, clones, groups, constraints ...) would be affected/deleted.
>>
>> I'm not sure the complexity is really worth it. Merge rules get *really*
>> complex, quickly. And eventually, one ends with the need to annotate the
>> input with how one wants a merge to be resolved (such as "#undef"
>> values).
> 
> Perhaps I misunderstood the original intention, but the idea was
> more simple:
> 
>       primitive r1 params p1="v1" p2="v2" meta m1="mv1"
> 
>       primitive r1 params p1="nv1" p3="v3" <- merge
> 
>       ---
> 
>       primitive r1 params p1="nv1" p2="v2" p3="v3" meta m1="mv1"
> 
> If the attribute already exists, then it is overwritten. The
> existing attributes are otherwise left intact. New attributes are
> added.

I'd simplify that logic to sections.
* node attributes (except pacemaker internal ones like $id?)
* node utilization
* primitive params
* primitive meta
* primitive utilization
* clone/ms meta

If whole section is missing in the update, then leave it as-is.
Otherwise (also if it exists but empty) replace the whole section.

The only unclear thing is 'op', but this one can be replaced
unconditionally (like in the current logic).

Vladislav

_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to