Python
easy_install
pip
YAML
Ansible
AnsibleDay 12

AnsibleのPython APIを試す。

More than 5 years have passed since last update.


Python APIの基本的な使い方

基本的には以下のコードを実装すれば動く。

import ansible.runner

runner = ansible.runner.Runner(
module_name='モジュール名',
module_args='モジュールに渡す引数',
pattern='グループ名のパターン(ワイルドカードは*)',
forks=並列数
)
datastructure = runner.run()


以下に、対象のサーバにインストールされているPythonのバージョンを調べるプログラムを表示する。

標準エラーが返された場合には[NG]とそのエラーの内容を表示し、それ以外の場合は[OK]とPythonのバージョンを表示する。

#!/usr/bin/python

import ansible.runner
import sys

# construct the ansible runner and execute on all hosts
results = ansible.runner.Runner(
pattern='*', forks=10,
module_name='shell', module_args='python -V',
).run()

if results is None:
print "No hosts found"
sys.exit(1)

for (hostname, result) in results['contacted'].items():
if 'stderr' in result:
content = '[NG] ' + result['stderr']
else:
content = '[OK] ' + result['stdout']
print '%s:%s' %(hostname, )

明日は日本最大級の医療従事者専用サイトm3.comを運営するエムスリーの寺岡 良矩さんです。どんなトピックが待ち受けているのでしょうか。それは明日のお楽しみです。それでは今日はここまで。