OK. In order to fix this we need to correctly remove controllers from environment:
- remove it from corosync cluster in runtime without restarts of corosync/pacemaker, something like this should work for corosync-2:
corosync-cmapctl -d nodelist.node.2.nodeid
corosync-cmapctl -d nodelist.node.2.ring0_addr
cibadmin --delete --obj_type nodes --crm_xml '<node uname="node-3.test.domain.local"/>'
cibadmin --delete --obj_type status --crm_xml '<node_state uname="node-3.test.domain.local"/>'
- remove its IPs from memcache/rabbitmq hosts in configs
So solution here would be:
- develop a new resource "corosync_nodes" (or "cs_nodes") that will take care of runtime addition/removal of controllers from corosync cluster and CIB
- run deploy on all nodes whenever we remove controllers - with new resource it will take care of corosync cluster configuration and quorum policy
OK. In order to fix this we need to correctly remove controllers from environment: node.2. nodeid node.2. ring0_addr node-3. test.domain. local"/ >' node-3. test.domain. local"/ >'
- remove it from corosync cluster in runtime without restarts of corosync/pacemaker, something like this should work for corosync-2:
corosync-cmapctl -d nodelist.
corosync-cmapctl -d nodelist.
cibadmin --delete --obj_type nodes --crm_xml '<node uname="
cibadmin --delete --obj_type status --crm_xml '<node_state uname="
- remove its IPs from memcache/rabbitmq hosts in configs
So solution here would be:
- develop a new resource "corosync_nodes" (or "cs_nodes") that will take care of runtime addition/removal of controllers from corosync cluster and CIB
- run deploy on all nodes whenever we remove controllers - with new resource it will take care of corosync cluster configuration and quorum policy