Skip to content

Commit

Permalink
Fix issues in redis upgrade code. We have to set 'capture=True' to
Browse files Browse the repository at this point in the history
local() if we want to capture the output
Closes-Bug: #1465733

Change-Id: I9419e712731ca7aceb43dac9f544feaf75612552
  • Loading branch information
Raj Reddy committed Jun 16, 2015
1 parent a2dea19 commit 12a71fe
Showing 1 changed file with 18 additions and 24 deletions.
42 changes: 18 additions & 24 deletions contrail_provisioning/common/upgrade.py
Expand Up @@ -9,7 +9,7 @@
import argparse
from time import sleep

from fabric.api import local
from fabric.api import local, settings

class ContrailUpgrade(object):
def __init__(self):
Expand Down Expand Up @@ -177,33 +177,27 @@ def fix_redis(self):
if self.pdist in ['Ubuntu']:
redis_svc_name = 'redis-server'
redis_conf_file = '/etc/redis/redis.conf'
check_svc_started = True
else:
redis_svc_name = 'redis'
redis_conf_file = '/etc/redis.conf'
check_svc_started = False

local("sudo service %s stop" % (redis_svc_name))
# Set the lua-time-limit to 15000 milliseconds
local("sudo sed -i -e 's/lua-time-limit.*/lua-time-limit 15000/' %s" % (redis_conf_file))
# Disable persistence
dbfilename = local("sudo grep '^dbfilename' %s | awk '{print $2}'" % (redis_conf_file))
if dbfilename:
dbdir = local("sudo grep '^dir' %s | awk '{print $2}'" % (redis_conf_file))
if dbdir:
local("sudo rm -f %s/%s" % (dbdir, dbfilename))
local("sudo sed -i -e '/^[ ]*save/s/^/#/' %s" % (redis_conf_file))
local("sudo sed -i -e '/^[ ]*dbfilename/s/^/#/' %s" % (redis_conf_file))
local("sudo service %s start" % (redis_svc_name))
if check_svc_started:

with settings(warn_only=True):
local("sudo service %s stop" % (redis_svc_name))
# Set the lua-time-limit to 15000 milliseconds
local("sudo sed -i -e 's/lua-time-limit.*/lua-time-limit 15000/' %s" % (redis_conf_file))
# Disable persistence
dbfilename = local("sudo grep '^dbfilename' %s | awk '{print $2}'" % (redis_conf_file), capture=True)
if dbfilename:
dbdir = local("sudo grep '^dir' %s | awk '{print $2}'" % (redis_conf_file), capture=True)
if dbdir:
local("sudo rm -f %s/%s" % (dbdir, dbfilename))
local("sudo sed -i -e '/^[ ]*save/s/^/#/' %s" % (redis_conf_file))
local("sudo sed -i -e '/^[ ]*dbfilename/s/^/#/' %s" % (redis_conf_file))
local("sudo service %s start" % (redis_svc_name))
sleep(1)
# Check if the redis-server is running, if not, issue start again
count = 1
while local("sudo service %s status | grep not" % (redis_svc_name)).succeeded:
count += 1
if count > 10:
break
sleep(1)
local("sudo service %s restart" % (redis_svc_name))
if local("sudo service %s status | grep 'is running'" % (redis_svc_name)).failed:
raise RuntimeError('redis-server failed to start')
# end fix_redis

def _upgrade(self):
Expand Down

0 comments on commit 12a71fe

Please sign in to comment.