Ansible Délai d'attente (12s) dans l'attente de remontée d'invite
Je vais avoir des difficultés à faire fonctionner mon Ansible playbook sur AWS instance. Voici ma version:
$ ansible --version
ansible 2.0.0.2
J'ai créé un fichier d'inventaire:
[my_ec2_instance]
default ansible_host=MY_EC2_ADDRESS ansible_user='ubuntu' ansible_ssh_private_key_file='/home/MY_USER/MY_KEYS/MY_KEY.pem'
Test de connexion à mon serveur:
$ ansible -i provisioner/inventory my_ec2_instance -m ping
default | SUCCESS => {
"changed": false,
"ping": "pong"
}
Maintenant lors de l'exécution de mon playbook sur cet inventaire, je reçois l'erreur Timeout (12s) waiting for privilege escalation prompt
comme suit:
$ ansible-playbook -i provisioner/inventory -l my_ec2_instance provisioner/playbook.yml
PLAY [Ubuntu14/Python3/Postgres/Nginx/Gunicorn/Django stack] *****
TASK [setup] *******************************************************************
fatal: [default]: FAILED! => {"failed": true, "msg": "ERROR! Timeout (12s) waiting for privilege escalation prompt: "}
NO MORE HOSTS LEFT *************************************************************
PLAY RECAP *********************************************************************
default : ok=0 changed=0 unreachable=0 failed=1
Si je lance le même système de jeu à l'aide de la .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
que l'inventaire paramètre, il fonctionne parfaitement sur mon Vagabond de l'instance.(Je crois, prouve qu'il n'y a rien de mal dans le playbook/rôles lui-même)
Aussi, si je le lance avec un -vvvv
, copiez le exec ssh
ligne et de l'exécuter manuellement en effet, elle se connecte à AWS sans problèmes.
J'ai besoin d'ajouter un autre paramètre sur mon fichier d'inventaire pour vous connecter à une instance EC2? Ce qui me manque?
OriginalL'auteur vmenezes | 2016-09-16
Vous devez vous connecter pour publier un commentaire.
Il y a un git question à propos de cette erreur qui affectent les différentes versions de l'Ansible 2.x ici https://github.com/ansible/ansible/issues/13278#issuecomment-216307695
Ma solution était simplement pour ajouter des
timeout=30
à/etc/ansible/ansible.cfg
.Ce n'est pas une "tâche" ou "rôle" délai d'attente et cela était suffisant pour résoudre l'erreur (j'ai quelques rôles/tâches qui prennent beaucoup plus de temps que ça).
OriginalL'auteur vmenezes
Courant de phase d'installation prend plus de temps pour les instances ec2, vous devez changer les valeur de délai d'expiration dans ansible.cfg à quelque chose comme
timeout=40
. Ceci permettra de définir la valeur du délai de 40 secondes.OriginalL'auteur Mr Kashyap
L'exécuter sur l'ordinateur cible
OriginalL'auteur narayan nilesh
J'ai exécuté la commande comme suit & ça fonctionne :
commande:
OriginalL'auteur sambit
Vérifier si c'est un problème avec une ancienne version de sudo au serveur de destination. Certains vieux sudo versions n'ont pas l'option-n ansible utilise.
OriginalL'auteur Jose