HA Bundles need to store properties on per-host basis

Bug #1713007 reported by Michele Baldessari
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Michele Baldessari

Bug Description

Traditionally resource agents need to store information in the Cluster Information Base. Information like 'what was the last node where a service stopped' (i.e. which node has the latest freshest data).
Typically resource agents store this info in node properties by leveraging the OCF function called ocf_local_nodename.

This function currently will return the bundle name. The problem is that the bundle might be running on any node and the freshest data is host-based not bundle-based.

So we need to introduce a number of changes so that we actually are able to reference the host when we record attributes in the resource agents.

We will fix this in three steps:
1) We will set the meta attribute container-attribute-target=host in the 4 bundles that use an OCF-based resource agent inside. Namely: rabbitmq, galera, redis and ovn. Setting this meta attribute is completely harmless but it will give the OCF resource agent more information in order to discern the host vs bundle conundrum.
2) We will add a common function in the ocf scripts to help us discern host vs bundle programmatically. Code is here: https://paste.fedoraproject.org/paste/32MVR6vZUlCYlXQnoBZRPg
3) We will tweak the resource agents to use this newly introduced function

Changed in tripleo:
milestone: pike-rc1 → pike-rc2
Changed in tripleo:
milestone: pike-rc2 → queens-1
Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
Michele Baldessari (michele) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (master)

Reviewed: https://review.openstack.org/497766
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=6bcb011723ad7b75f18914c887dc4fa4bad4d620
Submitter: Jenkins
Branch: master

commit 6bcb011723ad7b75f18914c887dc4fa4bad4d620
Author: Michele Baldessari <email address hidden>
Date: Fri Aug 25 10:21:11 2017 +0200

    Set meta container-attribute-target=host attribute

    This is needed because when we run bundles we actually
    want to store attributes on a per-node basis and not on a per-bundle
    basis. By activating this attribute pacemaker will pass
    some extra OCS_RESKEY_CRM_meta attributes that will help us in this
    decision.

    We can merge this once we have packages for pacemaker and
    resource-agents releases that contain the necessary fixes.

    Proper pacemaker and resource-agents are now in the repo [1] so
    we can merge it and backport it to pike.

    [1] https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/

    Closes-Bug: #1713007

    Change-Id: I0dd06e953b4c81f217d0f4199b2337e4c3358086

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-tripleo (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/509824

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (stable/pike)

Reviewed: https://review.openstack.org/509824
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=250d979aea7055eaed0c1dfa5850514c816da195
Submitter: Zuul
Branch: stable/pike

commit 250d979aea7055eaed0c1dfa5850514c816da195
Author: Michele Baldessari <email address hidden>
Date: Fri Aug 25 10:21:11 2017 +0200

    Set meta container-attribute-target=host attribute

    This is needed because when we run bundles we actually
    want to store attributes on a per-node basis and not on a per-bundle
    basis. By activating this attribute pacemaker will pass
    some extra OCS_RESKEY_CRM_meta attributes that will help us in this
    decision.

    We can merge this once we have packages for pacemaker and
    resource-agents releases that contain the necessary fixes.

    Proper pacemaker and resource-agents are now in the repo [1] so
    we can merge it and backport it to pike.

    [1] https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/

    Closes-Bug: #1713007

    Change-Id: I0dd06e953b4c81f217d0f4199b2337e4c3358086
    (cherry picked from commit 6bcb011723ad7b75f18914c887dc4fa4bad4d620)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-tripleo 8.0.0

This issue was fixed in the openstack/puppet-tripleo 8.0.0 release.

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

Fix proposed to branch: master
Review: https://review.openstack.org/516373

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-tripleo 7.4.3

This issue was fixed in the openstack/puppet-tripleo 7.4.3 release.

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

Reviewed: https://review.openstack.org/516373
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=3c5854367898e02a03918ce0d6505f303e99c296
Submitter: Zuul
Branch: master

commit 3c5854367898e02a03918ce0d6505f303e99c296
Author: Alex Schultz <email address hidden>
Date: Mon Oct 30 16:12:46 2017 +0000

    Revert "Revert "Set meta container-attribute-target=host attribute""

    This reverts commit 1681d3bceb2834e8788cc4456d65a76bcf4e1e55.

    NOTE: This needs to be tested against scenario004-containers before merging.

    This is needed because when we run bundles we actually
    want to store attributes on a per-node basis and not on a per-bundle
    basis. By activating this attribute pacemaker will pass
    some extra OCS_RESKEY_CRM_meta attributes that will help us in this
    decision.

    We can merge this once we have packages for pacemaker and
    resource-agents releases that contain the necessary fixes.

    Proper pacemaker and resource-agents are now in the repo [1] so
    we can merge it and backport it to pike.

    [1] https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/

    Closes-Bug: #1713007

    Change-Id: Ie968470126833939c19223f04db29556e550673d

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-tripleo 8.1.0

This issue was fixed in the openstack/puppet-tripleo 8.1.0 release.

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.