[ClusterLabs Developers] OCF_RESKEY_CRM_meta_notify_inactive_uname never set ?

Jehan-Guillaume de Rorthais jgdr at dalibo.com
Fri Jan 20 16:53:08 EST 2017


On Fri, 20 Jan 2017 10:38:25 -0600
Ken Gaillot <kgaillot at redhat.com> wrote:

> On 01/20/2017 09:47 AM, Jehan-Guillaume de Rorthais wrote:
> > On Fri, 20 Jan 2017 09:16:51 -0600
> > Ken Gaillot <kgaillot at redhat.com> wrote:
> >   
> >> On 01/20/2017 08:16 AM, Jehan-Guillaume de Rorthais wrote:  
> >>> Hi all,
> >>>
> >>> While working on a patch in regard with the recent fix for
> >>> OCF_RESKEY_CRM_meta_notify_active_*  in 1.1.16, I found another strange
> >>> behavior with the "notify_inactive_uname" variable: it seems it just never
> >>> exists whatever I do. It is not even empty, just not existing. 
> >>>
> >>> I did multiple tests with a node hosting 0 resources, a node in standby,
> >>> etc. Each time triggering some cluster action while the node was already
> >>> hosting no resources.
> >>>
> >>> Note that "notify_inactive_resource" do exists, either empty or filled
> >>> with stopped resources.
> >>>
> >>> While grep'ing in my debug files, I find 29 "notify_inactive_resource", 0
> >>> "notify_inactive_uname":
> >>>
> >>>   # cat test-148492* | grep inactive | sort | uniq -c
> >>>      29 OCF_RESKEY_CRM_meta_notify_inactive_resource = ''pgsqld:2''
> >>>
> >>> Shouldn't it at least exists? Even with an empty value as other notify
> >>> variables? 
> >>>
> >>> According to Pacemaker documentation, "notify_*_resource" and
> >>> "notify_*_uname" come in pairs, so I guess if a resource is listed in
> >>> "notify_inactive_resource" it should have a corresponding entry in
> >>> "notify_inactive_uname", isn't it?
> >>>
> >>> Thank you for your help!
> >>>
> >>> Regards,    
> >>
> >> The documentation could be clarified ...
> >>
> >> Each *_uname variable lists the nodes that the corresponding *_resource
> >> entries are running on. Since inactive resources aren't running on any
> >> node, that's the only *_resource variable that doesn't have a matching
> >> *_uname.  
> > 
> > Indeed, that's what I was wondering.
> >   
> >> In other words, inactive_uname would not be a list of inactive nodes,
> >> nor a list of nodes not running the inactive resources, it would be a
> >> list of nodes running the inactive resources.  
> > 
> > You lost me :)
> > 
> > If these resources are "inactive", how could they run on a node? Are you
> > talking about resources with a "target-role=Stopped" with a location
> > constraint on a node?
> > 
> > Moreover, why the var doesn't exist with en empty value like the other ones?
> > 
> > Thanks,
> > 
> > Regards,  
> 
> They can't, that's why the variable doesn't exist. :-) I was just trying
> to point out that the *_uname variables' intended meaning is logically
> impossible with inactive_resources.

Oh.

So I guess we should remove all references to this variable from the
documentation?

http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/_clone_resource_agent_requirements.html

http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/_requirements_for_multi_state_resource_agents.html

http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/ix01.html

And maybe add your own explanation: «
  Each *_uname variable lists the nodes that the corresponding *_resource
  entries are running on. Since inactive resources aren't running on any node,
  that's the only *_resource variable that doesn't have a matching *_uname.
»

I'll make a patch proposal for documentation through github soon.

Thanks,




More information about the Developers mailing list