renamed ini_files to conf_files in code
This commit is contained in:
@@ -331,25 +331,25 @@ class Server():
|
||||
except AttributeError:
|
||||
return False
|
||||
|
||||
def get_pid_file_name(self, ini_file):
|
||||
"""Translate ini_file to a corresponding pid_file
|
||||
def get_pid_file_name(self, conf_file):
|
||||
"""Translate conf_file to a corresponding pid_file
|
||||
|
||||
:param ini_file: an ini_file for this server, a string
|
||||
:param conf_file: an conf_file for this server, a string
|
||||
|
||||
:returns: the pid_file for this ini_file
|
||||
:returns: the pid_file for this conf_file
|
||||
|
||||
"""
|
||||
return ini_file.replace(
|
||||
return conf_file.replace(
|
||||
os.path.normpath(SWIFT_DIR), RUN_DIR, 1).replace(
|
||||
'%s-server' % self.type, self.server, 1).rsplit(
|
||||
'.conf', 1)[0] + '.pid'
|
||||
|
||||
def get_ini_file_name(self, pid_file):
|
||||
"""Translate pid_file to a corresponding ini_file
|
||||
def get_conf_file_name(self, pid_file):
|
||||
"""Translate pid_file to a corresponding conf_file
|
||||
|
||||
:param pid_file: a pid_file for this server, a string
|
||||
|
||||
:returns: the ini_file for this pid_file
|
||||
:returns: the conf_file for this pid_file
|
||||
|
||||
"""
|
||||
return pid_file.replace(
|
||||
@@ -357,35 +357,35 @@ class Server():
|
||||
self.server, '%s-server' % self.type, 1).rsplit(
|
||||
'.pid', 1)[0] + '.conf'
|
||||
|
||||
def ini_files(self, **kwargs):
|
||||
def conf_files(self, **kwargs):
|
||||
"""Get ini files for this server
|
||||
|
||||
:param: number, if supplied will only lookup the nth server
|
||||
|
||||
:returns: list of ini files
|
||||
"""
|
||||
found_ini_files = search_tree(SWIFT_DIR, '%s-server*' % self.type,
|
||||
found_conf_files = search_tree(SWIFT_DIR, '%s-server*' % self.type,
|
||||
'.conf')
|
||||
number = kwargs.get('number')
|
||||
if number:
|
||||
try:
|
||||
ini_files = [found_ini_files[number - 1]]
|
||||
conf_files = [found_conf_files[number - 1]]
|
||||
except IndexError:
|
||||
ini_files = []
|
||||
conf_files = []
|
||||
else:
|
||||
ini_files = found_ini_files
|
||||
if not ini_files:
|
||||
conf_files = found_conf_files
|
||||
if not conf_files:
|
||||
# maybe there's a config file(s) out there, but I couldn't find it!
|
||||
if not kwargs.get('quiet'):
|
||||
print('Unable to locate config %sfor %s' % (
|
||||
('number %s ' % number if number else ''), self.server))
|
||||
if kwargs.get('verbose') and not kwargs.get('quiet'):
|
||||
if found_ini_files:
|
||||
if found_conf_files:
|
||||
print('Found configs:')
|
||||
for i, ini_file in enumerate(found_ini_files):
|
||||
print(' %d) %s' % (i + 1, ini_file))
|
||||
for i, conf_file in enumerate(found_conf_files):
|
||||
print(' %d) %s' % (i + 1, conf_file))
|
||||
|
||||
return ini_files
|
||||
return conf_files
|
||||
|
||||
def pid_files(self, **kwargs):
|
||||
"""Get pid files for this server
|
||||
@@ -397,11 +397,11 @@ class Server():
|
||||
pid_files = search_tree(RUN_DIR, '%s*' % self.server, '.pid')
|
||||
number = kwargs.get('number', 0)
|
||||
if number:
|
||||
ini_files = self.ini_files(**kwargs)
|
||||
# limt pid_files the one who translates to the indexed ini_file for
|
||||
conf_files = self.conf_files(**kwargs)
|
||||
# limt pid_files the one who translates to the indexed conf_file for
|
||||
# this given number
|
||||
pid_files = [pid_file for pid_file in pid_files if
|
||||
self.get_ini_file_name(pid_file) in ini_files]
|
||||
self.get_conf_file_name(pid_file) in conf_files]
|
||||
return pid_files
|
||||
|
||||
def iter_pid_files(self, **kwargs):
|
||||
@@ -474,29 +474,29 @@ class Server():
|
||||
number = kwargs.get('number', 0)
|
||||
if number:
|
||||
kwargs['quiet'] = True
|
||||
ini_files = self.ini_files(**kwargs)
|
||||
if ini_files:
|
||||
conf_files = self.conf_files(**kwargs)
|
||||
if conf_files:
|
||||
print "%s #%d not running (%s)" % (self.server, number,
|
||||
ini_files[0])
|
||||
conf_files[0])
|
||||
else:
|
||||
print "No %s running" % self.server
|
||||
return 1
|
||||
for pid, pid_file in pids.items():
|
||||
ini_file = self.get_ini_file_name(pid_file)
|
||||
print "%s running (%s - %s)" % (self.server, pid, ini_file)
|
||||
conf_file = self.get_conf_file_name(pid_file)
|
||||
print "%s running (%s - %s)" % (self.server, pid, conf_file)
|
||||
return 0
|
||||
|
||||
def spawn(self, ini_file, once=False, wait=False, daemon=True, **kwargs):
|
||||
def spawn(self, conf_file, once=False, wait=False, daemon=True, **kwargs):
|
||||
"""Launch a subprocess for this server.
|
||||
|
||||
:param ini_file: path to ini_file to use as first arg
|
||||
:param conf_file: path to conf_file to use as first arg
|
||||
:param once: boolean, add once argument to command
|
||||
:param wait: boolean, if true capture stdout with a pipe
|
||||
:param daemon: boolean, if true ask server to log to console
|
||||
|
||||
:returns : the pid of the spawned process
|
||||
"""
|
||||
args = [self.cmd, ini_file]
|
||||
args = [self.cmd, conf_file]
|
||||
if once:
|
||||
args.append('once')
|
||||
if not daemon:
|
||||
@@ -516,7 +516,7 @@ class Server():
|
||||
else:
|
||||
re_out = open(os.devnull, 'w+b')
|
||||
proc = subprocess.Popen(args, stdout=re_out, stderr=re_err)
|
||||
pid_file = self.get_pid_file_name(ini_file)
|
||||
pid_file = self.get_pid_file_name(conf_file)
|
||||
write_file(pid_file, proc.pid)
|
||||
self.procs.append(proc)
|
||||
return proc.pid
|
||||
@@ -551,22 +551,22 @@ class Server():
|
||||
"""
|
||||
Collect ini files and attempt to spawn the processes for this server
|
||||
"""
|
||||
ini_files = self.ini_files(**kwargs)
|
||||
if not ini_files:
|
||||
conf_files = self.conf_files(**kwargs)
|
||||
if not conf_files:
|
||||
return []
|
||||
|
||||
pids = self.get_running_pids(**kwargs)
|
||||
|
||||
already_started = False
|
||||
for pid, pid_file in pids.items():
|
||||
ini_file = self.get_ini_file_name(pid_file)
|
||||
conf_file = self.get_conf_file_name(pid_file)
|
||||
# for legacy compat you can't start other servers if one server is
|
||||
# already running (unless -n specifies which one you want), this
|
||||
# restriction could potentially be lifted, and launch could start
|
||||
# any unstarted instances
|
||||
if ini_file in ini_files:
|
||||
if conf_file in conf_files:
|
||||
already_started = True
|
||||
print "%s running (%s - %s)" % (self.server, pid, ini_file)
|
||||
print "%s running (%s - %s)" % (self.server, pid, conf_file)
|
||||
elif not kwargs.get('number', 0):
|
||||
already_started = True
|
||||
print "%s running (%s - %s)" % (self.server, pid, pid_file)
|
||||
@@ -582,20 +582,20 @@ class Server():
|
||||
# TODO: check if self.cmd exists?
|
||||
|
||||
pids = {}
|
||||
for ini_file in ini_files:
|
||||
for conf_file in conf_files:
|
||||
if kwargs.get('once'):
|
||||
msg = 'Running %s once' % self.server
|
||||
else:
|
||||
msg = 'Starting %s' % self.server
|
||||
print '%s...(%s)' % (msg, ini_file)
|
||||
print '%s...(%s)' % (msg, conf_file)
|
||||
try:
|
||||
pid = self.spawn(ini_file, **kwargs)
|
||||
pid = self.spawn(conf_file, **kwargs)
|
||||
except OSError, e:
|
||||
if e.errno == errno.ENOENT:
|
||||
# cmd does not exist
|
||||
print "%s does not exist" % self.cmd
|
||||
break
|
||||
pids[pid] = ini_file
|
||||
pids[pid] = conf_file
|
||||
|
||||
return pids
|
||||
|
||||
|
||||
@@ -295,54 +295,54 @@ class TestServer(unittest.TestCase):
|
||||
|
||||
def test_get_pid_file_name(self):
|
||||
server = manager.Server('proxy')
|
||||
ini_file = self.join_swift_dir('proxy-server.conf')
|
||||
conf_file = self.join_swift_dir('proxy-server.conf')
|
||||
pid_file = self.join_run_dir('proxy-server.pid')
|
||||
self.assertEquals(pid_file, server.get_pid_file_name(ini_file))
|
||||
self.assertEquals(pid_file, server.get_pid_file_name(conf_file))
|
||||
server = manager.Server('object-replicator')
|
||||
ini_file = self.join_swift_dir('object-server/1.conf')
|
||||
conf_file = self.join_swift_dir('object-server/1.conf')
|
||||
pid_file = self.join_run_dir('object-replicator/1.pid')
|
||||
self.assertEquals(pid_file, server.get_pid_file_name(ini_file))
|
||||
self.assertEquals(pid_file, server.get_pid_file_name(conf_file))
|
||||
server = manager.Server('container-auditor')
|
||||
ini_file = self.join_swift_dir(
|
||||
conf_file = self.join_swift_dir(
|
||||
'container-server/1/container-auditor.conf')
|
||||
pid_file = self.join_run_dir(
|
||||
'container-auditor/1/container-auditor.pid')
|
||||
self.assertEquals(pid_file, server.get_pid_file_name(ini_file))
|
||||
self.assertEquals(pid_file, server.get_pid_file_name(conf_file))
|
||||
|
||||
def test_get_ini_file_name(self):
|
||||
def test_get_conf_file_name(self):
|
||||
server = manager.Server('proxy')
|
||||
ini_file = self.join_swift_dir('proxy-server.conf')
|
||||
conf_file = self.join_swift_dir('proxy-server.conf')
|
||||
pid_file = self.join_run_dir('proxy-server.pid')
|
||||
self.assertEquals(ini_file, server.get_ini_file_name(pid_file))
|
||||
self.assertEquals(conf_file, server.get_conf_file_name(pid_file))
|
||||
server = manager.Server('object-replicator')
|
||||
ini_file = self.join_swift_dir('object-server/1.conf')
|
||||
conf_file = self.join_swift_dir('object-server/1.conf')
|
||||
pid_file = self.join_run_dir('object-replicator/1.pid')
|
||||
self.assertEquals(ini_file, server.get_ini_file_name(pid_file))
|
||||
self.assertEquals(conf_file, server.get_conf_file_name(pid_file))
|
||||
server = manager.Server('container-auditor')
|
||||
ini_file = self.join_swift_dir(
|
||||
conf_file = self.join_swift_dir(
|
||||
'container-server/1/container-auditor.conf')
|
||||
pid_file = self.join_run_dir(
|
||||
'container-auditor/1/container-auditor.pid')
|
||||
self.assertEquals(ini_file, server.get_ini_file_name(pid_file))
|
||||
self.assertEquals(conf_file, server.get_conf_file_name(pid_file))
|
||||
|
||||
def test_ini_files(self):
|
||||
def test_conf_files(self):
|
||||
# test get single ini file
|
||||
ini_files = (
|
||||
conf_files = (
|
||||
'proxy-server.conf',
|
||||
'proxy-server.ini',
|
||||
'auth-server.conf',
|
||||
)
|
||||
with temptree(ini_files) as t:
|
||||
with temptree(conf_files) as t:
|
||||
manager.SWIFT_DIR = t
|
||||
server = manager.Server('proxy')
|
||||
ini_files = server.ini_files()
|
||||
self.assertEquals(len(ini_files), 1)
|
||||
ini_file = ini_files[0]
|
||||
conf_files = server.conf_files()
|
||||
self.assertEquals(len(conf_files), 1)
|
||||
conf_file = conf_files[0]
|
||||
proxy_conf = self.join_swift_dir('proxy-server.conf')
|
||||
self.assertEquals(ini_file, proxy_conf)
|
||||
self.assertEquals(conf_file, proxy_conf)
|
||||
|
||||
# test multi server conf files & grouping of server-type config
|
||||
ini_files = (
|
||||
conf_files = (
|
||||
'object-server1.conf',
|
||||
'object-server/2.conf',
|
||||
'object-server/object3.conf',
|
||||
@@ -350,46 +350,46 @@ class TestServer(unittest.TestCase):
|
||||
'object-server.txt',
|
||||
'proxy-server.conf',
|
||||
)
|
||||
with temptree(ini_files) as t:
|
||||
with temptree(conf_files) as t:
|
||||
manager.SWIFT_DIR = t
|
||||
server = manager.Server('object-replicator')
|
||||
ini_files = server.ini_files()
|
||||
self.assertEquals(len(ini_files), 4)
|
||||
conf_files = server.conf_files()
|
||||
self.assertEquals(len(conf_files), 4)
|
||||
c1 = self.join_swift_dir('object-server1.conf')
|
||||
c2 = self.join_swift_dir('object-server/2.conf')
|
||||
c3 = self.join_swift_dir('object-server/object3.conf')
|
||||
c4 = self.join_swift_dir('object-server/conf/server4.conf')
|
||||
for c in [c1, c2, c3, c4]:
|
||||
self.assert_(c in ini_files)
|
||||
self.assert_(c in conf_files)
|
||||
# test configs returned sorted
|
||||
sorted_confs = sorted([c1, c2, c3, c4])
|
||||
self.assertEquals(ini_files, sorted_confs)
|
||||
self.assertEquals(conf_files, sorted_confs)
|
||||
|
||||
# test get single numbered conf
|
||||
ini_files = (
|
||||
conf_files = (
|
||||
'account-server/1.conf',
|
||||
'account-server/2.conf',
|
||||
'account-server/3.conf',
|
||||
'account-server/4.conf',
|
||||
)
|
||||
with temptree(ini_files) as t:
|
||||
with temptree(conf_files) as t:
|
||||
manager.SWIFT_DIR = t
|
||||
server = manager.Server('account')
|
||||
ini_files = server.ini_files(number=2)
|
||||
self.assertEquals(len(ini_files), 1)
|
||||
ini_file = ini_files[0]
|
||||
self.assertEquals(ini_file,
|
||||
conf_files = server.conf_files(number=2)
|
||||
self.assertEquals(len(conf_files), 1)
|
||||
conf_file = conf_files[0]
|
||||
self.assertEquals(conf_file,
|
||||
self.join_swift_dir('account-server/2.conf'))
|
||||
# test missing config number
|
||||
ini_files = server.ini_files(number=5)
|
||||
self.assertFalse(ini_files)
|
||||
conf_files = server.conf_files(number=5)
|
||||
self.assertFalse(conf_files)
|
||||
|
||||
# test verbose & quiet
|
||||
ini_files = (
|
||||
conf_files = (
|
||||
'auth-server.ini',
|
||||
'container-server/1.conf',
|
||||
)
|
||||
with temptree(ini_files) as t:
|
||||
with temptree(conf_files) as t:
|
||||
manager.SWIFT_DIR = t
|
||||
old_stdout = sys.stdout
|
||||
try:
|
||||
@@ -397,21 +397,21 @@ class TestServer(unittest.TestCase):
|
||||
sys.stdout = f
|
||||
server = manager.Server('auth')
|
||||
# check warn "unable to locate"
|
||||
ini_files = server.ini_files()
|
||||
self.assertFalse(ini_files)
|
||||
conf_files = server.conf_files()
|
||||
self.assertFalse(conf_files)
|
||||
self.assert_('unable to locate' in pop_stream(f).lower())
|
||||
# check quiet will silence warning
|
||||
ini_files = server.ini_files(verbose=True, quiet=True)
|
||||
conf_files = server.conf_files(verbose=True, quiet=True)
|
||||
self.assertEquals(pop_stream(f), '')
|
||||
# check found config no warning
|
||||
server = manager.Server('container-auditor')
|
||||
ini_files = server.ini_files()
|
||||
conf_files = server.conf_files()
|
||||
self.assertEquals(pop_stream(f), '')
|
||||
# check missing config number warn "unable to locate"
|
||||
ini_files = server.ini_files(number=2)
|
||||
conf_files = server.conf_files(number=2)
|
||||
self.assert_('unable to locate' in pop_stream(f).lower())
|
||||
# check verbose lists configs
|
||||
ini_files = server.ini_files(number=2, verbose=True)
|
||||
conf_files = server.conf_files(number=2, verbose=True)
|
||||
c1 = self.join_swift_dir('container-server/1.conf')
|
||||
self.assert_(c1 in pop_stream(f))
|
||||
finally:
|
||||
@@ -457,7 +457,7 @@ class TestServer(unittest.TestCase):
|
||||
self.assertEquals(pid_map, real_map)
|
||||
|
||||
# test get pid_files by number
|
||||
ini_files = (
|
||||
conf_files = (
|
||||
'object-server/1.conf',
|
||||
'object-server/2.conf',
|
||||
'object-server/3.conf',
|
||||
@@ -470,7 +470,7 @@ class TestServer(unittest.TestCase):
|
||||
('object-server/5.pid', 5),
|
||||
)
|
||||
|
||||
with temptree(ini_files) as swift_dir:
|
||||
with temptree(conf_files) as swift_dir:
|
||||
manager.SWIFT_DIR = swift_dir
|
||||
files, pids = zip(*pid_files)
|
||||
with temptree(files, pids) as t:
|
||||
@@ -667,7 +667,7 @@ class TestServer(unittest.TestCase):
|
||||
self.assert_(1 not in manager.os.pid_sigs)
|
||||
|
||||
def test_status(self):
|
||||
ini_files = (
|
||||
conf_files = (
|
||||
'test-server/1.conf',
|
||||
'test-server/2.conf',
|
||||
'test-server/3.conf',
|
||||
@@ -681,7 +681,7 @@ class TestServer(unittest.TestCase):
|
||||
('test-server/4.pid', 4),
|
||||
)
|
||||
|
||||
with temptree(ini_files) as swift_dir:
|
||||
with temptree(conf_files) as swift_dir:
|
||||
manager.SWIFT_DIR = swift_dir
|
||||
files, pids = zip(*pid_files)
|
||||
with temptree(files, pids) as t:
|
||||
@@ -706,7 +706,7 @@ class TestServer(unittest.TestCase):
|
||||
self.assertEquals(len(output), 1)
|
||||
line = output[0]
|
||||
self.assert_('test-server running' in line)
|
||||
conf_four = self.join_swift_dir(ini_files[3])
|
||||
conf_four = self.join_swift_dir(conf_files[3])
|
||||
self.assert_('4 - %s' % conf_four in line)
|
||||
# test some servers not running
|
||||
manager.os = MockOs([1, 2, 3])
|
||||
@@ -722,7 +722,7 @@ class TestServer(unittest.TestCase):
|
||||
self.assertEquals(len(output), 1)
|
||||
line = output[0]
|
||||
self.assert_('not running' in line)
|
||||
conf_three = self.join_swift_dir(ini_files[2])
|
||||
conf_three = self.join_swift_dir(conf_files[2])
|
||||
self.assert_(conf_three in line)
|
||||
# test no running pids
|
||||
manager.os = MockOs([])
|
||||
@@ -991,7 +991,7 @@ class TestServer(unittest.TestCase):
|
||||
|
||||
def test_launch(self):
|
||||
# stubs
|
||||
ini_files = (
|
||||
conf_files = (
|
||||
'proxy-server.conf',
|
||||
'object-server/1.conf',
|
||||
'object-server/2.conf',
|
||||
@@ -1007,7 +1007,7 @@ class TestServer(unittest.TestCase):
|
||||
class MockSpawn():
|
||||
|
||||
def __init__(self, pids=None):
|
||||
self.ini_files = []
|
||||
self.conf_files = []
|
||||
self.kwargs = []
|
||||
if not pids:
|
||||
def one_forever():
|
||||
@@ -1017,12 +1017,12 @@ class TestServer(unittest.TestCase):
|
||||
else:
|
||||
self.pids = (x for x in pids)
|
||||
|
||||
def __call__(self, ini_file, **kwargs):
|
||||
self.ini_files.append(ini_file)
|
||||
def __call__(self, conf_file, **kwargs):
|
||||
self.conf_files.append(conf_file)
|
||||
self.kwargs.append(kwargs)
|
||||
return self.pids.next()
|
||||
|
||||
with temptree(ini_files) as swift_dir:
|
||||
with temptree(conf_files) as swift_dir:
|
||||
manager.SWIFT_DIR = swift_dir
|
||||
files, pids = zip(*pid_files)
|
||||
with temptree(files, pids) as t:
|
||||
@@ -1041,8 +1041,8 @@ class TestServer(unittest.TestCase):
|
||||
self.assertFalse(server.launch())
|
||||
output = pop_stream(f)
|
||||
self.assert_('running' in output)
|
||||
ini_file = self.join_swift_dir('proxy-server.conf')
|
||||
self.assert_(ini_file in output)
|
||||
conf_file = self.join_swift_dir('proxy-server.conf')
|
||||
self.assert_(conf_file in output)
|
||||
pid_file = self.join_run_dir('proxy-server/2.pid')
|
||||
self.assert_(pid_file in output)
|
||||
self.assert_('already started' in output)
|
||||
@@ -1051,12 +1051,12 @@ class TestServer(unittest.TestCase):
|
||||
# test ignore once for non-start-once server
|
||||
mock_spawn = MockSpawn([1])
|
||||
server.spawn = mock_spawn
|
||||
ini_file = self.join_swift_dir('proxy-server.conf')
|
||||
conf_file = self.join_swift_dir('proxy-server.conf')
|
||||
expected = {
|
||||
1: ini_file,
|
||||
1: conf_file,
|
||||
}
|
||||
self.assertEquals(server.launch(once=True), expected)
|
||||
self.assertEquals(mock_spawn.ini_files, [ini_file])
|
||||
self.assertEquals(mock_spawn.conf_files, [conf_file])
|
||||
expected = {
|
||||
'once': False,
|
||||
}
|
||||
@@ -1079,7 +1079,7 @@ class TestServer(unittest.TestCase):
|
||||
4: conf4,
|
||||
}
|
||||
self.assertEquals(server.launch(once=True), expected)
|
||||
self.assertEquals(mock_spawn.ini_files, [conf1, conf2,
|
||||
self.assertEquals(mock_spawn.conf_files, [conf1, conf2,
|
||||
conf3, conf4])
|
||||
expected = {
|
||||
'once': True,
|
||||
@@ -1094,7 +1094,7 @@ class TestServer(unittest.TestCase):
|
||||
4: conf4,
|
||||
}
|
||||
self.assertEquals(server.launch(number=4), expected)
|
||||
self.assertEquals(mock_spawn.ini_files, [conf4])
|
||||
self.assertEquals(mock_spawn.conf_files, [conf4])
|
||||
expected = {
|
||||
'number': 4
|
||||
}
|
||||
@@ -1103,7 +1103,7 @@ class TestServer(unittest.TestCase):
|
||||
sys.stdout = old_stdout
|
||||
|
||||
def test_stop(self):
|
||||
ini_files = (
|
||||
conf_files = (
|
||||
'account-server/1.conf',
|
||||
'account-server/2.conf',
|
||||
'account-server/3.conf',
|
||||
@@ -1116,7 +1116,7 @@ class TestServer(unittest.TestCase):
|
||||
('account-reaper/4.pid', 4),
|
||||
)
|
||||
|
||||
with temptree(ini_files) as swift_dir:
|
||||
with temptree(conf_files) as swift_dir:
|
||||
manager.SWIFT_DIR = swift_dir
|
||||
files, pids = zip(*pid_files)
|
||||
with temptree(files, pids) as t:
|
||||
|
||||
Reference in New Issue
Block a user