Hallo,
leider können mit der Rolle, die ich gebaut habe, die DHCP-Bereiche nur berechnet werden, wenn man alle Gateways ausrollt, weil Ansible sonst beim Durchsuchen aller Gateways in den Rollen collectd und gateways_kea_configure ins Schleudern kommt. Dort werden nämlich auch die server_ids der anderen Gateways in der jeweiligen Domäne benötigt um damit Berechnungen anzustellen.
Außerdem dauert das Berechnen der Bereiche ewig. Mir ist nicht klar, weil es nur drei verschachtelte Schleifen sind, wäre das eine halbwegs performante Programmiersprache, wäre das in Sekunden erledigt. Ansible braucht irgendwie gefühlt 45 min nur zum Berechnen der Variablen. Zumindest auf meinem Laptop, auf dem i7 ging es schneller.
Wie wollen wir weiter verfahren? Ein passabler Weg wäre, in der Übergangsphase weiterhin die server_id und die DHCP-Bereiche in die host_vars zu schreiben und später dann einmal komplett zu eleminieren.
Unabhängig davon müsste man auch die Algorithmen in collectd und gateways_kea_configure ändern, sofern man auf die server_id komplett verzichten will. Einen Algorithmus um das Partnergateway zu ermitteln, hab ich geschrieben. Den könnte man hier lokal anwenden. Schön ist anders, aber geht wohl nicht anders.
Was meint ihr?
- Auf Performance verzichten und den dualen Weg weitergehen, die fehlenden Variablen am Anfang zu berechnen. Dazu müsste die Rolle, die die fehlenden Variablen berechnet, noch so umgebaut werden, dass sie das für alle Gateways tut, auch wenn man nur eines ausrollt.
- Nur noch statische IP-Bereiche, aus der Domänenliste eine simple Liste machen
- Weiterhin die gesamte, ausführliche Konfiguration in die host_vars schreiben, was aber weiterhin inkonsistent zu IPV6 wäre.
Grüße
Matthias