Fragen zu Ansible-Variablen: hostname_suffix und server_id/vm_id

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:

  1. 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?

  2. 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?

Moin @citronalco und Willkommen im Forum,

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.

@corny456, stimmst du zu?

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.

Jap…

(1) habe ich erledigt.
(2) müssen wir uns mal mit Verstand ansehen

Zu 1: Ist das Setzen des Hostnamens auf’s loopback-Device überhaupt notwendig?

Ich weiß es nicht genau. Meines Wissens nach ist das so üblich. Habe da aber auch nur Halbwissen.

Scheinbar ist das eine Unart: https://unix.stackexchange.com/questions/263357/should-etc-hosts-contain-an-entry-for-the-fqdn-that-maps-to-a-loopback-address

Kann also weg.

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.

Jain…
Solange DNS auf der Kiste funktioniert kann er es ja auflösen.

Meines Wissens nach brauchen einige Dienste diese Info lokal. Externe Quellen sind ja ggfs. unvertrauenswürdig.

2 Like

Valides Argument…

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.

Verstehe ich nicht.

Man braucht doch dieselbe Varialbe nicht doppelt.

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.

Du hattest vorher also die Variable bei dir anders bzw. falsch gesetzt :wink:.

Das jetzt beizubehalten hilft aber auch nicht.

Wir können eher überlegen, ob wir eine optionale Subdomäne für die servers einfügen.

Beschluss Treffen 02.10.2019:

server_id kann weg.

@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.

2 Like