Bug 1209584 - trove-* services do not start if the underlying database server is not running
Summary: trove-* services do not start if the underlying database server is not running
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-trove
Version: 6.0 (Juno)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: z3
: 6.0 (Juno)
Assignee: hguemar
QA Contact: Luigi Toscano
URL:
Whiteboard:
Depends On: 1212893
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-04-07 17:13 UTC by Luigi Toscano
Modified: 2015-05-12 04:04 UTC (History)
7 users (show)

Fixed In Version: openstack-trove-2014.2.3-2.el7ost
Doc Type: Bug Fix
Doc Text:
Prior to this update, the openstack-trove-guestagent service may have failed to start if the underlying database was not running. This update ensures that the MariaDB service is running before starting the guestagent. The workaround is to first start the guestagent service.
Clone Of:
Environment:
Last Closed: 2015-05-05 13:31:16 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1432844 0 None None None Never
Red Hat Product Errata RHBA-2015:0928 0 normal SHIPPED_LIVE Red Hat Enterprise Linux OpenStack Platform Bug Fix and Enhancement Advisory 2015-05-05 17:30:45 UTC

Description Luigi Toscano 2015-04-07 17:13:37 UTC
Description of problem:
trove-* services (on the host) do not start if the underlying database (sql_connect), which means mariadb for RHEL-OSP, is not running.

I opened an more general upstream bug (see the related External Bug) about trove services being able to start in such scenario, but I suspect it would take time and it could be marked as expected behavior. 

Adding a dependency on the mariadb unit from the trove-* ones should easily fix this problem.

Version-Release number of selected component (if applicable):
openstack-trove-2014.2.2-1.el7ost

Comment 3 Luigi Toscano 2015-04-16 13:17:58 UTC
The fix was applied to openstack-trove-guestagent, which - if I understand it correctly - could be executed on a image without mysql.
On the other side, the fix is needed by the services running on the Trove host (api, conductor, taskmanager).

Comment 4 hguemar 2015-04-17 13:23:03 UTC
Updated thanks to Pete & Luigi feedback

Comment 6 Luigi Toscano 2015-04-22 11:56:08 UTC
The dependency has been introduced for the 3 services (systemd units). Verified on latest RHEL7.1, with:

openstack-trove-api-2014.2.3-3.el7ost.noarch
openstack-trove-taskmanager-2014.2.3-3.el7ost.noarch
openstack-trove-conductor-2014.2.3-3.el7ost.noarch

This also means that, until the upstream problem is solved, Trove services must be installed on the node running mariadb. This should go into release notes or also other documentation with known limitations.

Comment 7 Luigi Toscano 2015-04-24 14:47:24 UTC
As for my comment in #6, now Trove services must be installed on the same node where mariadb is running. This is a workaround because Trove services unfortunately do not start when the database can't be reached, but the database can be remote. Should this be documented simply in the Doc Text (-> errata doc), or should it go into some other document as well?

Comment 9 errata-xmlrpc 2015-05-05 13:31:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0928.html

Comment 10 Martin Lopes 2015-05-12 04:04:13 UTC
Regarding comment #7, raised docs bug for the Trove MariaDB dependency: BZ#1220630.


Note You need to log in before you can comment on or make changes to this bug.