OK, so it looks like there's one more issue which causes the "ha-relation-changed" hook being run: the "json_init_services" keeps being populated with "haproxy" values. Please take a look on the following tries:
TRY 1:
root@juju-baab69-29-lxd-8:/var/lib/juju/agents/unit-designate-hacluster-63/charm# relation-get -r 507 - designate/9 clones: '{''cl_res_designate_haproxy'': ''res_designate_haproxy''}' corosync_bindiface: eth0 corosync_mcastport: "4440" groups: '{''grp_designate_vips'': ''res_designate_eth0_vip''}' init_services: '[''haproxy'']' json_clones: '{"cl_res_designate_haproxy": "res_designate_haproxy"}' json_groups: '{"grp_designate_vips": "res_designate_eth0_vip"}' json_init_services: '["haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", ... "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy"]' json_res_designate_eth0_vip: '"ocf:heartbeat:IPaddr2"' json_res_designate_haproxy: '"lsb:haproxy"' json_resource_params: '{"res_designate_eth0_vip": " params ip=\"100.86.0.11\" nic=\"eth0\" cidr_netmask=\"255.255.240.0\"", "res_designate_haproxy": " op monitor interval=\"5s\""}' json_resources: '{"res_designate_eth0_vip": "ocf:heartbeat:IPaddr2", "res_designate_haproxy": "lsb:haproxy"}' private-address: 100.107.2.78 res_designate_eth0_vip: ocf:heartbeat:IPaddr2 res_designate_haproxy: lsb:haproxy resource_params: '{''res_designate_haproxy'': '' op monitor interval="5s"'', ''res_designate_eth0_vip'': '' params ip="100.86.0.11" nic="eth0" cidr_netmask="255.255.240.0"''}' resources: '{''res_designate_haproxy'': ''lsb:haproxy'', ''res_designate_eth0_vip'': ''ocf:heartbeat:IPaddr2''}'
TRY 2:
root@juju-baab69-29-lxd-8:/var/lib/juju/agents/unit-designate-hacluster-63/charm# relation-get -r 507 - designate/9 clones: '{''cl_res_designate_haproxy'': ''res_designate_haproxy''}' corosync_bindiface: eth0 corosync_mcastport: "4440" groups: '{''grp_designate_vips'': ''res_designate_eth0_vip''}' init_services: '[''haproxy'']' json_clones: '{"cl_res_designate_haproxy": "res_designate_haproxy"}' json_groups: '{"grp_designate_vips": "res_designate_eth0_vip"}' json_init_services: '["haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", ... "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy"]' json_res_designate_eth0_vip: '"ocf:heartbeat:IPaddr2"' json_res_designate_haproxy: '"lsb:haproxy"' json_resource_params: '{"res_designate_eth0_vip": " params ip=\"100.86.0.11\" nic=\"eth0\" cidr_netmask=\"255.255.240.0\"", "res_designate_haproxy": " op monitor interval=\"5s\""}' json_resources: '{"res_designate_eth0_vip": "ocf:heartbeat:IPaddr2", "res_designate_haproxy": "lsb:haproxy"}' private-address: 100.107.2.78 res_designate_eth0_vip: ocf:heartbeat:IPaddr2 res_designate_haproxy: lsb:haproxy resource_params: '{''res_designate_haproxy'': '' op monitor interval="5s"'', ''res_designate_eth0_vip'': '' params ip="100.86.0.11" nic="eth0" cidr_netmask="255.255.240.0"''}' resources: '{''res_designate_haproxy'': ''lsb:haproxy'', ''res_designate_eth0_vip'': ''ocf:heartbeat:IPaddr2''}'
Dots ("...") were used to indicate additional lines like the following one:
"haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy",
At the moment in the environment I upgraded there are hundreds of them. Attached is the full output.
OK, so it looks like there's one more issue which causes the "ha-relation- changed" hook being run: the "json_init_ services" keeps being populated with "haproxy" values. Please take a look on the following tries:
TRY 1:
root@juju- baab69- 29-lxd- 8:/var/ lib/juju/ agents/ unit-designate- hacluster- 63/charm# relation-get -r 507 - designate/9 res_designate_ haproxy' ': ''res_designate _haproxy' '}' designate_ vips'': ''res_designate _eth0_vip' '}' designate_ haproxy" : "res_designate_ haproxy" }' designate_ vips": "res_designate_ eth0_vip" }' designate_ eth0_vip: '"ocf:heartbeat :IPaddr2" ' designate_ haproxy: '"lsb:haproxy"' params: '{"res_ designate_ eth0_vip" : " params ip=\"100.86.0.11\" nic=\"eth0\" netmask= \"255.255. 240.0\" ", "res_designate_ haproxy" : " op monitor interval=\"5s\""}' designate_ eth0_vip" : "ocf:heartbeat: IPaddr2" , "res_designate_ haproxy" : eth0_vip: ocf:heartbeat: IPaddr2 haproxy: lsb:haproxy designate_ haproxy' ': '' op monitor interval="5s"'', ''res_designate _eth0_vip' ': "255.255. 240.0"' '}' designate_ haproxy' ': ''lsb:haproxy'', ''res_designate _eth0_vip' ': heartbeat: IPaddr2' '}'
clones: '{''cl_
corosync_bindiface: eth0
corosync_mcastport: "4440"
groups: '{''grp_
init_services: '[''haproxy'']'
json_clones: '{"cl_res_
json_groups: '{"grp_
json_init_services: '["haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy",
"haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy",
...
"haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy",
"haproxy", "haproxy", "haproxy", "haproxy", "haproxy"]'
json_res_
json_res_
json_resource_
cidr_
json_resources: '{"res_
"lsb:haproxy"}'
private-address: 100.107.2.78
res_designate_
res_designate_
resource_params: '{''res_
'' params ip="100.86.0.11" nic="eth0" cidr_netmask=
resources: '{''res_
''ocf:
TRY 2:
root@juju- baab69- 29-lxd- 8:/var/ lib/juju/ agents/ unit-designate- hacluster- 63/charm# relation-get -r 507 - designate/9 res_designate_ haproxy' ': ''res_designate _haproxy' '}' designate_ vips'': ''res_designate _eth0_vip' '}' designate_ haproxy" : "res_designate_ haproxy" }' designate_ vips": "res_designate_ eth0_vip" }' designate_ eth0_vip: '"ocf:heartbeat :IPaddr2" ' designate_ haproxy: '"lsb:haproxy"' params: '{"res_ designate_ eth0_vip" : " params ip=\"100.86.0.11\" nic=\"eth0\" netmask= \"255.255. 240.0\" ", "res_designate_ haproxy" : " op monitor interval=\"5s\""}' designate_ eth0_vip" : "ocf:heartbeat: IPaddr2" , "res_designate_ haproxy" : eth0_vip: ocf:heartbeat: IPaddr2 haproxy: lsb:haproxy designate_ haproxy' ': '' op monitor interval="5s"'', ''res_designate _eth0_vip' ': "255.255. 240.0"' '}' designate_ haproxy' ': ''lsb:haproxy'', ''res_designate _eth0_vip' ': heartbeat: IPaddr2' '}'
clones: '{''cl_
corosync_bindiface: eth0
corosync_mcastport: "4440"
groups: '{''grp_
init_services: '[''haproxy'']'
json_clones: '{"cl_res_
json_groups: '{"grp_
json_init_services: '["haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy",
"haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy",
...
"haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy",
"haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy"]'
json_res_
json_res_
json_resource_
cidr_
json_resources: '{"res_
"lsb:haproxy"}'
private-address: 100.107.2.78
res_designate_
res_designate_
resource_params: '{''res_
'' params ip="100.86.0.11" nic="eth0" cidr_netmask=
resources: '{''res_
''ocf:
Dots ("...") were used to indicate additional lines like the following one:
"haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy", "haproxy",
At the moment in the environment I upgraded there are hundreds of them. Attached is the full output.