forked from ungleich-public/cdist
		
	delegate path handling to local and remote
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								80087d4f59
							
						
					
				
			
			
				commit
				
					
						fec3cca3b0
					
				
			
		
					 1 changed files with 12 additions and 38 deletions
				
			
		| 
						 | 
				
			
			@ -52,25 +52,13 @@ class Context(object):
 | 
			
		|||
        self.log = logging.getLogger(self.target_host)
 | 
			
		||||
        self.log.addFilter(self)
 | 
			
		||||
 | 
			
		||||
        # Base and Temp Base 
 | 
			
		||||
        # Local base directory
 | 
			
		||||
        self.base_path = (base_path or
 | 
			
		||||
            os.path.abspath(os.path.join(os.path.dirname(__file__),
 | 
			
		||||
                os.pardir, os.pardir)))
 | 
			
		||||
 | 
			
		||||
        # Local input
 | 
			
		||||
        self.cache_path             = os.path.join(self.base_path, "cache", 
 | 
			
		||||
            self.target_host)
 | 
			
		||||
        self.conf_path              = os.path.join(self.base_path, "conf")
 | 
			
		||||
 | 
			
		||||
        self.global_explorer_path   = os.path.join(self.conf_path, "explorer")
 | 
			
		||||
        self.manifest_path          = os.path.join(self.conf_path, "manifest")
 | 
			
		||||
        self.type_base_path         = os.path.join(self.conf_path, "type")
 | 
			
		||||
        self.lib_path               = os.path.join(self.base_path, "lib")
 | 
			
		||||
 | 
			
		||||
        self.initial_manifest = (initial_manifest or
 | 
			
		||||
            os.path.join(self.manifest_path, "init"))
 | 
			
		||||
 | 
			
		||||
        # Local output
 | 
			
		||||
        # Local temp directory
 | 
			
		||||
        # FIXME: if __cdist_out_dir can be given from the outside, the same directory will be used for all hosts
 | 
			
		||||
        if '__cdist_out_dir' in os.environ:
 | 
			
		||||
            self.out_path = os.environ['__cdist_out_dir']
 | 
			
		||||
            self.temp_dir = None
 | 
			
		||||
| 
						 | 
				
			
			@ -78,31 +66,17 @@ class Context(object):
 | 
			
		|||
            self.temp_dir = tempfile.mkdtemp()
 | 
			
		||||
            self.out_path = os.path.join(self.temp_dir, "out")
 | 
			
		||||
 | 
			
		||||
        self.bin_path                 = os.path.join(self.out_path, "bin")
 | 
			
		||||
        self.global_explorer_out_path = os.path.join(self.out_path, "explorer")
 | 
			
		||||
        self.object_base_path         = os.path.join(self.out_path, "object")
 | 
			
		||||
        self.local = local.Local(self.target_host, self.base_path, self.out_path)
 | 
			
		||||
 | 
			
		||||
        # Remote directory base
 | 
			
		||||
        if '__cdist_remote_out_dir' in os.environ:
 | 
			
		||||
            self.remote_base_path = os.environ['__cdist_remote_out_dir']
 | 
			
		||||
        else:
 | 
			
		||||
            self.remote_base_path = "/var/lib/cdist"
 | 
			
		||||
        self.initial_manifest = (initial_manifest or
 | 
			
		||||
            os.path.join(self.local.manifest_path, "init"))
 | 
			
		||||
 | 
			
		||||
        self.remote_conf_path            = os.path.join(self.remote_base_path, "conf")
 | 
			
		||||
        self.remote_object_path          = os.path.join(self.remote_base_path, "object")
 | 
			
		||||
 | 
			
		||||
        self.remote_type_path            = os.path.join(self.remote_conf_path, "type")
 | 
			
		||||
        self.remote_global_explorer_path = os.path.join(self.remote_conf_path, "explorer")
 | 
			
		||||
 | 
			
		||||
        if '__remote_exec' in os.environ:
 | 
			
		||||
            self.remote_exec = os.environ['__remote_exec']
 | 
			
		||||
        else:
 | 
			
		||||
            self.remote_exec = "ssh -o User=root -q"
 | 
			
		||||
 | 
			
		||||
        if '__remote_copy' in os.environ:
 | 
			
		||||
            self.remote_copy = os.environ['__remote_copy']
 | 
			
		||||
        else:
 | 
			
		||||
            self.remote_copy = "scp -o User=root -q"
 | 
			
		||||
        # Remote
 | 
			
		||||
        self.remote_base_path = os.environ.get('__cdist_remote_out_dir', "/var/lib/cdist")
 | 
			
		||||
        self.remote_exec = os.environ.get('__remote_exec', "ssh -o User=root -q")
 | 
			
		||||
        self.remote_copy = os.environ.get('__remote_copy', "scp -o User=root -q")
 | 
			
		||||
        self.remote = remote.Remote(self.target_host, self.remote_base_path, 
 | 
			
		||||
            self.remote_exec, self.remote_copy)
 | 
			
		||||
 | 
			
		||||
    def cleanup(self):
 | 
			
		||||
        """Remove temp stuff"""
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue