2016-04-15 143 views
0

有没有试过使用Ansible(ansible 1.9.4)Netscaler模块?我试图使用它,但失败,错误:Ansible netscaler模块有错误“msg”:“'NoneType'对象没有属性'读'”

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'" 
} 

注:本地主机是不是NetScaler的,它是一个管理主机。

我也尝试在剧本中使用模块,但仍然失败。

希望听到你的建议。

谢谢。

+0

什么是输出当您添加'-vvvv'? (编辑问题以包含输出)。 – tedder42

+0

@ tedder42,用-vvvv输出已被添加到问题中,但我认为它没有帮助。 “本地主机”不是NETSCALER,只是一个管理主机。谢谢。 – SGM

+0

你可以更新到1.9.5或1.9.6吗?我对bug修复有预感。 – tedder42

回答

0

虽然错误不是很丰富,但问题是连接问题。 模块未能连接到网络调节器。 检查您的网络连接&确保没有防火墙的方式。

的根本原因是从

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

“回应”什么都没有回来,如果是“无”型等json.load无法读取无。

略有更有帮助的错误处理pull请求是https://github.com/ansible/ansible-modules-extras/pull/2327

相关问题