update object_run() for new interface
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
e89ca8cfc2
commit
af5a99dc9f
1 changed files with 17 additions and 15 deletions
|
@ -108,11 +108,11 @@ class ConfigInstall:
|
|||
"""Run gencode or code for an object"""
|
||||
log.debug("Running %s from %s", mode, cdist_object)
|
||||
|
||||
# FIXME: replace with new object interface
|
||||
file=os.path.join(self.path.object_dir(cdist_object), "require")
|
||||
requirements = cdist.path.file_to_list(file)
|
||||
type = self.path.get_type_from_object(cdist_object)
|
||||
requirements = cdist_object.requirements
|
||||
type = cdist_object.type
|
||||
|
||||
# FIXME: ensure objects are not run multiple times!
|
||||
# FIXME: probably mark objects!
|
||||
for requirement in requirements:
|
||||
log.debug("Object %s requires %s", cdist_object, requirement)
|
||||
self.object_run(requirement, mode=mode)
|
||||
|
@ -122,22 +122,23 @@ class ConfigInstall:
|
|||
#
|
||||
env = os.environ.copy()
|
||||
env['__target_host'] = self.target_host
|
||||
env['__global'] = self.path.out_dir
|
||||
env["__object"] = self.path.object_dir(cdist_object)
|
||||
env["__object_id"] = self.path.get_object_id_from_object(cdist_object)
|
||||
env["__object_fq"] = cdist_object
|
||||
env["__type"] = self.path.type_dir(type)
|
||||
env['__global'] = self.context.out_dir
|
||||
env["__object"] = cdist_object.path
|
||||
env["__object_id"] = cdist_object.object_id
|
||||
env["__object_fq"] = cdist_object.name
|
||||
env["__type"] = type.name
|
||||
|
||||
if mode == "gencode":
|
||||
paths = [
|
||||
self.path.type_dir(type, "gencode-local"),
|
||||
self.path.type_dir(type, "gencode-remote")
|
||||
type.gencode
|
||||
type.gencode_remote
|
||||
]
|
||||
for bin in paths:
|
||||
|
||||
for cmd in ["local", "remote"]:
|
||||
bin = getattr(type, "gencode_" + cmd)
|
||||
|
||||
if os.path.isfile(bin):
|
||||
# omit "gen" from gencode and use it for output base
|
||||
outfile=os.path.join(self.path.object_dir(cdist_object),
|
||||
os.path.basename(bin)[3:])
|
||||
outfile = getattr(cdist_object, "code_" + cmd)
|
||||
|
||||
outfile_fd = open(outfile, "w")
|
||||
|
||||
|
@ -157,6 +158,7 @@ class ConfigInstall:
|
|||
# Add header and make executable - identically to 0o700
|
||||
os.chmod(outfile, stat.S_IXUSR | stat.S_IRUSR | stat.S_IWUSR)
|
||||
|
||||
# FIXME: use new interface
|
||||
# Mark object as changed
|
||||
open(os.path.join(self.path.object_dir(cdist_object), "changed"), "w").close()
|
||||
|
||||
|
|
Loading…
Reference in a new issue