forked from ungleich-public/cdist
		
	introduce new executable to process objects
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								92005e2567
							
						
					
				
			
			
				commit
				
					
						f7d20c002c
					
				
			
		
					 1 changed files with 61 additions and 0 deletions
				
			
		
							
								
								
									
										61
									
								
								bin/cdist-object-run-all
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								bin/cdist-object-run-all
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,61 @@ | |||
| #!/bin/sh | ||||
| # | ||||
| # 2011 Nico Schottelius (nico-cdist at schottelius.org) | ||||
| # 2011 Steven Armstrong (steven-cdist at armstrong.cc) | ||||
| # | ||||
| # This file is part of cdist. | ||||
| # | ||||
| # cdist is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # (at your option) any later version. | ||||
| # | ||||
| # cdist is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||||
| # | ||||
| #  | ||||
| # For each created object: | ||||
| #  - run type explorers | ||||
| #  - generate code | ||||
| #  - copy object to target | ||||
| #  - execute code on target | ||||
| # | ||||
| 
 | ||||
| . cdist-config | ||||
| [ $# -eq 1 ] || __cdist_usage "<target host>" | ||||
| set -eu | ||||
| 
 | ||||
| __cdist_target_host="$1"; shift | ||||
| 
 | ||||
| object_listing="$__cdist_tmp_dir/objects" | ||||
| type_listing_all="$__cdist_tmp_dir/types_all" | ||||
| type_listing="$__cdist_tmp_dir/types" | ||||
| types_pushed="$__cdist_tmp_dir/types_pushed" | ||||
| touch "$types_pushed" | ||||
| 
 | ||||
| 
 | ||||
| # Get listing of objects | ||||
| __cdist_object_list "$__cdist_out_object_dir" > "$object_listing" | ||||
| 
 | ||||
| 
 | ||||
| while read object; do | ||||
|    __cdist_type="$(__cdist_type_from_object "$object")" | ||||
|    if __cdist_type_has_explorer "$__cdist_type"; then | ||||
|       # Transfer the type explorers | ||||
|       if ! grep -q "$__cdist_type" "$types_pushed"; then | ||||
|          cdist-type-explorer-push "$__cdist_target_host" "$__cdist_type" | ||||
|          echo "$__cdist_type" >> "$types_pushed" | ||||
|       fi | ||||
| 
 | ||||
|       # Run the type explorers for the current object | ||||
|       cdist-object-explorer-run "$__cdist_target_host" "$object" | ||||
| 
 | ||||
|    fi | ||||
| 
 | ||||
| done < "$object_listing" | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue