wake-up-neo.com

Erhöhen Sie die Zeitüberschreitung des SSH-Befehls in Ansible

Ich verwende derzeit Ansible, um Bare Metal mit einer lokalen IPv6-Link-Adresse bereitzustellen. Sobald die Server bereitgestellt sind, führt ansible eine Reihe von Tests auf dem Server als einen Shell-Befehl aus, um sicherzustellen, dass die Bereitstellung erfolgreich war. Diese Tests dauern etwa 10 Minuten. 

Das Problem, mit dem ich konfrontiert bin, ist, dass die Verbindung scheinbar abläuft, bevor der Befehl abgeschlossen ist.

Hier ist der Fehler von Ansible:

fatal: [fe80::5054:ff:XXXX:XXXX%eth0]: UNREACHABLE! => {
  "changed": false, 
  "msg": "Failed to connect to the Host via ssh: Shared connection to fe80::5054:ff:XXXX:XXXX%eth0 closed.\r\n",
  "unreachable": true
}

Wenn Sie diesen Fehler betrachten, könnte man denken, dass ein Problem mit der SSH-Verbindung vorliegt. Die SSH-Verbindung selbst ist gut, da vor dieser Task mehrere andere Tasks erfolgreich auf demselben Host ausgeführt wurden.

Wie kann ich das Zeitlimit erhöhen, damit Ansible auf den Abschluss des Befehls wartet? Kann dieses Timeout in der Ansible-Konfiguration erhöht werden, oder muss ich den Befehl selbst ändern, um das Timeout zu erhöhen? 

6
grizzthedj

Sie wollen die Aufgabe asynchron ausführen. Übergeordnete Schritte wären:

  1. bereitstellungsanforderung zum Beispiel senden
  2. holen Sie sich eine Art Instanz- oder Anforderungs-ID für die Anforderung
  3. abfrage für das Ergebnis der Anfrage
  4. spielbuch fortsetzen

hier ist ein Beispiel für dieses Verhalten aus den offiziellen Dokumenten

- name: 'YUM - fire and forget task'
  yum:
    name: docker-io
    state: installed
  async: 1000
  poll: 0
  register: yum_sleeper

- name: 'YUM - check on fire and forget task'
  async_status:
    jid: "{{ yum_sleeper.ansible_job_id }}"
  register: job_result
  until: job_result.finished
  retries: 30
6
Camilo Santana

Ich hatte fast das gleiche Problem und -vvv gab mir nicht viele Informationen. Beim Überprüfen des Syslogs im Gast zeigte sich jedoch, dass mir beim Ausführen des Ansible-Skripts der Speicher ausgeht. Es wäre gut, wenn Sie den Eintrag syslog sehen und feststellen können, ob beim Ausführen eines anpassbaren Skripts Probleme im Gastsystem auftreten.

0
IndikaM