Using do_root_cmd() doesn't really need to sudo to root if you're already root. Commit 71dc75bdafe62a098c0493ad62f2d0d2a6ca7946 causes a regression: when system "foo" has a sudoers config that requires a tty, init-ceph now fails like this: sudo: sorry, you must have a tty to run sudo when it is invoked by root with something like this: ssh foo /etc/init.d/init-ceph start Signed-off-by: Jim Schutt <jaschut@xxxxxxxxxx> --- src/ceph_common.sh | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/src/ceph_common.sh b/src/ceph_common.sh index adb8783..1da42bd 100644 --- a/src/ceph_common.sh +++ b/src/ceph_common.sh @@ -97,7 +97,12 @@ do_root_cmd() { if [ -z "$ssh" ]; then [ $verbose -eq 1 ] && echo "--- $host# $1" ulimit -c unlimited - sudo bash -c "$1" || { echo "failed: '$1'" ; exit 1; } + whoami=`whoami` + if [ "$whoami" = "root" ]; then + bash -c "$1" || { echo "failed: '$1'" ; exit 1; } + else + sudo bash -c "$1" || { echo "failed: '$1'" ; exit 1; } + fi else [ $verbose -eq 1 ] && echo "--- $rootssh $2 \"cd $sshdir ; ulimit -c unlimited ; $1\"" $rootssh $2 "cd $sshdir ; ulimit -c unlimited ; $1" || { echo "failed: '$rootssh $1'" ; exit 1; } -- 1.7.1 -- 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