updated link config to work distributed, added crude locking for fabric
This commit is contained in:
parent
859f473ba9
commit
a4b6b8be51
5 changed files with 79 additions and 12 deletions
|
@ -1,7 +1,10 @@
|
|||
import logging
|
||||
import threading
|
||||
|
||||
from core.errors import CoreCommandError
|
||||
|
||||
LOCK = threading.Lock()
|
||||
|
||||
|
||||
def remote_cmd(server, cmd, env=None):
|
||||
"""
|
||||
|
@ -16,12 +19,18 @@ def remote_cmd(server, cmd, env=None):
|
|||
:raises CoreCommandError: when a non-zero exit status occurs
|
||||
"""
|
||||
logging.info("remote cmd server(%s): %s", server, cmd)
|
||||
if env is None:
|
||||
result = server.run(cmd, hide=False)
|
||||
else:
|
||||
result = server.run(cmd, hide=False, env=env, replace_env=True)
|
||||
with LOCK:
|
||||
if env is None:
|
||||
result = server.run(cmd, hide=False)
|
||||
else:
|
||||
result = server.run(cmd, hide=False, env=env, replace_env=True)
|
||||
if result.exited:
|
||||
raise CoreCommandError(
|
||||
result.exited, result.command, result.stdout, result.stderr
|
||||
)
|
||||
return result.stdout.strip()
|
||||
|
||||
|
||||
def remote_put(server, source, destination):
|
||||
with LOCK:
|
||||
server.put(source, destination)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue