0
シェフがいる場合はチェックする必要があります。それを手動で行います。私は以前にはPythonを使ったことがないし、明日に行くまでは実際にテストすることはできません。正しい軌道に乗っていればフィードバックを求めています。私はすべてのIPアドレスをテキストファイルにダンプし、シェフをインストールする必要があるものを保存します。ssh経由でサーバーに接続し、シェフがインストールされているかどうかを確認し、インストールされていないサーバーを記録する
import pxssh
import getpass
CheckIT = str("command not found")
for line in open('ServerList.txt','r').readlines():
try:
s = pxssh.pxssh()
hostname = raw_input('line ')
username = raw_input('username ')
password = getpass.getpass('password: ')
s.login (hostname, username, password)
s.sendline ('sudo su -') # run a command
s.prompt() # match the prompt
s.sendline ('chef-client')
s.prompt()
if CheckIT == readline(self,size=-1)
with open("ServersToUpdate.txt", "a") as myfile:
myfile.write(hostname)
except pxssh.ExceptionPxssh, e:
print "pxssh failed on login."
print str(e)
"シェフがインストールされているかどうか"という単独のチェックは、それ以上の手順がなければ意味をなさない。シェフがさらにインストールしているノードを持っている、または持っていないノードで何をしたいですか? –
インストールされていない場合は、それ以上インストールする必要はありません。 – InsertNameHere
なぜ各ノードをすぐにブートストラップしないのですか? –