[tune] Added Kubernetes syncer and sync client (#10097)

Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Co-authored-by: Richard Liaw <rliaw@berkeley.edu>
Co-authored-by: Kai Fricke <kai@anyscale.com>
This commit is contained in:
krfricke
2020-08-16 14:09:28 -07:00
committed by GitHub
co-authored by Edward Oakes Richard Liaw Kai Fricke
parent dc659ae89a
commit 8f0f7371a0
9 changed files with 376 additions and 9 deletions
+20 -8
View File
@@ -215,10 +215,16 @@ class KubernetesCommandRunner(CommandRunnerInterface):
logger.warning(self.log_prefix +
"rsync failed: '{}'. Falling back to 'kubectl cp'"
.format(e))
self.process_runner.check_call(self.kubectl + [
"cp", source, "{}/{}:{}".format(self.namespace, self.node_id,
target)
])
self.run_cp_up(source, target)
def run_cp_up(self, source, target):
if target.startswith("~"):
target = "/root" + target[1:]
self.process_runner.check_call(self.kubectl + [
"cp", source, "{}/{}:{}".format(self.namespace, self.node_id,
target)
])
def run_rsync_down(self, source, target):
if target.startswith("~"):
@@ -235,10 +241,16 @@ class KubernetesCommandRunner(CommandRunnerInterface):
logger.warning(self.log_prefix +
"rsync failed: '{}'. Falling back to 'kubectl cp'"
.format(e))
self.process_runner.check_call(self.kubectl + [
"cp", "{}/{}:{}".format(self.namespace, self.node_id, source),
target
])
self.run_cp_down(source, target)
def run_cp_down(self, source, target):
if target.startswith("~"):
target = "/root" + target[1:]
self.process_runner.check_call(self.kubectl + [
"cp", "{}/{}:{}".format(self.namespace, self.node_id, source),
target
])
def remote_shell_command_str(self):
return "{} exec -it {} bash".format(" ".join(self.kubectl),