Ich komme aus Ingolstadt und wir versuchen, unsere Gateways anhand eures Ansible-Setups aufzusetzen. Das klappt ganz gut, aber ein paar Verständnisfragen bei der Konfiguration sind noch offen:
group_vars: freifunk.domain vs. hostname_suffix
Wenn ich es richtig sehe wird im Setup der Ansible-Rollen eigentlich immer {{freifunk.domain}} als Domainname benutzt.
Mit einer Ausnahme: In hostname/tasks/main.yml wird der aus „{{inventory_hostname_short}}{{hostname_suffix}}“ generierte Hostname in /etc/hosts für’s Loopback-Device eingetragen - aber offenbar nirgendwo verwendet.
Wozu dient die Unterscheidung zwischen freifunk.domain und hostname_suffix?
host_vars: server_id vs. vm_id
In eurem Inventory ist server_id eigentlich immer gleich der vm_id. Ausnahme: „remue-04“ teilt sich die server_id mit „fanlin“, die vm_id ist dagegen immer eindeutig. Wo ist der Unterschied zwischen server_id und vm_id?
zu 1:) Ich denke, das ist eine Altlast. hostname_suffix steht bei uns auf servers.freifunk-muensterland.de. Wohingegen freifunk.domain nur freifunk-muensterland.de ist. Ich denke, wir können {{hostname_suffix}} durch servers.{{freifunk.domain}} an den zwei Stellen in der hostname-Rolle ersetzen und die Variable hostname_suffix entfernen. Die Rolle hostname war die allererste und wurde von Leuten geschrieben, die heute nicht mehr aktiv sind. Vermutlich wurde es einfach bei der Weiterentwicklung übersehen.
Zu 2): Auch irgendwie historisch gewachsen. Ursprünglich hatten wir pro Domäne auf einem Blech eine eigene VM. Dafür gab es die Variable server_id. Dann haben wir mit diesen Multidomänengateways angefangen. Da wir die server_id benutzt hatten um diverse Sachen für die Domänen daraus abzuleiten, wurde die server_id dann in die domaenenliste verschoben, bzw. kopiert. Da die Transition ziemlich lange gedauert hat, haben wir die alte Variable erst noch stehen gelassen. Und die Variable pro VM/Server hieß dann vm_id. Eigentlich gibt es drei Sachen, die man auseinanderhalten muss:
host_vars/server_id
host_vars/vm_id
domaenenliste/server_id
Soweit ich das mit grep auf die schnelle sehen konnte, wird die host_vars/server_id abgesehen von ein paar veralteten und ein paar Testrollen nur noch an ein zwei Stellen verwendet. Das könnte man auch gerade ziehen und die host_vars/server_id entfernen.
Grüße
Matthias
PS: Remü-04 zählt nicht. Das ist diese Dom06-Fastd-Antiquität.
Wobei wir das nicht auf eth0 haben. Es kann sein, dass das mal gemacht wurde, damit der Server weiß, dass er sowohl auf eth0 als auch auf der Nat-IP über den Domainnamen angesprochen werden kann.
# cat /etc/hosts
127.0.0.1 parad0x parad0x.servers.freifunk-muensterland.de localhost
127.0.1.1 parad0x.tarumba.de parad0x
# The following lines are desirable for IPv6 capable hosts
::1 parad0x parad0x.servers.freifunk-muensterland.de localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Wenn wir das da rausnehmen, müssen wir es zumindest mit eth0 eintragen.
Ich hab dazu auch nur sehr dürftige Infos gefunden. Auf den Servern auf die ich Zugriff habe gibt’s diese EInträge zu etwa 1/3, so richtig notwendig dürfte es also nicht sein.
Falls ihr das beibehalten wollt hätte ich aber gerne „hostname_suffix“ wieder: Bei uns entspricht der interne Hostname dem externen, hostname_suffix ist also gleich freifunk.domain, und wir würden das gerne beibehalten. Wenn möglich.
Jetzt, ohne hostname_suffix, wird in die /etc/hosts „.servers.<freifunk.domain>“ eingetragen.
Ich hatte übersehen dass ihr die servers-Subdomain für eure Server benutzt.
Wir nutzen keine Subdomain, darum haben wir hostname_suffix auf den gleichen Wert wie freifunk.domain gesetzt. Damit wurde (und sollte, weil es offenbar nicht unnötig ist) bei uns in die /etc/hosts „.<freifunk.domain>“ eingetragen sein.
@citronalco, hast du eine Idee, wie wir aus den inkompatiblen Konfigurationen sauber rauskommen? Sollen wir die Subdomain .server einfach optional machen?
Ich glaube, ich fange jetzt erst an richtig zu verstehen was ihr da genau macht.
Ihr werdet wohl auch nichts dagegen haben das Thema erst mal so zu lassen wie es ist.