Hide Forgot
Description of problem: Setting a transient node attribute on a container resource's remote-node fails and can potentially cause the crmd to crash. This is important because transient node attributes are required for most multistate resources to work properly. How reproducible: 100% Steps to Reproduce: 1. create a container resource 2. attempt to set a transient attribute on the container resource's remote-node example, set some dummy value on remote-node defined by a container resource called 'remote1' crm_attribute -l reboot -N remote1 -n a_key -v a_value Actual results: The key value pair is not set in the remote-node's transient attribute status section of the cib. Expected results: Transient attributes get set in the remote-nodes status section of the cib. Additional info: This issue has already been fixed upstream by the following patches. https://github.com/davidvossel/pacemaker/commit/65ef2c7d8d931a149db3cf8be41225410a27e182 https://github.com/davidvossel/pacemaker/commit/f4be83732ba7c00ae89819ad3e8cb8c099e684d2
I am including the CTS test I developed upstream that caught this bug with this fix.
I have verified that the transcient attributes can be set on a cotainer resource with pacemaker-1.1.10-29.el7.x86_64. ---- # crm_attribute -N duck-03-node01 -n a_key -v a_value Remote-nodes do not maintain permanent attributes, 'a_key=a_value' will be \ removed after duck-03-node01 reboots. # pcs cluster cib ... <transient_attributes id="duck-03-node01"> <instance_attributes id="status-duck-03-node01"> <nvpair id="status-duck-03-node01-a_key" name="a_key" value="a_value"/> </instance_attributes> </transient_attributes> duck-03# pcs status Cluster name: STSRHTS30970 Last updated: Fri Mar 28 11:54:36 2014 Last change: Fri Mar 28 11:49:25 2014 via cibadmin on duck-03.cluster-qe.lab.eng.brq.redhat.com Stack: corosync Current DC: duck-03.cluster-qe.lab.eng.brq.redhat.com (1) - partition with quorum Version: 1.1.10-29.el7-368c726 2 Nodes configured 4 Resources configured Online: [ duck-03.cluster-qe.lab.eng.brq.redhat.com ] Containers: [ duck-03-node01:R-duck-03-node01-lxc ] Full list of resources: virt-fencing (stonith:fence_ipmilan): Started duck-03.cluster-qe.lab.eng.brq.redhat.com R-duck-03-node01-lxc (ocf::heartbeat:VirtualDomain): Started duck-03.cluster-qe.lab.eng.brq.redhat.com le-dummy (ocf::heartbeat:Dummy): Started duck-03-node01 PCSD Status: duck-03.cluster-qe.lab.eng.brq.redhat.com: Online Daemon Status: corosync: active/disabled pacemaker: active/disabled pcsd: active/enabled # pcs resource show R-duck-03-node01-lxc le-dummy Resource: R-duck-03-node01-lxc (class=ocf provider=heartbeat type=VirtualDomain) Attributes: hypervisor=lxc:/// config=/var/lib/libvirt/lxc/duck-03-node01.xml force_stop=true Meta Attrs: remote-node=duck-03-node01 Operations: start interval=0s timeout=90000 (R-duck-03-node01-lxc-start-timeout-90000) stop interval=0s timeout=90000 (R-duck-03-node01-lxc-stop-timeout-90000) monitor interval=10 timeout=30 (R-duck-03-node01-lxc-monitor-interval-10) Resource: le-dummy (class=ocf provider=heartbeat type=Dummy) Operations: start interval=0s timeout=20 (le-dummy-start-timeout-20) stop interval=0s timeout=20 (le-dummy-stop-timeout-20) # crm_attribute -N duck-03-node01 -n a_key -v a_value Remote-nodes do not maintain permanent attributes, 'a_key=a_value' will be \ removed after duck-03-node01 reboots. # pcs cluster cib ... <transient_attributes id="duck-03-node01"> <instance_attributes id="status-duck-03-node01"> <nvpair id="status-duck-03-node01-a_key" name="a_key" value="a_value"/> </instance_attributes> </transient_attributes>
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request.