On 9/24/20 9:19 AM, Reid Wahl wrote: > **Directly via the CIB**, I don't see a more obvious way than looking > for the most recent (perhaps by last-rc-change) successful > (rc-code="0" or rc-code="8") monitor operation. That might be > error-prone. I haven't looked into exactly how crm_simulate parses > resource status from the CIB XML yet. Others on the list might know. > > Is there a particular reason why you need to parse the status directly > from the CIB, as opposed to using other tools? Does your use case > allow you to use crm_simulate with the cib.xml as input? (e.g., > `crm_simulate --xml-file=<cibfile>`) You might as well parse output of crm_mon using --xml-file.
A quick look to the code shows that crm_resource - where we would have --locate -does have the --xml-file as well. But that seems not to do what I expected althoughI haven't looked into the details. > > On Wed, Sep 23, 2020 at 11:04 PM Digimer <[email protected]> wrote: >> Hi all, >> >> I'm trying to parse the CIB to determine which node a given resource >> (VM) is currently running on. I notice that the 'monitor' shows in both >> node's status element (from when it last ran when the node previously >> hosted the resource). >> >> https://pastebin.com/6RCMWdgq >> >> Specifically, I see under node 1 (the active host when the CIB was read): >> >> <lrm_rsc_op id="srv07-el6_monitor_60000" >> operation_key="srv07-el6_monitor_60000" operation="monitor" >> crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" >> transition-key="23:85:0:829209fd-35f2-4626-a9cd-f8a50a62871e" >> transition-magic="0:0;23:85:0:829209fd-35f2-4626-a9cd-f8a50a62871e" >> exit-reason="" on_node="mk-a02n01" call-id="76" rc-code="0" >> op-status="0" interval="60000" last-rc-change="1600925201" >> exec-time="541" queue-time="0" >> op-digest="65d0f0c9227f2593835f5de6c9cb9d0e"/> >> >> And under node 2 (hosted the server in the past): >> >> <lrm_rsc_op id="srv07-el6_monitor_60000" >> operation_key="srv07-el6_monitor_60000" operation="monitor" >> crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" >> transition-key="23:83:0:829209fd-35f2-4626-a9cd-f8a50a62871e" >> transition-magic="0:0;23:83:0:829209fd-35f2-4626-a9cd-f8a50a62871e" >> exit-reason="" on_node="mk-a02n02" call-id="61" rc-code="0" >> op-status="0" interval="60000" last-rc-change="1600925173" >> exec-time="539" queue-time="0" >> op-digest="65d0f0c9227f2593835f5de6c9cb9d0e"/> >> >> I don't see any specific entry in the CIB saying "resource X is >> currently hosted on node Y", so I assume I should infer which node is >> the current host? If so, should I look at which node's 'exec-time' is >> higher, or which node has the higher 'call-id'? >> >> Or am I missing a more obvious way to tell what resource is running on >> which node? >> >> -- >> Digimer >> Papers and Projects: https://alteeve.com/w/ >> "I am, somehow, less interested in the weight and convolutions of >> Einstein’s brain than in the near certainty that people of equal talent >> have lived and died in cotton fields and sweatshops." - Stephen Jay Gould >> _______________________________________________ >> Manage your subscription: >> https://lists.clusterlabs.org/mailman/listinfo/users >> >> ClusterLabs home: https://www.clusterlabs.org/ > > _______________________________________________ Manage your subscription: https://lists.clusterlabs.org/mailman/listinfo/users ClusterLabs home: https://www.clusterlabs.org/
