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…
	
	Add table
		Add a link
		
	
		Reference in a new issue