forked from ungleich-public/cdist
		
	++docs: cdist-troubleshooting
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
This commit is contained in:
		
					parent
					
						
							
								200c15c536
							
						
					
				
			
			
				commit
				
					
						1b5010b747
					
				
			
		
					 1 changed files with 52 additions and 0 deletions
				
			
		
							
								
								
									
										52
									
								
								docs/man/man7/cdist-troubleshooting.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								docs/man/man7/cdist-troubleshooting.text
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | ||||||
|  | cdist-troubleshooting(7) | ||||||
|  | ======================== | ||||||
|  | Nico Schottelius <nico-cdist--@--schottelius.org> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | NAME | ||||||
|  | ---- | ||||||
|  | cdist-troubleshooting - common problems and their solutions | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ERROR IN MANIFEST IS NOT CONSIDERED AN ERROR BY CDIST | ||||||
|  | ----------------------------------------------------- | ||||||
|  | Situation: You are executing other scripts from a manifest. | ||||||
|  | This script fails, but cdist does not recognise the error. | ||||||
|  | An example script would be something like this: | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | % cat ~/.cdist/manifest/init | ||||||
|  | "$__manifest/special" | ||||||
|  | % cat ~/.cdist/manifest/special | ||||||
|  | #!/bin/sh | ||||||
|  | echo "Here is an unclean exiting script" | ||||||
|  | somecommandthatdoesnotexist | ||||||
|  | echo "I continue here although previous command failed" | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | We can clearly see that **somecommandthatdoesnotexist** | ||||||
|  | will fail in ~/.cdist/manifest/special. But as the custom | ||||||
|  | script is not called with the -e flag (exit on failure) of shell,  | ||||||
|  | it does not lead to an error. And thus cdist sees the exit 0 | ||||||
|  | code of the last echo line instead of the failing command. | ||||||
|  | 
 | ||||||
|  | All scripts executed by cdist carry the -e flag.  | ||||||
|  | To prevent the above from happening, there are two solutions available: | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | # Execute as before, but abort on failure | ||||||
|  | sh -e "$__manifest/special" | ||||||
|  | 
 | ||||||
|  | # Source the script in our namespace, runs in a set -e environment: | ||||||
|  | . "$__manifest/special" | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | SEE ALSO | ||||||
|  | -------- | ||||||
|  | - cdist(1) | ||||||
|  | - cdist-tutorial(7) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | COPYING | ||||||
|  | ------- | ||||||
|  | Copyright \(C) 2013 Nico Schottelius. Free use of this software is | ||||||
|  | granted under the terms of the GNU General Public License version 3 (GPLv3). | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue