From a037f303d82f3003bccb6072a0c8a8890f0acc41 Mon Sep 17 00:00:00 2001 From: Megh Bhatt Date: Wed, 16 Sep 2015 18:59:00 -0700 Subject: [PATCH] On centos71, service status command for cassandra does not return 'running' in output after moving cassandra out of supervisord and hence the verify_database task fails during setup_all. Add option to instead check whether the command succeeded or failed to determine whether the service is running or not. Partial-Bug: #1484297 Change-Id: I0b204142da04fb50d3c106da5701e5d8eb866903 --- fabfile/tasks/verify.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/fabfile/tasks/verify.py b/fabfile/tasks/verify.py index 08892ade9..462a6955a 100644 --- a/fabfile/tasks/verify.py +++ b/fabfile/tasks/verify.py @@ -7,13 +7,19 @@ class OpenStackSetupError(Exception): pass -def verify_service(service): +def verify_service(service, initd_service=False): for x in xrange(10): output = sudo("service %s status" % service) - if 'running' in output.lower(): - return + if initd_service: + if output.succeeded: + return + else: + sleep(20) else: - sleep(20) + if 'running' in output.lower(): + return + else: + sleep(20) raise SystemExit("Service %s not running." % service) @task @@ -22,7 +28,7 @@ def verify_database(): zoo_svc = 'zookeeper' verify_service(zoo_svc) verify_service("supervisor-database") - verify_service("contrail-database") + verify_service("contrail-database", initd_service=True) @task @roles('webui')