| 
									
										
										
										
											2011-04-06 13:56:16 +02:00
										 |  |  | #!/bin/sh | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2011-04-06 13:58:00 +02:00
										 |  |  | # 2011 Nico Schottelius (nico-cdist at schottelius.org) | 
					
						
							| 
									
										
										
										
											2011-04-06 13:56:16 +02:00
										 |  |  | # | 
					
						
							|  |  |  | # 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/>. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2011-04-06 13:58:00 +02:00
										 |  |  | # Deploy configuration to many hosts | 
					
						
							| 
									
										
										
										
											2011-04-06 13:56:16 +02:00
										 |  |  | # | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | . cdist-config | 
					
						
							| 
									
										
										
										
											2011-04-06 14:05:47 +02:00
										 |  |  | [ $# -ge 1 ] || __cdist_usage "[-p] <target host> [target host ...]" | 
					
						
							| 
									
										
										
										
											2011-04-06 13:56:16 +02:00
										 |  |  | set -eu | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-06 14:16:33 +02:00
										 |  |  | parallel="" | 
					
						
							| 
									
										
										
										
											2011-04-06 14:05:47 +02:00
										 |  |  | if [ "$1" = "-p" ]; then | 
					
						
							|  |  |  |    parallel=yes | 
					
						
							| 
									
										
										
										
											2011-04-06 14:16:33 +02:00
										 |  |  |    shift | 
					
						
							| 
									
										
										
										
											2011-04-06 14:05:47 +02:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-06 13:58:00 +02:00
										 |  |  | while [ $# -ge 1 ]; do | 
					
						
							| 
									
										
										
										
											2011-04-06 14:16:33 +02:00
										 |  |  |    # always assume we run parallel | 
					
						
							|  |  |  |    cdist-deploy-to "$1" | awk -v host=$1 '{ print "[" host "]" $0 }"' & | 
					
						
							| 
									
										
										
										
											2011-04-06 13:58:00 +02:00
										 |  |  |    shift | 
					
						
							| 
									
										
										
										
											2011-04-06 14:16:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |    # if not, wait for it _now_ | 
					
						
							|  |  |  |    [ "$parallel" ] || fg | 
					
						
							| 
									
										
										
										
											2011-04-06 13:58:00 +02:00
										 |  |  | done | 
					
						
							| 
									
										
										
										
											2011-04-06 14:05:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-06 14:16:33 +02:00
										 |  |  | # else wait after all are started | 
					
						
							| 
									
										
										
										
											2011-04-06 14:05:47 +02:00
										 |  |  | if [ "$parallel" ]; then | 
					
						
							|  |  |  |    echo "Waiting for cdist-deploy-to jobs to finish..." | 
					
						
							|  |  |  |    wait | 
					
						
							|  |  |  | fi |