Resource adding cl_res_masakari_haproxy is added to compute nodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack HA Cluster Charm |
New
|
Undecided
|
Unassigned | ||
OpenStack Masakari Charm |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Masakari revision 10, cl_res_
ubuntu@
Cluster Summary:
* Stack: corosync
* Current DC: juju-7de5e9-
* Last updated: Tue Jun 22 07:00:08 2021
* Last change: Mon Jun 21 13:12:20 2021 by root via crm_node on juju-7de5e9-
* 9 nodes configured
* 14 resource instances configured
Node List:
* Online: [ juju-7de5e9-
* RemoteOnline: [ compute-server-1 compute-server-2 compute-server-3 compute-server-4 compute-server-5 compute-server-6 ]
Full List of Resources:
* Resource Group: grp_masakari_vips:
* res_masakari_
* res_masakari_
* Clone Set: cl_res_
* Started: [ juju-7de5e9-
* Stopped: [ compute-server-1 compute-server-2 compute-server-3 compute-server-4 compute-server-5 compute-server-6 ]
* compute-server-4 (ocf::pacemaker
* compute-server-6 (ocf::pacemaker
* compute-server-3 (ocf::pacemaker
* compute-server-2 (ocf::pacemaker
* compute-server-5 (ocf::pacemaker
* compute-server-1 (ocf::pacemaker
* st-maas (stonith:
* st-null (stonith:null): Started juju-7de5e9-
Workaround was to run:
juju run --unit hacluster-
To be more precise, the issue is not exactly related to an association with the compute nodes.
It is indirectly related to issue #1874719 where at the initialization of Corosync takes in account the non-existing node "node1"
Looking at the code here : https:/ /github. com/openstack/ charm-hacluster /blob/bbe25222e 0ad91ba83f2d5f5 c72ac8889482575 c/hooks/ utils.py# L981
It sets the option clone-max to 4 at initialization which correspond to :
- node1 + 3 units of Masakari.
However since node1 is unavailable, it tries to run the resource on any other available node.
Another quicker workaround is to run this command (and in fact what the mentioned hook above does) : masakari_ haproxy. clone-max 3
juju ssh masakari/leader \
sudo crm configure set cl_res_
Replace the number 3 by any number of Masakari units there are in the deployment.
An improvement eventually may be to set a location constraint eventually to ensure it doesn't try to run specific resources such as haproxy and vIP on the remote nodes.