4

ipmitoolsでansible シェル モジュールを使用してサーバーを起動し、起動したらそのサーバーで構成を変更しようとしています。

ansible がインストールされたサーバーには ipmitools もあります。

ansible を使用するサーバーでは、ipmitools を実行してターゲット サーバーを起動し、その上でプレイブックを実行する必要があります。

ansible を実行しているサーバーでローカル ipmi コマンドを実行して、ansible を介してターゲット サーバーを起動し、ターゲット サーバーで ssh 経由ですべての Playbook を実行する方法はありますか。

4

1 に答える 1

5

パラメータを指定することで、任意のコマンドをローカルで実行できdelegate_toます。

- shell: ipmitools ...
  delegate_to: localhost

ansible が ssh 経由での接続について不平を言う場合はlocalhost、次のようにインベントリにエントリを追加する必要があります。

localhost              ansible_connection=local

またはでhost_vars/localhost

ansible_connection: local

動作パラメータを参照してください。

次に、サーバーが起動して ssh 経由でアクセスできるようになるまで待つ必要があります。これは、このトピックをカバーするAnsibleの記事であり、これは彼らがリストしたタスクです:

- name: Wait for Server to Restart
  local_action:
    wait_for
    host={{ inventory_hostname }}
    port=22
    delay=15
    timeout=300
  sudo: false

それがうまくいかない場合 (古い記事であり、以前にこのソリューションで問題があったと思うため)、この SO questionの回答を調べることができます。

于 2015-08-02T19:06:30.387 に答える