«前の日記(2016-11-14) 最新 次の日記(2016-12-07)» 編集

会長@腹部日記


2016-12-06 [長年日記]

_ Windowsに対してwait_for :port の代わりを

この記事は Ansible Advent Calendar 2016 - Qiita の6日目の記事になります。

wait_for module で portをチェックしたいのですが、Windowsに対して使えませんでした。


An exception occurred during task execution. The full traceback is:
At line:4 char:1
+ /usr/bin/python 'C:\Users\Administrator\AppData\Local\Temp\ansible-tmp-148090907 ...
+ ~~~~~~~~~~~~~~~
fatal: [1.11.111.11]: FAILED! => {
    "changed": false,
    "failed": true,
    "invocation": {
        "module_name": "wait_for"
    },
    "msg": "The term '/usr/bin/python' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again."
}

(Pythonまわりを頑張って、使えるようにしている方はいるのかもしれない...)

raw moduleを使って.NET Frameworkの処理を呼び、Windowsに対してポートが開くまでwaitさせてみました。


 - raw: "(new-object Net.Sockets.TcpClient).Connect(\"localhost\", 3780)"
   register: result
   until: result.rc == 0
   retries: 10
   delay: 30

.NET Frameworkってスゴイ(´~`)