From: Peter Palfrader Date: Fri, 26 Apr 2013 12:06:18 +0000 (+0200) Subject: Verify name of component X-Git-Url: https://git.adam-barratt.org.uk/?a=commitdiff_plain;h=ea1e44c08cf05b86185e9c0489e261804297441f;p=mirror%2Fdsa-puppet.git Verify name of component --- diff --git a/modules/roles/files/static-mirroring/static-mirror-ssh-wrap b/modules/roles/files/static-mirroring/static-mirror-ssh-wrap index a76c6455b..af0ee3568 100755 --- a/modules/roles/files/static-mirroring/static-mirror-ssh-wrap +++ b/modules/roles/files/static-mirroring/static-mirror-ssh-wrap @@ -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() {