0

Ansible (ansible 1.9.4) Netscaler モジュールを使用しようとした人はいますか? 私はそれを使用しようとしましたが、エラーで失敗しました:

ansible localhost  -m netscaler -a  "nsc_host=nsc.example.com  user=nscuser password=nscpassword  name=node1.example.com type=service action=disable validate_certs=False"


localhost | FAILED >> {
    "failed": true,
    "msg": "'NoneType' object has no attribute 'read'"
}

-vvvv 出力:

<localhost> REMOTE_MODULE netscaler nsc_host=nsc.example.com    user= nscuser     password=VALUE_HIDDEN name=node1.example.com type=service action=disable validate_certs=False
<localhost> EXEC ['/bin/sh', '-c', 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1460868653.22-66856743808206 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1460868653.22-66856743808206 && echo $HOME/.ansible/tmp/ansible-tmp-1460868653.22-66856743808206']
<localhost> PUT /tmp/tmpAfQPY2 TO /home/supp/.ansible/tmp/ansible-tmp-1460868653.22-66856743808206/netscaler
<localhost> EXEC ['/bin/sh', '-c', u'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8    /usr/local/bin/python2.7 /home/supp/.ansible/tmp/ansible-tmp-1460868653.22- 66856743808206/netscaler; rm -rf /home/supp/.ansible/tmp/ansible-tmp- 1460868653.22-66856743808206/ >/dev/null 2>&1']
localhost | FAILED >> {
    "failed": true,
    "msg": "'NoneType' object has no attribute 'read'"
}

使用できない 1.9.5:

/usr/bin/ansible --version
ansible 1.9.5
  configured module search path = None


/usr/bin/ansible localhost -m netscaler -a  "nsc_host=nsc.example.com    user= nscuser     password=VALUE_HIDDEN name=node1.example.com type=service action=disable  validate_certs=False" -vvvv

<localhost> REMOTE_MODULE netscaler nsc_host=nsc.example.com    user= nscuser     password=VALUE_HIDDEN name=node1.example.com type=service action=disable validate_certs=False
<localhost> EXEC ['/bin/sh', '-c', 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1460873442.75-215681661318620 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1460873442.75-215681661318620 && echo $HOME/.ansible/tmp/ansible-tmp-1460873442.75-215681661318620']
<localhost> PUT /tmp/tmpiN_wRf TO /home/supp/.ansible/tmp/ansible-tmp-1460873442.75-215681661318620/netscaler
<localhost> EXEC ['/bin/sh', '-c', u'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8    /usr/bin/python26 /home/supp/.ansible/tmp/ansible-tmp-1460873442.75-215681661318620/netscaler; rm -rf /home/supp/.ansible/tmp/ansible-tmp-1460873442.75-215681661318620/ >/dev/null 2>&1']
localhost | FAILED >> {
    "failed": true,
    "msg": "'NoneType' object has no attribute 'read'"
}

注: localhost は NETSCALER ではなく、管理ホストです。

また、プレイブックでモジュールを使用しようとしましたが、それでも失敗しました。

あなたからの提案をお待ちしております。

ありがとう。

4

1 に答える 1

0

エラーはあまり有益ではありませんが、問題は接続の問題です。モジュールがネットスケーラーに接続できませんでした。ネットワーク接続を確認し、途中にファイアウォールがないことを確認してください。

根本的な原因は

response, info = fetch_url(self.module, request_url, data=data_json, headers=headers)
return json.load(response)

「応答」は何も返されませんでした。「None」タイプの場合は、json.load が None を読み取ることができません。

もう少し役立つエラー処理を備えたプル リクエストは、https://github.com/ansible/ansible-modules-extras/pull/2327にあります。

于 2016-07-22T13:22:40.547 に答える