begin type explorer transfer
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
03e2db83cd
commit
4d765a7024
1 changed files with 26 additions and 3 deletions
29
bin/cdist
29
bin/cdist
|
@ -38,7 +38,10 @@ TYPE_DIR = os.path.join(CONF_DIR, "type")
|
||||||
|
|
||||||
REMOTE_BASE_DIR = "/var/lib/cdist"
|
REMOTE_BASE_DIR = "/var/lib/cdist"
|
||||||
REMOTE_CONF_DIR = os.path.join(REMOTE_BASE_DIR, "conf")
|
REMOTE_CONF_DIR = os.path.join(REMOTE_BASE_DIR, "conf")
|
||||||
|
REMOTE_TYPE_DIR = os.path.join(REMOTE_CONF_DIR, "type")
|
||||||
REMOTE_GLOBAL_EXPLORER_DIR = os.path.join(REMOTE_CONF_DIR, "explorer")
|
REMOTE_GLOBAL_EXPLORER_DIR = os.path.join(REMOTE_CONF_DIR, "explorer")
|
||||||
|
|
||||||
|
DOT_CDIST = ".cdist"
|
||||||
VERSION = "2.0.0"
|
VERSION = "2.0.0"
|
||||||
|
|
||||||
|
|
||||||
|
@ -93,6 +96,9 @@ class Cdist:
|
||||||
os.mkdir(self.bin_dir)
|
os.mkdir(self.bin_dir)
|
||||||
self.link_type_to_emulator()
|
self.link_type_to_emulator()
|
||||||
|
|
||||||
|
# List of type explorers transferred
|
||||||
|
self.type_explorers_transferred = {}
|
||||||
|
|
||||||
# Mostly static, but can be overwritten on user demand
|
# Mostly static, but can be overwritten on user demand
|
||||||
if initial_manifest:
|
if initial_manifest:
|
||||||
self.initial_manifest = initial_manifest
|
self.initial_manifest = initial_manifest
|
||||||
|
@ -175,12 +181,15 @@ class Cdist:
|
||||||
object_paths.extend(self.list_object_paths(starting_point = full_path))
|
object_paths.extend(self.list_object_paths(starting_point = full_path))
|
||||||
|
|
||||||
# Directory contains .cdist -> is an object
|
# Directory contains .cdist -> is an object
|
||||||
if content == ".cdist":
|
if content == DOT_CDIST:
|
||||||
log.debug("Adding Object Path %s", starting_point)
|
log.debug("Adding Object Path %s", starting_point)
|
||||||
object_paths.append(starting_point)
|
object_paths.append(starting_point)
|
||||||
|
|
||||||
return object_paths
|
return object_paths
|
||||||
|
|
||||||
|
def get_type_from_object(cdist_object):
|
||||||
|
return cdist_object.split(os.sep)[0]
|
||||||
|
|
||||||
def list_objects(self, starting_point = False):
|
def list_objects(self, starting_point = False):
|
||||||
"""Return list of existing objects"""
|
"""Return list of existing objects"""
|
||||||
|
|
||||||
|
@ -197,10 +206,20 @@ class Cdist:
|
||||||
|
|
||||||
return objects
|
return objects
|
||||||
|
|
||||||
|
|
||||||
def transfer_global_explorers(self):
|
def transfer_global_explorers(self):
|
||||||
self.transfer_dir(GLOBAL_EXPLORER_DIR, REMOTE_GLOBAL_EXPLORER_DIR)
|
self.transfer_dir(GLOBAL_EXPLORER_DIR, REMOTE_GLOBAL_EXPLORER_DIR)
|
||||||
|
|
||||||
|
def transfer_type_explorers(self, type):
|
||||||
|
"""Transfer explorers of a type, but only once"""
|
||||||
|
if self.type_explorers_transferred[type] == 1
|
||||||
|
return
|
||||||
|
else
|
||||||
|
self.type_explorers_transferred[type] = 1
|
||||||
|
|
||||||
|
src = os.path.join(TYPE_DIR, type)
|
||||||
|
dst = os.path.join(REMOTE_TYPE_DIR, type, "explorer")
|
||||||
|
self.transfer_dir(src, dst)
|
||||||
|
|
||||||
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"""
|
||||||
for type in list_types():
|
for type in list_types():
|
||||||
|
@ -226,7 +245,11 @@ class Cdist:
|
||||||
self.remote_run_or_fail(cmd, stdout=output_fd)
|
self.remote_run_or_fail(cmd, stdout=output_fd)
|
||||||
output_fd.close()
|
output_fd.close()
|
||||||
|
|
||||||
# def run_type_explorer(self):
|
def run_type_explorer(self, object):
|
||||||
|
"""Run type specific explorers for objects"""
|
||||||
|
# Based on bin/cdist-object-explorer-run
|
||||||
|
|
||||||
|
# Transfering explorers for this type
|
||||||
|
|
||||||
def init_deploy(self):
|
def init_deploy(self):
|
||||||
log.info("Creating clean directory structure")
|
log.info("Creating clean directory structure")
|
||||||
|
|
Loading…
Reference in a new issue