App Engine アプリケーションから Google Compute Engine VM を起動しています。GCE VM の起動スクリプトは python スクリプトを実行し、次に os.system が bdutil コマンドを呼び出します。
os.system("bdutil --bucket <BUCKET> --num_workers 1 "
"--env_var_files hadoop2_env.sh --default_fs hdfs "
"--zone us-central1-b --prefix <NAME> --force deploy")
これらのスクリプトをルートとして実行する必要があることがわかりました。
sudo python script.py
--force deploy
コマンド オプションは期待どおりに機能します。つまり、シェル ターミナルに次のように表示されます。
Deploy cluster with following settings?
....
(y/n) y
ただし、別のプロンプトが含まれています。
Are you sure you want to run the command as root? (y/n)
これらのスクリプトをルートとして実行する必要があることがわかりましたが、リモートでも実行しているため、ターミナル プロンプトに応答できません。
最後のプロンプトに応答せずに、この bdutil コマンドを強制的に実行するにはどうすればよいですか? bdutil ソース コードの変更は実行可能なオプションではありません。