<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Aptos",sans-serif;
        mso-ligatures:standardcontextual;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#467886;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:11.0pt;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-IN" link="#467886" vlink="#96607D" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi,<br>
<br>
The following are the rpm version in the VM<br>
<br>
pcs-0.11.9-2.el9_6.2.x86_64<br>
pacemaker-2.1.9-1.2.el9_6.x86_64<br>
corosync-3.1.9-2.el9_6.x86_64<br>
resource-agents-4.10.0-71.el9_6.11.x86_64<br>
<br>
It is a 3 node cluster and the cas_healthcheck-clone and confd_vip are applied colocation and ordering constraints.<br>
I have attached the configurations below.<br>
The expectation is confd_vip should be started on the node where the cas_healthcheck-clone is running.<br>
But we see that the confd_vip is not getting started.<br>
The same configuration worked in Rocky8 and we the failure when migrated to Rocky9.<br>
Can you please help what could cause this behaviour in rocky9.<br>
Attached the tail -n 500 lines of pacemaker log for reference.<br>
<br>
<br>
<b>[root@cit2-ops-vm0 ~]# pcs status</b><o:p></o:p></p>
<p class="MsoNormal">Cluster name: OPS<o:p></o:p></p>
<p class="MsoNormal">Cluster Summary:<o:p></o:p></p>
<p class="MsoNormal">  * Stack: corosync (Pacemaker is running)<o:p></o:p></p>
<p class="MsoNormal">  * Current DC: cit2-ops-vm0.katraj.com.intra (version 2.1.9-1.2.el9_6-49aab9983) - partition with quorum<o:p></o:p></p>
<p class="MsoNormal">  * Last updated: Thu Nov 20 07:36:54 2025 on cit2-ops-vm0.katraj.com.intra<o:p></o:p></p>
<p class="MsoNormal">  * Last change:  Wed Nov 19 16:46:14 2025 by root via root on cit2-ops-vm0.katraj.com.intra<o:p></o:p></p>
<p class="MsoNormal">  * 3 nodes configured<o:p></o:p></p>
<p class="MsoNormal">  * 8 resource instances configured<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Node List:<o:p></o:p></p>
<p class="MsoNormal">  * Online: [ cit2-ops-vm0.katraj.com.intra cit2-ops-vm1.katraj.com.intra cit2-ops-vm2.katraj.com.intra ]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Full List of Resources:<o:p></o:p></p>
<p class="MsoNormal">  * confd_vip   (ocf:heartbeat:IPaddr2):         Stopped<o:p></o:p></p>
<p class="MsoNormal">  * disco_vip   (ocf:heartbeat:IPaddr2):         Started cit2-ops-vm1.katraj.com.intra<o:p></o:p></p>
<p class="MsoNormal">  * Clone Set: cas_healthcheck-clone [cas_healthcheck]:<o:p></o:p></p>
<p class="MsoNormal">    * Started: [ cit2-ops-vm0.katraj.com.intra ]<o:p></o:p></p>
<p class="MsoNormal">    * Stopped: [ cit2-ops-vm1.katraj.com.intra cit2-ops-vm2.katraj.com.intra ]<o:p></o:p></p>
<p class="MsoNormal">  * Clone Set: disco_healthcheck-clone [disco_healthcheck]:<o:p></o:p></p>
<p class="MsoNormal">    * Stopped: [ cit2-ops-vm0.katraj.com.intra cit2-ops-vm1.katraj.com.intra cit2-ops-vm2.katraj.com.intra ]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Daemon Status:<o:p></o:p></p>
<p class="MsoNormal">  corosync: active/enabled<o:p></o:p></p>
<p class="MsoNormal">  pacemaker: active/enabled<o:p></o:p></p>
<p class="MsoNormal">  pcsd: active/enabled<o:p></o:p></p>
<p class="MsoNormal">[root@cit2-ops-vm0 ~]# pcs resource config<o:p></o:p></p>
<p class="MsoNormal">Resource: confd_vip (class=ocf provider=heartbeat type=IPaddr2)<o:p></o:p></p>
<p class="MsoNormal">  Attributes: confd_vip-instance_attributes<o:p></o:p></p>
<p class="MsoNormal">    cidr_netmask=25<o:p></o:p></p>
<p class="MsoNormal">    ip=100.74.213.30<o:p></o:p></p>
<p class="MsoNormal">    nic=eth0<o:p></o:p></p>
<p class="MsoNormal">  Meta Attributes: confd_vip-meta_attributes<o:p></o:p></p>
<p class="MsoNormal">    failure-timeout=15<o:p></o:p></p>
<p class="MsoNormal">  Operations:<o:p></o:p></p>
<p class="MsoNormal">    monitor: confd_vip-monitor-interval-5s<o:p></o:p></p>
<p class="MsoNormal">      interval=5s<o:p></o:p></p>
<p class="MsoNormal">    start: confd_vip-start-interval-0s<o:p></o:p></p>
<p class="MsoNormal">      interval=0s timeout=20s<o:p></o:p></p>
<p class="MsoNormal">    stop: confd_vip-stop-interval-0s<o:p></o:p></p>
<p class="MsoNormal">      interval=0s timeout=20s<o:p></o:p></p>
<p class="MsoNormal">Resource: disco_vip (class=ocf provider=heartbeat type=IPaddr2)<o:p></o:p></p>
<p class="MsoNormal">  Attributes: disco_vip-instance_attributes<o:p></o:p></p>
<p class="MsoNormal">    cidr_netmask=25<o:p></o:p></p>
<p class="MsoNormal">    ip=100.77.108.19<o:p></o:p></p>
<p class="MsoNormal">    nic=eth2<o:p></o:p></p>
<p class="MsoNormal">  Meta Attributes: disco_vip-meta_attributes<o:p></o:p></p>
<p class="MsoNormal">    failure-timeout=15<o:p></o:p></p>
<p class="MsoNormal">  Operations:<o:p></o:p></p>
<p class="MsoNormal">    monitor: disco_vip-monitor-interval-5s<o:p></o:p></p>
<p class="MsoNormal">      interval=5s<o:p></o:p></p>
<p class="MsoNormal">    start: disco_vip-start-interval-0s<o:p></o:p></p>
<p class="MsoNormal">      interval=0s timeout=20s<o:p></o:p></p>
<p class="MsoNormal">    stop: disco_vip-stop-interval-0s<o:p></o:p></p>
<p class="MsoNormal">      interval=0s timeout=20s<o:p></o:p></p>
<p class="MsoNormal">Clone: cas_healthcheck-clone<o:p></o:p></p>
<p class="MsoNormal">  Meta Attributes: cas_healthcheck-clone-meta_attributes<o:p></o:p></p>
<p class="MsoNormal">    clone-node-max=1<o:p></o:p></p>
<p class="MsoNormal">    failure-timeout=15<o:p></o:p></p>
<p class="MsoNormal">    globally-unique=false<o:p></o:p></p>
<p class="MsoNormal">    migration-threshold=3<o:p></o:p></p>
<p class="MsoNormal">  Resource: cas_healthcheck (class=ocf provider=nokia type=rest_healthcheck)<o:p></o:p></p>
<p class="MsoNormal">    Attributes: cas_healthcheck-instance_attributes<o:p></o:p></p>
<p class="MsoNormal">      url=http://localhost:901/api/ops/cas/status<o:p></o:p></p>
<p class="MsoNormal">    Meta Attributes: cas_healthcheck-meta_attributes<o:p></o:p></p>
<p class="MsoNormal">      failure-timeout=15<o:p></o:p></p>
<p class="MsoNormal">    Operations:<o:p></o:p></p>
<p class="MsoNormal">      monitor: cas_healthcheck-monitor-interval-1s<o:p></o:p></p>
<p class="MsoNormal">        interval=1s<o:p></o:p></p>
<p class="MsoNormal">      start: cas_healthcheck-start-interval-0s<o:p></o:p></p>
<p class="MsoNormal">        interval=0s timeout=1<o:p></o:p></p>
<p class="MsoNormal">      stop: cas_healthcheck-stop-interval-0s<o:p></o:p></p>
<p class="MsoNormal">        interval=0s timeout=1<o:p></o:p></p>
<p class="MsoNormal">Clone: disco_healthcheck-clone<o:p></o:p></p>
<p class="MsoNormal">  Meta Attributes: disco_healthcheck-clone-meta_attributes<o:p></o:p></p>
<p class="MsoNormal">    clone-node-max=1<o:p></o:p></p>
<p class="MsoNormal">    failure-timeout=15<o:p></o:p></p>
<p class="MsoNormal">    globally-unique=false<o:p></o:p></p>
<p class="MsoNormal">    migration-threshold=3<o:p></o:p></p>
<p class="MsoNormal">  Resource: disco_healthcheck (class=ocf provider=nokia type=rest_healthcheck)<o:p></o:p></p>
<p class="MsoNormal">    Attributes: disco_healthcheck-instance_attributes<o:p></o:p></p>
<p class="MsoNormal">      url=<a href="https://localhost:3245/api/internal/discovery?res=health">https://localhost:3245/api/internal/discovery?res=health</a><o:p></o:p></p>
<p class="MsoNormal">    Meta Attributes: disco_healthcheck-meta_attributes<o:p></o:p></p>
<p class="MsoNormal">      failure-timeout=15<o:p></o:p></p>
<p class="MsoNormal">    Operations:<o:p></o:p></p>
<p class="MsoNormal">      monitor: disco_healthcheck-monitor-interval-1s<o:p></o:p></p>
<p class="MsoNormal">        interval=1s<o:p></o:p></p>
<p class="MsoNormal">      start: disco_healthcheck-start-interval-0s<o:p></o:p></p>
<p class="MsoNormal">        interval=0s timeout=1<o:p></o:p></p>
<p class="MsoNormal">      stop: disco_healthcheck-stop-interval-0s<o:p></o:p></p>
<p class="MsoNormal">        interval=0s timeout=1<o:p></o:p></p>
<p class="MsoNormal"><b>[root@cit2-ops-vm0 ~]# pcs constraint config<o:p></o:p></b></p>
<p class="MsoNormal">Colocation Constraints:<o:p></o:p></p>
<p class="MsoNormal">  resource 'confd_vip' with resource 'cas_healthcheck-clone'<o:p></o:p></p>
<p class="MsoNormal">    score=INFINITY<o:p></o:p></p>
<p class="MsoNormal">  resource 'disco_vip' with resource 'disco_healthcheck-clone'<o:p></o:p></p>
<p class="MsoNormal">    score=INFINITY<o:p></o:p></p>
<p class="MsoNormal">Order Constraints:<o:p></o:p></p>
<p class="MsoNormal">  start resource 'cas_healthcheck-clone' then start resource 'confd_vip'<o:p></o:p></p>
<p class="MsoNormal">    kind=Mandatory<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">[]# <b>cat /opt/nokia/ha/scripts/pcmkconfig/cluster/cluster.d/ops_cluster.cfg</b><o:p></o:p></p>
<p class="MsoNormal">pcs resource create confd_vip ocf:heartbeat:IPaddr2 ip={confd_vip_ipv4} cidr_netmask={confd_vip_subnet_ipv4} nic=eth0 meta failure-timeout=15 op monitor interval=5s --disabled<o:p></o:p></p>
<p class="MsoNormal">pcs resource create disco_vip ocf:heartbeat:IPaddr2 ip={disco_vip_ipv4} cidr_netmask={disco_vip_subnet_ipv4} nic=eth2 meta failure-timeout=15 op monitor interval=5s<o:p></o:p></p>
<p class="MsoNormal">pcs resource create confd_vip_ipv6 ocf:heartbeat:IPaddr2 ip={confd_vip_ipv6} cidr_netmask={confd_vip_subnet_ipv6} nic=eth0 meta failure-timeout=15 op monitor interval=5s --disabled<o:p></o:p></p>
<p class="MsoNormal">pcs resource create disco_vip_ipv6 ocf:heartbeat:IPaddr2 ip={disco_vip_ipv6} cidr_netmask={disco_vip_subnet_ipv6} nic=eth2 meta failure-timeout=15 op monitor interval=5s<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">pcs resource create cas_healthcheck ocf:nokia:rest_healthcheck url=http://localhost:9001/api/ops/cas/status meta failure-timeout=15 op monitor interval=1s --disabled<o:p></o:p></p>
<p class="MsoNormal">pcs resource clone cas_healthcheck meta globally-unique=false clone-node-max=1 meta failure-timeout=15 migration-threshold=3<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if confd_vip_ipv4 pcs constraint colocation add confd_vip with cas_healthcheck-clone INFINITY<o:p></o:p></p>
<p class="MsoNormal">if confd_vip_ipv6 pcs constraint colocation add confd_vip_ipv6 with cas_healthcheck-clone INFINITY<o:p></o:p></p>
<p class="MsoNormal">if confd_vip_ipv4 pcs constraint order start cas_healthcheck-clone then start confd_vip kind=Mandatory<o:p></o:p></p>
<p class="MsoNormal">if confd_vip_ipv6 pcs constraint order start cas_healthcheck-clone then start confd_vip_ipv6 kind=Mandatory<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if confd_vip_ipv4 pcs resource enable confd_vip<o:p></o:p></p>
<p class="MsoNormal">if confd_vip_ipv6 pcs resource enable confd_vip_ipv6<o:p></o:p></p>
<p class="MsoNormal">pcs resource enable cas_healthcheck<o:p></o:p></p>
<p class="MsoNormal">pcs resource enable cas_healthcheck-clone<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#Discovery healthcheck agent<o:p></o:p></p>
<p class="MsoNormal">pcs resource create disco_healthcheck ocf:nokia:rest_healthcheck url=https://localhost:32245/api/internal/discovery?res=health meta failure-timeout=15 op monitor interval=1s<o:p></o:p></p>
<p class="MsoNormal">pcs resource clone disco_healthcheck globally-unique=false clone-node-max=1 meta failure-timeout=15 migration-threshold=3<o:p></o:p></p>
<p class="MsoNormal">if disco_vip_ipv4 pcs constraint colocation add disco_vip with disco_healthcheck-clone INFINITY<o:p></o:p></p>
<p class="MsoNormal">if disco_vip_ipv6 pcs constraint colocation add disco_vip_ipv6 with disco_healthcheck-clone INFINITY<o:p></o:p></p>
<p class="MsoNormal"><br>
<br>
Regards,<br>
K.Vandhana Devi<o:p></o:p></p>
</div>
</body>
</html>