]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
Verify name of component
authorPeter Palfrader <peter@palfrader.org>
Fri, 26 Apr 2013 12:06:18 +0000 (14:06 +0200)
committerPeter Palfrader <peter@palfrader.org>
Fri, 26 Apr 2013 12:06:18 +0000 (14:06 +0200)
modules/roles/files/static-mirroring/static-mirror-ssh-wrap

index a76c6455b8c4c43ed75ebb71a847536c430aba02..af0ee3568c1b24753d6ab3fc5fdae9d1dc65afda 100755 (executable)
@@ -65,10 +65,17 @@ do_mirror() {
        one_more_arg "$@"
        local serial="$1"; shift
 
-       info "Host $remote_host triggered a mirror run for $component, serial $serial"
-       exec /usr/local/bin/static-mirror-run "$basedir/mirrors/$component" "$remote_host:$component/-new-" "$serial"
-       echo >&2 "Exec failed"
-       croak "exec failed"
+       masterhost="$(awk -v component="$component" '$2 == component {print $1; exit}' "$componentlist")"
+       if [ -z "$masterhost" ]; then
+               croak "Did not find master for component $component."
+       elif [ "$msterhost" != "$remote_host" ]; then
+               croak "$remote_host is not master for $component."
+       else
+               info "Host $remote_host triggered a mirror run for $component, serial $serial"
+               exec /usr/local/bin/static-mirror-run "$basedir/mirrors/$component" "$remote_host:$component/-new-" "$serial"
+               echo >&2 "Exec failed"
+               croak "exec failed"
+       fi
 }
 
 do_rsync() {