425 votes

Vagrant bloque le délai de connexion en réessayant.

Mon vagrant fonctionnait parfaitement bien la nuit dernière. Je viens d'allumer le PC, d'appuyer sur la touche vagrant up et voilà ce que j'obtiens :

==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...

Est-ce que quelqu'un a déjà eu ce problème ? vagrant n'est pas encore très répandu sur le web et je n'arrive pas à trouver une raison pour laquelle cela se produit.

0 votes

La situation pourrait être due au fait que VirtualBox n'a pas réussi à rediriger les ports, malgré le fait qu'il ait dit ' \==> par défaut : Forwarding ports... default : 22 => 2222 (adaptateur 1) Vous pouvez consulter la description complète de ma question ici. lien . Je n'ai toujours pas la moindre idée de la façon de réparer l'échec de la redirection( Vous pouvez jeter un coup d'œil dans le journal de VirtualBox.

0 votes

J'ai le même problème. Le problème était que le serveur ssh n'était pas installé et activé sur la machine invitée.

0 votes

J'ai eu la même erreur en installant ubuntu 16.04 - le problème a été résolu en mettant à niveau la boîte virtuelle vers 5.1.x - voir askubuntu.com/a/822974/151137

383voto

Kiee Points 1584

J'ai résolu ce problème, et je répondrai au cas où quelqu'un d'autre aurait un problème similaire.

Ce que j'ai fait, c'est : J'ai activé l'interface graphique de Virtual box pour voir qu'elle attendait une entrée au démarrage pour sélectionner si je voulais démarrer directement sur ubuntu ou safemode, etc.

Pour activer l'interface graphique, vous devez mettre ceci dans votre configuration vagrant Vagrantfile :

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end

0 votes

Quel était le problème ?

17 votes

@Huuuze le problème était que la machine virtuelle ne s'est peut-être pas arrêtée correctement, et quand j'ai essayé de m'y connecter en SSH le jour suivant, la machine voulait que je sélectionne le mode dans lequel je voulais démarrer, mais via la ligne de commande je n'en avais aucune idée jusqu'à ce que j'active l'interface qui me permet de choisir le mode.

0 votes

@Kiee, merci pour cette information. Mon problème était juste d'activer pae. L'interface graphique m'a indiqué le problème.

216voto

harrie Points 391

Lorsque vous êtes coincé avec votre machine vagrant de la manière décrite ci-dessus, il n'est pas nécessaire de démarrer en mode gui (et c'est impossible sans serveur X).

Pendant que votre VM démarre, dans une fenêtre de terminal séparée, trouvez l'identifiant de la machine en cours d'exécution.

vboxmanage list runningvms

Cela donnera quelque chose comme ceci :

"projects_1234567890" {5cxxxx-cxxx-4xxx-8xxx-5xxxxxxxxxx}

Très souvent, la VM attend simplement que vous sélectionniez une option dans le chargeur de démarrage. Vous pouvez envoyer le keycode approprié (dans le cas , Enter ) au vm avec controlvm :

vboxmanage controlvm projects_1234567890 keyboardputscancode 1c

C'est tout. Votre machine virtuelle va poursuivre le processus de démarrage.

22 votes

@ParrisVarney : La plupart du temps, ce blocage est causé par le chargeur de démarrage qui attend qu'une entrée soit sélectionnée. Ceci est fait en lui envoyant la touche entrée, ce que vous pouvez faire soit en utilisant l'interface graphique, soit en utilisant la commande vboxmanage qui est l'interface de ligne de commande de VirtualBox. Vous "contrôlez" donc la VM et lui envoyez un "code de balayage" pour la touche Entrée (1C) en utilisant le paramètre keyboardputscancode .

1 votes

Je n'ai pas vraiment compris ce que ça faisait, mais ça a marché. Alors, merci.

1 votes

Cette approche particulière n'a pas fonctionné pour moi. Le seul changement que j'ai remarqué est que la sortie du message a changé par rapport à la valeur par défaut : Warning: Connection timeout. Retrying... a default: Warning: Remote connection disconnect. Retrying... après l'exécution vboxmanage controlvm dst_default_1407935479617_2464 keyboardputscancode 1c . J'essaierai le vb.gui = true à la place.

47voto

Japo Domingo Points 31

Une chose à vérifier est que la virtualisation matérielle est activée dans le BIOS de votre machine.

Mon problème est la même chaîne de délais d'attente mais je n'ai pu voir qu'un écran noir dans l'interface graphique.

Un ordinateur portable que je venais de configurer présentait le même problème. Après des heures de recherche, j'ai finalement trouvé une astuce pour voir si le BIOS avait activé la virtualisation matérielle.

Voici le contenu de l'article que j'ai trouvé :

Je vois qu'il y a encore des utilisateurs qui rencontrent ce problème. Je vais donc tenter de résumer ci-dessous une liste de solutions possibles au problème de dépassement de délai SSH :

  • Assurez-vous que votre pare-feu ou votre antivirus ne bloque pas le programme (ce qui ne devrait pas arriver souvent).
  • Donnez à votre machine vagrant un peu de temps pour que les délais d'attente se produisent. Si vous n'avez pas un PC/Mac très rapide, la VM prendra du temps pour démarrer dans un état prêt pour SSH, et des délais d'attente se produiront.
  • Par conséquent, essayez d'abord de laisser vagrant se terminer COMPLÈTEMENT avant de conclure qu'il y a un problème.
  • Si vagrant s'arrête complètement, augmentez le délai d'attente dans le fichier vagrant à quelques minutes et réessayez.
  • Si cela ne fonctionne toujours pas, essayez de démarrer proprement votre machine vagrant via l'interface VirtualBox et activez l'interface graphique de la machine au préalable. Si l'interface graphique ne montre pas que quelque chose se passe (par exemple, un écran noir, pas de texte) pendant le démarrage, alors votre machine vagrante a des problèmes.
  • Détruire toute la machine via l'interface VB et réinstaller.
  • Supprimez les fichiers image ubuntu dans le dossier Images de Vagrant dans le dossier de l'utilisateur, puis téléchargez et installez à nouveau.
  • Avez-vous au moins un processeur Intel qui prend en charge la virtualisation matérielle 64 bits ? Cherchez sur Google. Si c'est le cas, assurez-vous qu'il n'y a pas de paramètre dans votre Bios qui désactive cette fonctionnalité.
  • Désactivez la fonction hyper-v si vous utilisez Windows 7 ou 8. Google comment la désactiver.
  • Assurez-vous que vous utilisez un client SSH. Utilisez Git bash. Télécharger : http://git-scm.com/downloads
  • Installez une version 32 bits d'ubuntu comme trusty32 ou precise32. Changez simplement la version dans le fichier vagrant et réinstallez vagrant dans le nouveau répertoire.
  • Assurez-vous que vous utilisez les dernières versions de vagrant et virtualbox. Dernier recours : Formatez votre ordinateur, réinstallez Windows et achetez un processeur intel core isomething.

J'espère que cela vous aidera.

2 votes

Ensuite, il faut "vérifier que la virtualisation matérielle est activée". J'ai rencontré exactement le même problème, et le redémarrage de l'hôte puis l'activation de la virtualisation dans le BIOS ont résolu le problème pour moi.

2 votes

Je viens d'être frappé par ça. Hyper-V en était la cause et sa désinstallation l'a réglé. tyvm

1 votes

De façon contre-intuitive, dans mon BIOS, j'ai dû désactiver la virtualisation et activer VT-X. Essayez de modifier ces paramètres dans votre BIOS.

35voto

Marcin Nabiałek Points 13843

J'ai eu exactement le même problème. J'ai pensé que le problème pouvait provenir des clés SSH (mauvaise localisation du fichier ou autre chose mais j'ai vérifié plusieurs fois) mais vous pouvez toujours ajouter dans la section configurer le nom d'utilisateur et le mot de passe (sans utiliser les clés ssh) et lancer le gui de sorte que le code en Vagrantfile devrait ressembler plus ou moins à ce qui suit :

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.ssh.username = "vagrant"
  config.ssh.password = "vagrant"

   config.vm.provider "virtualbox" do |vb|
     vb.gui = true
   end
end

Dans mon cas, même si l'interface graphique était affichée, j'ai obtenu un écran noir (aucune erreur ou possibilité de se connecter ou autre) et dans la console, j'ai obtenu le message suivant Error: Connection timeout. Retrying... plusieurs fois. Je me suis assuré que VT-x (virtualisation) était activé dans le BIOS, j'ai vérifié de nombreuses combinaisons de versions de Virtual Box et de Vagrant ensemble et de nombreuses boîtes Vagrant (pour certaines d'entre elles, je n'ai pas eu d'écran noir dans l'interface graphique mais j'ai toujours des problèmes de connexion). Enfin, j'ai mis à jour VirtualBox et Vagrant vers les dernières versions et le problème est toujours là.

La chose cruciale était de regarder les icônes dans VirtualBox après avoir lancé vagrantup (avec l'interface graphique en Vagrantfile comme je l'ai montré ci-dessus) comme sur l'image ci-dessous

enter image description here

Bien que je n'aie pas eu d'erreur dans VirtualPC (pas d'avertissement indiquant que VT-x n'est pas activé), mon ordinateur n'a pas eu de problème. V L'icône a été grisée plus tôt, ce qui signifie que le VT-x a été désactivé. Comme je l'ai dit, je l'avais activé dans mon BIOS tout le temps.

Finalement, j'ai réalisé que le problème pourrait être HYPER-V que j'ai également installé et activé pour tester les sites sur les anciens Internet Explorer. Je suis allé sur Windows Control Panel -> Programs and functions / Software et choisissez dans le menu à gauche Turn on or Turn off Windows functions (j'espère que vous les trouverez, j'utilise un Windows polonais et je ne connais pas les noms anglais exacts). J'ai désactivé Hyper-V, redémarré le PC et après avoir lancé Virtual Box et vagrant up Je n'ai finalement pas eu d'erreur, dans le GUI j'ai l'écran de connexion et mon V L'icône s'est arrêtée pour être grise.

J'ai perdu beaucoup de temps à résoudre ce problème (et de nombreux redémarrages de PC). J'espère donc que cela pourra être utile à tous ceux qui ont des problèmes sous Windows - assurez-vous que Hyper-V est désactivé dans votre Panneau de configuration.

1 votes

C'était le problème ! J'ai activé la virtualisation dans le BIOS et désactivé HYPER-V dans Programmes et fonctions. Ça a marché comme sur des roulettes !

0 votes

@Heroselohim Content que ça vous ait aidé, ça m'a pris beaucoup de temps pour le résoudre.

1 votes

Le mot de passe ssh explicite m'aide lorsqu'un dossier avec un sous-dossier point vagrant réside dans Dropbox ou est partagé autrement entre des machines avec des clés ssh potentiellement différentes.

19voto

kri Points 19

J'ai rencontré le même problème sur une machine Windows 8.1. Le délai de connexion et l'activation de l'interface n'étaient pas du tout utiles, l'écran était noir. La solution dans mon cas a été de désactiver "Hyper V".

Citation de la documentation de Vagrant https://docs.vagrantup.com/v2/hyperv/index.html

Avertissement : Si vous activez Hyper-V, VirtualBox, VMware et toute autre technologie de virtualisation ne fonctionneront plus. Voir cet article de blog https://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx pour un moyen facile de créer une entrée de démarrage pour démarrer Windows sans Hyper-V activé, s'il y a des moments où vous aurez besoin d'autres hyperviseurs.

5 votes

Ça a marché pour moi. J'ai simplement désactivé Hyper-V dans Programmes et fonctionnalités.

0 votes

J'ai essayé toutes les solutions précédentes et seule celle-ci a fonctionné pour moi aussi !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X