[ClusterLabs Developers] OCF_RESKEY_CRM_meta_notify_inactive_uname never set ?
Jehan-Guillaume de Rorthais
jgdr at dalibo.com
Fri Jan 20 21:53:08 UTC 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