2016-07-11 9 views
1

System: centos 6.8 x86_64- ansible-2.1, 2.6.8-Rundeck Batix/Rundeck-ansible-Plugin v1.3.0Rundeck ansible Modul - Keine abgestimmt Knoten

Rundeck auf demselben Controller ansible Host ausgeführt wird, und ich möchte nur die playbooks von rundeck interface laufen lassen.

su Rundeck -c "ansible alle -m ping", funktioniert gut, aber wenn ich versuche, von Playbooks Rundeck zu laufen gibt es einen Fehler:

Ausführung fehlgeschlagen: 10: Nein abgestimmt Knoten: MultiNodeSelector {nodenames = [ localhost]}

In den Jobs ist die Knotenauswahl "Lokal ausführen", bei der zweiten Option "Dispatch to Nodes" sind keine Hosts in der Liste. die hosts, die in den anisible playbooks angegeben sind, also muss ich es nicht auf rundeck angeben, fehle ich hier etwas? Rundeck sollte die Playbooks auf demselben Host ausführen, und das Ansible wird auf den Remote-Systemen bereitgestellt.

Danke, Nir.

Antwort

1

Rundeck behält seinen eigenen internen Bestand der Hosts, getrennt von Ansible. Das Plugin gibt Ihnen eine Resource Model Source, damit Rundeck Ihr Ansible-Inventar verwendet, um nach Knoten zu suchen und das Inventar von Rundeck zu füllen. Anschließend konfigurieren Sie Ihren Rundeck-Job für das Inventar von Rundeck.

Das Plugin verwendet die Standardwerte, so dass, wenn Sie Ihr Inventar an einem anderen Ort speichern, als /etc/ansible/hosts auf dem Rundeck-System, werden Sie, dass als Parameter an das Ressourcenmodell Quelle wie so passieren müssen:

Rundeck Ansible Resource Model Source Custom Inventory

eine andere Lösung wäre, einen Rundeck Job zu erstellen, die nur als Wrapper für den Aufruf ansible oder ansible-playbook und setzen, dass als Workflow-Schritt wirkt:

cd <your ansible dir> 

. env/bin/activate # we use virtualenv 
export ANSIBLE_CONFIG=/var/lib/rundeck/.ansible.cfg 
ansible-playbook -i inventory -l "$RD_OPTION_LIMIT" $RD_OPTION_ANSIBLE_OPTS playbooks/$RD_OPTION_PLAYBOOK 

So etwas würde das rundeck-ansible-plugin nicht erfordern, da Sie die Joboptionen für den Runddeck entsprechend Ihren Anforderungen an das Ansible-Argument konfigurieren können.

+0

Die Datei anssible hosts befindet sich an seinem Standardspeicherort (/ etc/ansible/hosts), ich habe versucht, als Shell-Skript oder Befehl auszuführen, und es ist aus dem gleichen Grund fehlgeschlagen - (ERROR grails.app.services.rundeck. services.ExecutionUtilService - Ausführung fehlgeschlagen: 16: Keine übereinstimmenden Knoten: MultiNodeSelector {nodenames = [localhost]} - so scheint es einige Einstellungen zu geben mit rundeck service (ich bin neu mit rundeck) – user3820425

+0

@ user3820425 hast du dein Rundeck angebunden Protokolle, um festzustellen, ob beim Inventarscan ein Fehler aufgetreten ist? – thankyour

+0

von Rundeck-Protokollen: ----- 2016-07-11 22: 08: 18.942 [QuarzScheduler_Worker-2] WARN grails.app.services.rundeck.services.FrameworkService - Leere Knotenliste 2016-07-11 22:08 : 18,971 [quarzScheduler_Worker-2] FEHLER grails.app.services.rundeck.services.ExecutionUtilService - Ausführung fehlgeschlagen: 16: Keine übereinstimmenden Knoten: MultiNodeSelector {nodenames = [localhost]} – user3820425