re-arrange REMOTE_COPY/EXEC for Shell use
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
This commit is contained in:
		
					parent
					
						
							
								2403fc59ee
							
						
					
				
			
			
				commit
				
					
						c793825edb
					
				
			
		
					 3 changed files with 31 additions and 6 deletions
				
			
		|  | @ -40,8 +40,11 @@ BANNER = """ | |||
|  "8888P'   `"888*""     R888" `   ^"F        'Y" | ||||
|    "P'        ""         "" | ||||
| """ | ||||
| 
 | ||||
| DOT_CDIST   = ".cdist" | ||||
| 
 | ||||
| REMOTE_COPY = "scp -o User=root -q" | ||||
| REMOTE_EXEC = "ssh -o User=root -q" | ||||
| 
 | ||||
| class Error(Exception): | ||||
|     """Base exception class for this project""" | ||||
|  |  | |||
|  | @ -20,9 +20,13 @@ | |||
| # | ||||
| 
 | ||||
| import logging | ||||
| import sys | ||||
| import os | ||||
| import subprocess | ||||
| 
 | ||||
| import cdist | ||||
| # FIXME: only considering config here - enable | ||||
| # command line switch for using install object | ||||
| # when it is available | ||||
| import cdist.config | ||||
| 
 | ||||
| log = logging.getLogger(__name__) | ||||
| 
 | ||||
|  | @ -32,9 +36,25 @@ class Shell(object): | |||
|         pass | ||||
| 
 | ||||
|     @classmethod | ||||
|     def commandline(cls): | ||||
|     def commandline(cls, args): | ||||
|         pass | ||||
|         # initialise cdist | ||||
|         import cdist.context | ||||
| 
 | ||||
|         context = cdist.context.Context( | ||||
|             target_host="cdist-shell-no-target-host", | ||||
|             remote_copy=cdist.REMOTE_COPY, | ||||
|             remote_exec=cdist.REMOTE_EXEC) | ||||
| 
 | ||||
|         config = cdist.config.Config(context) | ||||
| 
 | ||||
|         # Startup Shell | ||||
|         if args.shell: | ||||
|             shell = [args.shell] | ||||
|         elif 'SHELL' in os.environ: | ||||
|             shell = [os.environ['SHELL']] | ||||
|         else: | ||||
|             shell = ["/bin/sh"] | ||||
| 
 | ||||
| 
 | ||||
|         log.info("Starting shell...") | ||||
|         subprocess.call(shell) | ||||
|  |  | |||
|  | @ -75,11 +75,11 @@ def commandline(): | |||
|     parser['configinstall'].add_argument('--remote-copy', | ||||
|          help='Command to use for remote copy (should behave like scp)', | ||||
|          action='store', dest='remote_copy', | ||||
|          default="scp -o User=root -q") | ||||
|          default=cdist.REMOTE_COPY) | ||||
|     parser['configinstall'].add_argument('--remote-exec', | ||||
|          help='Command to use for remote execution (should behave like ssh)', | ||||
|          action='store', dest='remote_exec', | ||||
|          default="ssh -o User=root -q") | ||||
|          default=cdist.REMOTE_EXEC) | ||||
| 
 | ||||
|     # Config | ||||
|     parser['config'] = parser['sub'].add_parser('config', | ||||
|  | @ -89,6 +89,8 @@ def commandline(): | |||
|     # Shell | ||||
|     parser['shell'] = parser['sub'].add_parser('shell',  | ||||
|         parents=[parser['loglevel']]) | ||||
|     parser['shell'].add_argument('-s', '--shell', | ||||
|          help='Select shell to use, defaults to current shell') | ||||
|     parser['shell'].set_defaults(func=cdist.shell.Shell.commandline) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue