2016-04-15 1 views
0

Avez-vous essayé d'utiliser le module Netscaler Ansible (ansible 1.9.4)? J'ai essayé de l'utiliser, mais avec l'erreur:Le module de netscaler Ansible a l'erreur "msg": "L'objet 'NoneType' n'a aucun attribut 'read'"

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

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

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

Note: localhost n'est pas NETSCALER, il est un hôte de gestion.

J'ai également essayé d'utiliser le module dans le playbook mais j'ai quand même échoué.

Nous espérons recevoir des suggestions de votre part.

Merci.

+0

Quelle est la sortie lorsque vous ajoutez '-vvvv'? (Editez la question pour inclure la sortie). – tedder42

+0

@ tedder42, la sortie avec -vvvv avait été ajoutée à la question, mais je ne pense pas que ce soit utile. Le "localhost" n'est pas NETSCALER, juste un hôte de gestion. Merci. – SGM

+0

Pouvez-vous mettre à jour à 1.9.5 ou 1.9.6? J'ai une intuition sur un bugfix. – tedder42

Répondre

0

Bien que l'erreur ne soit pas très informative, le problème est celui de la connectivité. Le module n'a pas pu se connecter au netscaler. Vérifiez votre connexion réseau & Assurez-vous qu'aucun pare-feu ne se trouve sur votre chemin.

La cause racine est de

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

« réponse » n'a rien de nouveau est donc si le type « Aucun » et ainsi json.load ne peut pas lire Néant.

Une demande de traction avec le traitement des erreurs un peu plus utile est à https://github.com/ansible/ansible-modules-extras/pull/2327