forked from ungleich-public/cdist
fixup type explorer run
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
7e8362eeed
commit
cbdb5cd05d
1 changed files with 20 additions and 11 deletions
27
bin/cdist
27
bin/cdist
|
@ -189,7 +189,13 @@ class Cdist:
|
||||||
|
|
||||||
def list_type_explorers(self, type):
|
def list_type_explorers(self, type):
|
||||||
"""Return list of available explorers for a specific type"""
|
"""Return list of available explorers for a specific type"""
|
||||||
return os.listdir(type_explorer_dir(type))
|
dir = self.type_explorer_dir(type)
|
||||||
|
if os.path.isdir(dir):
|
||||||
|
list = os.listdir(dir)
|
||||||
|
else:
|
||||||
|
list = []
|
||||||
|
|
||||||
|
return list
|
||||||
|
|
||||||
def list_object_paths(self, starting_point = False):
|
def list_object_paths(self, starting_point = False):
|
||||||
"""Return list of paths of existing objects"""
|
"""Return list of paths of existing objects"""
|
||||||
|
@ -234,7 +240,7 @@ class Cdist:
|
||||||
"""Return directory that holds the explorers of a type"""
|
"""Return directory that holds the explorers of a type"""
|
||||||
return os.path.join(TYPE_DIR, type, "explorer")
|
return os.path.join(TYPE_DIR, type, "explorer")
|
||||||
|
|
||||||
def remote_type_explorer_dir(type):
|
def remote_type_explorer_dir(self, type):
|
||||||
"""Return remote directory that holds the explorers of a type"""
|
"""Return remote directory that holds the explorers of a type"""
|
||||||
return os.path.join(REMOTE_TYPE_DIR, type, "explorer")
|
return os.path.join(REMOTE_TYPE_DIR, type, "explorer")
|
||||||
|
|
||||||
|
@ -246,17 +252,20 @@ class Cdist:
|
||||||
if type in self.type_explorers_transferred:
|
if type in self.type_explorers_transferred:
|
||||||
log.debug("Skipping retransfer for %s", type)
|
log.debug("Skipping retransfer for %s", type)
|
||||||
return
|
return
|
||||||
|
else:
|
||||||
|
# Do not retransfer
|
||||||
|
self.type_explorers_transferred[type] = 1
|
||||||
|
|
||||||
src = self.type_explorer_dir(type)
|
src = self.type_explorer_dir(type)
|
||||||
remote_base = os.path.join(REMOTE_TYPE_DIR, type)
|
remote_base = os.path.join(REMOTE_TYPE_DIR, type)
|
||||||
dst = self.type_explorer_dir(type)
|
dst = self.remote_type_explorer_dir(type)
|
||||||
|
|
||||||
# Ensure the path path exists
|
# Only continue, if there is at least the directory
|
||||||
|
if os.path.isdir(src):
|
||||||
|
# Ensure that the path exists
|
||||||
self.remote_run_or_fail(["mkdir", "-p", remote_base])
|
self.remote_run_or_fail(["mkdir", "-p", remote_base])
|
||||||
self.transfer_dir(src, dst)
|
self.transfer_dir(src, dst)
|
||||||
|
|
||||||
# Do not retransfer
|
|
||||||
self.type_explorers_transferred[type] = 1
|
|
||||||
|
|
||||||
def link_type_to_emulator(self):
|
def link_type_to_emulator(self):
|
||||||
"""Link type names to cdist-type-emulator"""
|
"""Link type names to cdist-type-emulator"""
|
||||||
|
@ -293,12 +302,12 @@ class Cdist:
|
||||||
|
|
||||||
cmd = []
|
cmd = []
|
||||||
cmd.append("__explorer=" + REMOTE_GLOBAL_EXPLORER_DIR)
|
cmd.append("__explorer=" + REMOTE_GLOBAL_EXPLORER_DIR)
|
||||||
cmd.append("__type_explorer=" + remote_type_explorer_dir(type))
|
cmd.append("__type_explorer=" + self.remote_type_explorer_dir(type))
|
||||||
|
|
||||||
explorers = list_type_explorers(type)
|
explorers = self.list_type_explorers(type)
|
||||||
for explorer in explorers:
|
for explorer in explorers:
|
||||||
remote_cmd = cmd
|
remote_cmd = cmd
|
||||||
remote_cmd.append(os.path.join(remote_type_explorer_dir(type), explorer))
|
remote_cmd.append(os.path.join(self.remote_type_explorer_dir(type), explorer))
|
||||||
|
|
||||||
self.remote_run_or_fail(remote_cmd)
|
self.remote_run_or_fail(remote_cmd)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue