Pacemaker Move Bundle Resource

· 252 words · 2 minute read

Here’s a quick how-to to move cinder-volume bundle resource to a specific controller.

Let’s assume cinder-volume is running on controller-0, and we want to move it to controller-2

$ sudo pcs status
(...)
  * Container bundle: openstack-cinder-volume [cluster.common.tag/openstack-cinder-volume:pcmklatest]:
    * openstack-cinder-volume-podman-0  (ocf::heartbeat:podman):         Started overcloud-controller-0

Check there is no actual constraint on cinder-volume

$ sudo pcs constraint ref openstack-cinder-volume
Resource: openstack-cinder-volume
  location-openstack-cinder-volume

Ban controller-1 so cinder-volume will not move to it.

$ sudo pcs resource ban openstack-cinder-volume overcloud-controller-1
Warning: Creating location constraint 'cli-ban-openstack-cinder-volume-on-overcloud-controller-1' with a score of -INFINITY for resource openstack-cinder-volume on overcloud-controller-1.
        This will prevent openstack-cinder-volume from running on overcloud-controller-1 until the constraint is removed
        This will be the case even if overcloud-controller-1 is the last node in the cluster

Ban controller-0 so cinder will move to controller-2

$ sudo pcs resource ban openstack-cinder-volume overcloud-controller-0
Warning: Creating location constraint 'cli-ban-openstack-cinder-volume-on-overcloud-controller-0' with a score of -INFINITY for resource openstack-cnder-volume on overcloud-controller-0.
        This will prevent openstack-cinder-volume from running on overcloud-controller-0 until the constraint is removed
        This will be the case even if overcloud-controller-0 is the last node in the cluster

Check cinder-volume is moving

$ pcs status
(...)
  * Container bundle: openstack-cinder-volume [cluster.common.tag/openstack-cinder-volume:pcmklatest]:
    * openstack-cinder-volume-podman-0  (ocf::heartbeat:podman):         Stopping overcloud-controller-0

$ pcs status
(...)
  * Container bundle: openstack-cinder-volume [cluster.common.tag/openstack-cinder-volume:pcmklatest]:
    * openstack-cinder-volume-podman-0  (ocf::heartbeat:podman):         Started overcloud-controller-2

Check controller-0 and controller-1 are banned

$ sudo pcs constraint ref openstack-cinder-volume
Resource: openstack-cinder-volume
  location-openstack-cinder-volume
  cli-ban-openstack-cinder-volume-on-overcloud-controller-1
  cli-ban-openstack-cinder-volume-on-overcloud-controller-0

Remove ban consttraint on cinder-bolume

$ sudo pcs resource clear openstack-cinder-volume
Removing constraint: cli-ban-openstack-cinder-volume-on-overcloud-controller-0
Removing constraint: cli-ban-openstack-cinder-volume-on-overcloud-controller-1

$ sudo pcs constraint ref openstack-cinder-volume
Resource: openstack-cinder-volume
  location-openstack-cinder-volume