2016-07-28 22 views
0

I Openstack mit ansible AIO zu installieren versuchen, ich lief bootstrap-ansible.sh, bootstrap-aio.sh Skripte und aktualisierten openstack_user_config.yml, user_variables.yml Dateien, dann run-playbook.sh Skript gestartet, konnte es mit folgenden Fehlern :Ein oder mehr nicht definieren Variablen: ‚dict Objekt‘ hat kein Attribut ‚ansible_ssh_host‘

TASK: [openstack_hosts | Drop hosts file entries script] *********************

fatal: [...] => {'msg': "AnsibleUndefinedVariable: One or more undefined variables: 'dict object' has no attribute 'ansible_ssh_host'", 'failed': True}

fatal: [...] => {'msg': "AnsibleUndefinedVariable: One or more undefined variables: 'dict object' has no attribute 'ansible_ssh_host'", 'failed': True}

Können Sie bitte helfen zu finden, wo das Problem auftritt und wie zu beheben?

+0

Sie könnten auf dem '# Openstack-ansible' Kanal auf irc stellen wollen (wie in [README] beschrieben (https://github.com/openstack/openstack-ansibl e/blob/master/README.rst)). – larsks

+0

Welche Version von Ansible laufen Sie? 'ansible_ssh_host' wurde in späteren Versionen von Ansible nicht mehr unterstützt und ist jetzt stattdessen' ansible_host'. – ydaetskcoR

+0

Ich benutze 'ansible 1.9.4'. – Prabhu

Antwort

1

ich das gleiche Problem auf meinem Docker eigentlich nur festen :)

Die 'dict object' das Wörterbuch Objekt bezieht, die von der user_variables.yml Datei erstellt wurde (möglicherweise, weil der ansible Compiler Python verwendet, aber ich bin nicht sicher,).

Grundsätzlich muss 'ansible_ssh_host' ein inneres Feld eines Top-Level-Objekts in user_variables.yml sein, das entweder falsch eingestellt oder falsch aufgerufen wird.

Ihr Problem zu beheben:

  1. Überprüfen Sie, ob der Wert von 'ansible_ssh_host' tatsächlich existiert. (Für mich ich tat, als ich host : "a.b.c"host : "a.b.x.c" getan haben sollte
  2. Überprüfen Sie, ob 'ansible_ssh_host' richtig geschrieben ist
  3. Überprüfen Sie, ob die user_variables.yml keine Syntaxfehler hat:.. „---“ an der Spitze, Objekt äußere Ebene ohne Leerzeichen, mit 2 Leerzeichen beginnt innere Ebene Paarung, verwendet alle außerhalb genannt Variablen die Syntax var : "{{a.b.x.c}}"

Hoffnung, das hilft.