author | Danek Duvall <danek.duvall@oracle.com> |
Tue, 13 May 2014 15:55:28 -0600 | |
changeset 1896 | f83e6dde6c3b |
child 1944 | 56ac2df1785b |
permissions | -rw-r--r-- |
1896
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1 |
We want to put the swift server executables in /usr/lib/swift, which means |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
2 |
that we need to be able to call them from there. We do so by using the |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
"executable" keyword argument to subprocess.Popen() (and allow for it to be |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
4 |
mocked out during testing). |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
|
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
6 |
This patch is not suitable for pushing upstream. |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
7 |
|
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
8 |
diff --git a/swift/common/manager.py b/swift/common/manager.py |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
9 |
--- a/swift/common/manager.py |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
10 |
+++ b/swift/common/manager.py |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
@@ -532,7 +532,8 @@ class Server(): |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
re_out = subprocess.PIPE |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
else: |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
re_out = open(os.devnull, 'w+b') |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
- proc = subprocess.Popen(args, stdout=re_out, stderr=re_err) |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
16 |
+ proc = subprocess.Popen(args, stdout=re_out, stderr=re_err, |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
17 |
+ executable='/usr/lib/swift/' + self.cmd) |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
18 |
pid_file = self.get_pid_file_name(conf_file) |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
19 |
write_file(pid_file, proc.pid) |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
self.procs.append(proc) |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
21 |
diff --git a/test/unit/common/test_manager.py b/test/unit/common/test_manager.py |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
22 |
--- a/test/unit/common/test_manager.py |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
23 |
+++ b/test/unit/common/test_manager.py |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
24 |
@@ -816,7 +816,7 @@ class TestServer(unittest.TestCase): |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
25 |
class MockProc(): |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
26 |
|
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
def __init__(self, pid, args, stdout=MockProcess.NOTHING, |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
- stderr=MockProcess.NOTHING): |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
+ stderr=MockProcess.NOTHING, executable=None): |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
self.pid = pid |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
self.args = args |
f83e6dde6c3b
18551677 Request to integrate Swift into userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
self.stdout = stdout |