Help us understand the problem. What is going on with this article?

Ansible 2.0 ERROR! The module wait_for host="my_host" port=22 was not found in configured module paths.

More than 3 years have passed since last update.

TL;DR

local_action の代わりに delegate_to: localhost を使う。

経緯と対応

Ansible 2.0.0.1 で既存 Playbook の動作確認をしていたら、リモートホストの再起動で local_action を使っているタスクが表題のエラーで落ちたので回避策メモ。

例えばこんなふうに非同期投げっぱの再起動タスクがある場合

- name: reboot server
  command: reboot
  async: 0
  poll: 0
  ignore_errors: true

Not working

- name: wait for reboot
  local_action:
    module: wait_for
      host="{{ inventory_hostname }}"
      port=22
      delay=5
    become: no

Work around

- name: wait for reboot
  wait_for: >
    host="{{ inventory_hostname }}"
    port=22
    delay=5
  delegate_to: localhost

まだ 2.0 にあがったばかりですし、 Github Issues も大変盛り上がってるので、とりあえず回避策だけ施して様子を見守ることにします。


以上です。

hidekuro
雑食。私がQiitaで公開する独自コードは、特に記載がない限り CC0 https://creativecommons.org/publicdomain/zero/1.0/deed.ja とします。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away