[Pacemaker] 'stop' operation passes outdated set of instance attributes to RA

Andrew Beekhof andrew at beekhof.net
Mon Feb 23 19:21:25 UTC 2015


> On 24 Feb 2015, at 5:50 am, David Vossel <dvossel at redhat.com> wrote:
> 
> 
> 
> ----- Original Message -----
>> 
>>> On 14 Feb 2015, at 1:10 am, Vladislav Bogdanov <bubble at hoster-ok.com>
>>> wrote:
>>> 
>>> Hi,
>>> 
>>> I believe that is a bug that 'stop' operation uses set of instance
>>> attributes from the original 'start' op, not what successful 'reload' had.
>>> Corresponding pe-input has correct set of attributes, and pre-stop 'notify'
>>> op uses updated set of attributes too.
>>> This is easily reproducible with 3.9.6 resource agents and trace_ra.
>>> 
>>> pacemaker is c529898.
>>> 
>>> Should I provide more information?
>> 
>> Yes please.
>> I suspect the lrmd needs to update it's parameter cache for the reload
>> operation.
>> 
>> David?
> 
> This falls on the crmd I believe.

Ah, yes. That rings a bell now.  Thanks!

> I haven't tested it, but something like
> this should fix it I bet.
> 
> diff --git a/crmd/lrm.c b/crmd/lrm.c
> index ead2e05..45641d2 100644
> --- a/crmd/lrm.c
> +++ b/crmd/lrm.c
> @@ -186,6 +186,7 @@ update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_
> 
>         if (op->params &&
>             (safe_str_eq(CRMD_ACTION_START, op->op_type) ||
> +             safe_str_eq("reload", op->op_type) ||
>              safe_str_eq(CRMD_ACTION_STATUS, op->op_type))) {
> 
>             if (entry->stop_params) {
> 
> 





More information about the Pacemaker mailing list