2016-07-11 10 views
1

システムのCentOS 6.8 x86_64版、ansible-2.1、rundeck-2.6.8 Batix/rundeck-ansible・プラグインv1.3.0デベロッパーrundeck ansibleモジュール - いいえマッチノード

rundeckが同じansibleコントローラホスト上で実行され、そして私はちょうどrundeckのインターフェイスからplaybooksを実行したい。

SU rundeck -c "すべての-mピングansibleは"、うまく動作しますが、私はrundeckからプレイブックを実行しようとするとエラーがあります:

実行に失敗しました:10:いいえマッチしたノード:MultiNodeSelector {ノード名= [ローカルホスト]}

ジョブのノード選択は「ローカルに実行」、2番目のオプション「ディスパッチトノード」ではリストにホストがありません。私はここで何かを逃していますか? rundeckは同じホスト上でplaybookを実行する必要があり、無能な人はリモートシステムに展開します。

ありがとう、 Nir。

答えて

1

ランデックは、Anecessとは別のホストの内部在庫を保持します。プラグインはResource Model Sourceを与え、RundeckにあなたのAnsible目録を使用してノードをスキャンし、Rundeckの目録を入力させます。次に、Rundeckのインベントリに対してRundeckジョブを設定します。

Rundeck Ansible Resource Model Source Custom Inventory

:あなたはRundeckシステム上 /etc/ansible/hostsとは異なる場所に在庫を保管している場合、あなたはそのようなリソース・モデルソースにパラメータとしてそれを渡す必要がありますので、プラグインは、デフォルト値を使用しています

別の解決策は、単にansibleansible-playbookを呼び出すためのラッパーとして機能するRundeckジョブを作成し、ワークフローのステップとしてそれを置くために、次のようになります。

cd <your ansible dir> 

. env/bin/activate # we use virtualenv 
export ANSIBLE_CONFIG=/var/lib/rundeck/.ansible.cfg 
ansible-playbook -i inventory -l "$RD_OPTION_LIMIT" $RD_OPTION_ANSIBLE_OPTS playbooks/$RD_OPTION_PLAYBOOK 

Rundeckの仕事のオプションをAnothing引数のニーズに合わせて設定できるので、このようなものにはrundeck-ansible-pluginは必要ありません。

+0

危険なホストファイルはデフォルトの場所(/ etc/ansible/hosts)にありますが、シェルスクリプトやコマンドとして実行しようとしましたが、同じ理由で失敗しました - (ERROR grails.app.services.rundeck。 services.ExecutionUtilService - 実行に失敗しました:16:一致するノードがありません:MultiNodeSelector {nodenames = [localhost]}) - rundeckサービスで設定されているようです(私はrundeckで新しいです) – user3820425

+0

@ user3820425あなたはあなたのRundeckインベントリスキャン中にエラーが発生したかどうかをログに記録しますか? – thankyour

+0

丸太ログから:----- 2016-07-11 22:08:18,942 [quartzScheduler_Worker-2] WARN grails.app.services.rundeck.services.FrameworkService - 空のノードリスト 2016-07-11 22:08 :18,971 [quartzScheduler_Worker-2]エラーgrails.app.services.rundeck.services.ExecutionUtilService - 実行に失敗しました:16:一致するノードがありません:MultiNodeSelector {nodenames = [localhost]} – user3820425

関連する問題