Comment 37 for bug 1394188

Revision history for this message
Aleksandr Didenko (adidenko) wrote :

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