Fix puppet HA provider for new versions of pacemaker

Bug #1416378 reported by Bogdan Dobrelya
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-openstack
Fix Committed
Undecided
Bogdan Dobrelya

Bug Description

New versions of pacemaker, such as 1.1.11, require some changes to be done for existing HA provider. Some improvements for provider behavior required as well.
    * CIB xml filters should be improved for data missing cases
    * is_online? method should be more specific to determine if CIB is ready
    * Cleanup primitives should be done by their full names only
    * Node id does no more reference to the node name, but provider relies on id for status detection
      (related gerrit change: Id84994df3bf2a990d2925b595aa448746db45383)
    * pcs tool should be changed to the distro agnostic "cibadmin --patch" one as the provder also claims to be crmsh/pcs agnostic.

Revision history for this message
Bogdan Dobrelya (bogdando) wrote :
Changed in puppet-openstack:
status: New → In Progress
assignee: nobody → Bogdan Dobrelya (bogdando)
Revision history for this message
Javier Peña (jpena-c) wrote :

While testing the patch, I found some issues when handling cloned resources. My test environment was:

- Single node cluster, running RHEL 7.0 (latest updates)
- pacemaker-1.1.10-32.el7_0.1.x86_64
- corosync-2.3.3-2.el7_0.1.x86_64
- corosynclib-2.3.3-2.el7_0.1.x86_64
- pcs-0.9.115-32.el7.x86_64

Once the basic cluster, I created a simple reproducer manifest (attached, reproducer.pp) to install and configure Keystone, then create a cloned resource. When starting the cloned set, the cleanup operation happens while the resource is still starting, which prevents Pacemaker from properly detecting the successful startup.

Also attached the relevant pacemaker.log and cibadmin -Q output.

Revision history for this message
Javier Peña (jpena-c) wrote :
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

Thank you, @Javier. I wil investigate this issue and update the suggested patch

Revision history for this message
Dmitry Ilyin (idv1985) wrote :

Most of these problems are fixed here: https://review.openstack.org/#/c/150555

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-openstack_extras (master)

Reviewed: https://review.openstack.org/151609
Committed: https://git.openstack.org/cgit/stackforge/puppet-openstack_extras/commit/?id=c08013d004de5b4de8c750e68c65b03e3da40ba9
Submitter: Jenkins
Branch: master

commit c08013d004de5b4de8c750e68c65b03e3da40ba9
Author: Bogdan Dobrelya <email address hidden>
Date: Fri Jan 30 12:43:49 2015 +0100

    Fixes for new pacemaker versions

    * Improve missing cib sections filters
    * Change is_online? to use dc-version to determine if CIB is ready
    * Cleanup primitives by their full names
    * Change node id references to node name as 'id' does not represent
      node name for new pacemaker versions
      (related change: Id84994df3bf2a990d2925b595aa448746db45383
    * Switch location add implementation from pcs to cibadmin --patch
      as this provder claims to be crmsh/pcs agnostic and
      to solve problems with cib changes not being synced to other nodes
      then has been applied concurrently.
    * Add missing debug info
    * Update rspecs

    Author: Dmitry Ilyin <email address hidden>
    Closes-bug: #1416378

    Change-Id: I2185b17286e46086674abe985bfc48260e7c397b
    Signed-off-by: Bogdan Dobrelya <email address hidden>

Changed in puppet-openstack:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.