On Wed, 24 Apr 2013, Andreas Friedrich wrote: > On Di, Apr 23, 2013 at 10:01:53 -0700, Sage Weil wrote: > ... > > > So in this example two config files with different names but the same > > > content would be copied to hosta. This is not very pretty but it > > > should work without error. > > > > It's because of the $pushed_to list.. for #3 it wouldn't re-push > > ceph.conf. I pushed a patch that just skips that optimization entirely: > > > > https://github.com/ceph/ceph/commit/ccbc4dbc6edf09626459ca52a53a72682f541e86 > > > > Look okay to you? > > Yes, but I'm not happy with the trap instruction: > > trap "ssh $host rm /tmp/ceph.conf.$unique" EXIT > > If the start script exits with or without error, the remote config > file will be removed from <remote-host>:/tmp - but only for the last > host (the former trap calls will be overwritten by the last trap > call)! This makes no sense to me. Bah.. I was thinking they would stack. How about diff --git a/src/init-ceph.in b/src/init-ceph.in index 61c10e1..195bf76 100644 --- a/src/init-ceph.in +++ b/src/init-ceph.in @@ -218,8 +218,11 @@ for name in $what; do else unique=`dd if=/dev/urandom bs=16 count=1 2>/dev/null | md5sum | awk '{print $1}'` scp -q $conf $host:/tmp/ceph.conf.$unique - trap "ssh $host rm /tmp/ceph.conf.$unique" EXIT cur_conf="/tmp/ceph.conf.$unique" + + # clean up on exit + remote_configs="$host:/tmp/ceph.conf.$unique $remote_configs" + trap 'for f in '$remote_configs' ; do ssh ${f%:*} rm ${f#*:} ; done' EXIT fi cmd="$cmd -c $cur_conf" ?? -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html