Only redirect rabbmitmq commands to tmp files if distro says to
This commit is contained in:
@@ -45,6 +45,7 @@ commands:
|
||||
start: service rabbitmq-server start
|
||||
status: service rabbitmq-server status
|
||||
stop: service rabbitmq-server stop
|
||||
redirect-outs: false
|
||||
components:
|
||||
db:
|
||||
action_classes:
|
||||
|
||||
@@ -45,6 +45,7 @@ commands:
|
||||
start: service rabbitmq-server start
|
||||
status: service rabbitmq-server status
|
||||
stop: service rabbitmq-server stop
|
||||
redirect-outs: true
|
||||
components:
|
||||
db:
|
||||
action_classes:
|
||||
|
||||
@@ -50,7 +50,7 @@ commands:
|
||||
status: service rabbitmq-server status
|
||||
restart: service rabbitmq-server restart
|
||||
change_password: rabbitmqctl change_password guest
|
||||
|
||||
redirect-outs: true
|
||||
components:
|
||||
db:
|
||||
action_classes:
|
||||
|
||||
@@ -19,6 +19,7 @@ from tempfile import TemporaryFile
|
||||
from devstack import component as comp
|
||||
from devstack import log as logging
|
||||
from devstack import shell as sh
|
||||
from devstack import utils
|
||||
|
||||
LOG = logging.getLogger("devstack.components.rabbit")
|
||||
|
||||
@@ -84,6 +85,7 @@ class RabbitRuntime(comp.EmptyRuntime):
|
||||
def __init__(self, *args, **kargs):
|
||||
comp.EmptyRuntime.__init__(self, *args, **kargs)
|
||||
self.wait_time = max(self.cfg.getint('default', 'service_wait_seconds'), 1)
|
||||
self.redir_out = utils.make_bool(self.distro.get_command_config('rabbit-mq', 'redirect-outs'))
|
||||
|
||||
def start(self):
|
||||
if self.status() != comp.STATUS_STARTED:
|
||||
@@ -122,12 +124,14 @@ class RabbitRuntime(comp.EmptyRuntime):
|
||||
# See: https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/878600
|
||||
#
|
||||
# RHEL seems to have this bug also...
|
||||
#
|
||||
# TODO: Move to distro dir...
|
||||
with TemporaryFile() as f:
|
||||
if self.redir_out:
|
||||
with TemporaryFile() as f:
|
||||
return sh.execute(*cmd, run_as_root=True,
|
||||
stdout_fh=f, stderr_fh=f,
|
||||
check_exit_code=check_exit)
|
||||
else:
|
||||
return sh.execute(*cmd, run_as_root=True,
|
||||
stdout_fh=f, stderr_fh=f,
|
||||
check_exit_code=check_exit)
|
||||
check_exit_code=check_exit)
|
||||
|
||||
def restart(self):
|
||||
LOG.info("Restarting rabbit-mq.")
|
||||
|
||||
@@ -83,6 +83,17 @@ def construct_log_level(verbosity_level, dry_run=False):
|
||||
return log_level
|
||||
|
||||
|
||||
def make_bool(val):
|
||||
if not val:
|
||||
return False
|
||||
if type(val) is bool:
|
||||
return val
|
||||
sval = str(val).lower().strip()
|
||||
if sval in ['true', '1', 'on', 'yes', 't']:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def configure_logging(log_level, cli_args):
|
||||
root_logger = logging.getLogger().logger
|
||||
console_logger = logging.StreamHandler(sys.stdout)
|
||||
|
||||
Reference in New Issue
Block a user