Ich versuchte vor kurzem, den rpmfusion-freien Repo mit ansible auf einem entfernten Wirt zu installieren, der rhel läuft. Plötzlich waren die Server nicht mehr erreichbar.Ansible yum: Schleife über Spiegel, Halt auf Erfolg
Der PC ansible läuft auf Ubuntu 16.10 mit Laufen:
$> ansible --version
ansible 2.2.1.0
config file =
configured module search path = Default w/o overrides
Ich beschloss, das Problem zu lösen, indem Sie ansible eine Liste des Spiegels des RPMFusion Repo iterieren, und die erste Verwendung, das funktioniert , aka Looping über die Liste der Spiegel, und auf Erfolg stoppen. Hier
ist der Code, wie es vorher war:
- name: Install RPM-Fusion free
yum:
name: http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm
state: present
disable_gpg_check: true
become: true
Und hier ist, was ich versucht habe:
- name: Install RPM-Fusion free
yum:
name: "{{ item }}"
state: present
disable_gpg_check: true
become: true
register: result
until: result | succeeded
retries: 4
with_items: "{{ rpmfusion_free_mirrors }}"
rpmfusion_free_mirrors:
- "http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm"
- "http://mirrors.netix.net/rpmfusion/free/el/rpmfusion-free-release-6.noarch.rpm"
- "http://ftp-stud.hs-esslingen.de/pub/Mirrors/rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm"
- "http://mirror.de.leaseweb.net/rpmfusion/free/el/rpmfusion-free-release-6.noarch.rpm"
Wie Sie vielleicht schon erraten haben, das nicht klappt mit dem Ausgang:
FEHLGESCHLAGEN - RETRYING: AUFGABE: install-backend-rpms: Installieren Sie RPM-Fusion frei (4 Versuche bleiben übrig). FAILED - RETRYING: AUFGABE: install-backend-rpms: Installiere RPM-Fusion kostenlos (3 Versuche sind noch möglich). FAILED - RETRYING: AUFGABE: install-backend-rpms: Installiere RPM-Fusion kostenlos (2 Wiederholungen übrig). FAILED - RETRYING: AUFGABE: install-backend-rpms: Installiere RPM-Fusion kostenlos (1 Versuche sind noch möglich). fehlgeschlagen: [backend_ans_test] (item = [u 'http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm', u 'http://mirrors.netix.net/rpmfusion/free/ el/RPMFusion freie freisetzungs 6.noarch.rpm', u 'http://ftp-stud.hs-esslingen.de/pub/Mirrors/rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm', u‘http://mirror.de.leasew eb.net/rpmfusion/free /el/rpmfusion-free-release-6.noarch.rpm ']) => {"Versuche": 4, "fehlgeschlagen": true, "Gegenstand": ["http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion -freigabe-6-1.noarch .rpm " "http://mirrors.netix.net/rpmfusion/free/el/rpmfusion-free-release-6.noarch.rpm", "http://ftp-stud.hs-esslingen.de/pub/Mirrors/rpmfusion.org/ frei/el/RPMFusion-Free-Release-6.noarch.rpm"," http://mirror.de.leaseweb.net/rpmfusion/free/el/rpmfusion-free-release-6.noarch.rpm "], "msg":" Failure Download http://dow nload1.rpmfusion.org/free/ el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm, Objekt 'NoneType' hat kein Attribut 'read' "}
Es scheint mir, als ob ansible die Aufgabe als fehlgeschlagen betrachtet, wenn einer der Spiegel nicht erreichbar ist. Ich möchte jedoch, dass es möglich ist, durch die Spiegel zu gehen und zu stoppen, bis einer von ihnen erfolgreich ist.
Ich bin über einen Google-Gruppen-Thread von 2014 (GoogleGroups) gestolpert, der besagt, dass das einfach nicht funktioniert. Weiß jemand von Ihnen, ob es jetzt eine Funktion wie diese gibt oder ob ich ähnliche Funktionen auf andere Weise erreichen kann?
Beste Wünsche und danke im Voraus!