diff options
author | Emil Renner Berthing <esmil@labitat.dk> | 2019-04-01 12:34:26 +0200 |
---|---|---|
committer | Emil Renner Berthing <esmil@labitat.dk> | 2019-04-01 13:07:23 +0200 |
commit | af333f0ec23a9784756a8b0e53a9896d7f61525f (patch) | |
tree | 41614be62a37439df8ed101a8d8e14af72a09ee6 /roles | |
parent | 88756850d1a5cb28b897bdcc9337fcb6977aad0b (diff) | |
download | labitat-ansible-af333f0ec23a9784756a8b0e53a9896d7f61525f.tar.gz labitat-ansible-af333f0ec23a9784756a8b0e53a9896d7f61525f.tar.xz labitat-ansible-af333f0ec23a9784756a8b0e53a9896d7f61525f.zip |
space_server: vars: rework local_hosts
..to get rid of the need for ipv4/ipv6 filters
and python-netaddr dependency.
Diffstat (limited to 'roles')
-rwxr-xr-x | roles/space_server/bootstrap.sh | 2 | ||||
-rw-r--r-- | roles/space_server/templates/avahi-hosts.j2 | 20 | ||||
-rw-r--r-- | roles/space_server/templates/dhcpd.conf.j2 | 4 | ||||
-rw-r--r-- | roles/space_server/templates/s.zone.j2 | 10 | ||||
-rw-r--r-- | roles/space_server/vars/main.yml | 30 |
5 files changed, 37 insertions, 29 deletions
diff --git a/roles/space_server/bootstrap.sh b/roles/space_server/bootstrap.sh index dae4460..6d09592 100755 --- a/roles/space_server/bootstrap.sh +++ b/roles/space_server/bootstrap.sh @@ -59,7 +59,7 @@ dnf \ --disablerepo='*' \ --enablerepo=fedora \ --enablerepo=updates \ - install glibc-langpack-en dnf git ansible python3-netaddr python-unversioned-command + install glibc-langpack-en dnf git ansible python-unversioned-command if [[ -f "$secrets" ]]; then install -m660 "$secrets" "$dest$secrets" diff --git a/roles/space_server/templates/avahi-hosts.j2 b/roles/space_server/templates/avahi-hosts.j2 index f87ad4b..1e371e6 100644 --- a/roles/space_server/templates/avahi-hosts.j2 +++ b/roles/space_server/templates/avahi-hosts.j2 @@ -1,14 +1,18 @@ {% for host in local_hosts %} {% if 'mdns' not in host or host.mdns %} -{% for ip in host.ips | ipv4 %} -{% if loop.index <= 1 %} +{% if 'ipv4' in host %} +{% for ip in host.ipv4 %} +{% if loop.index <= 1 %} {{ ip }} {{ host.name }}.local -{% endif %} -{% endfor %} -{% for ip in host.ips | ipv6 %} -{% if loop.index <= 1 %} +{% endif %} +{% endfor %} +{% endif %} +{% if 'ipv6' in host %} +{% for ip in host.ipv6 %} +{% if loop.index <= 1 %} {{ ip }} {{ host.name }}.local -{% endif %} -{% endfor %} +{% endif %} +{% endfor %} +{% endif %} {% endif %} {% endfor %} diff --git a/roles/space_server/templates/dhcpd.conf.j2 b/roles/space_server/templates/dhcpd.conf.j2 index e071a88..23e08da 100644 --- a/roles/space_server/templates/dhcpd.conf.j2 +++ b/roles/space_server/templates/dhcpd.conf.j2 @@ -105,14 +105,14 @@ subnet 10.42.3.0 netmask 255.255.255.0 { group { use-host-decl-names on; {% for host in local_hosts %} +{% if 'mac' in host and 'ipv4' in host %} -{% if 'mac' in host %} {% if 'description' in host %} # {{ host.description }} {% endif %} host {{ host.name }} { hardware ethernet {{ host.mac }}; - fixed-address {{ host.ips | first }}; + fixed-address {{ host.ipv4|join(', ') }}; {% if 'filename' in host %} filename "{{ host.filename }}"; {% endif %} diff --git a/roles/space_server/templates/s.zone.j2 b/roles/space_server/templates/s.zone.j2 index 6bf9718..a392f3d 100644 --- a/roles/space_server/templates/s.zone.j2 +++ b/roles/space_server/templates/s.zone.j2 @@ -9,13 +9,17 @@ labitrack.s. 600 IN AAAA 2a01:4262:1ab::cafe track.s. 600 IN A 185.38.175.70 track.s. 600 IN AAAA 2a01:4262:1ab::cafe {% for host in local_hosts %} +{% if 'ipv4' in host or 'ipv6' in host %} -{% if 'ips' in host and host.ips|length > 0 %} -{% for ip in host.ips|ipv4 %} +{% if 'ipv4' in host %} +{% for ip in host.ipv4 %} {{ host.name }}.s. 600 IN A {{ ip }} {% endfor %} -{% for ip in host.ips|ipv6 %} +{% endif %} +{% if 'ipv6' in host %} +{% for ip in host.ipv6 %} {{ host.name }}.s. 600 IN AAAA {{ ip }} {% endfor %} {% endif %} +{% endif %} {% endfor %} diff --git a/roles/space_server/vars/main.yml b/roles/space_server/vars/main.yml index 1914374..387a7c9 100644 --- a/roles/space_server/vars/main.yml +++ b/roles/space_server/vars/main.yml @@ -20,7 +20,6 @@ dnf_packages: 'dosfstools': present 'btrfs-progs': present 'ansible': present - 'python3-netaddr': present # for avahi-hosts template 'git': present 'htop': present 'man-db': present @@ -64,67 +63,68 @@ local_hosts: description: Front door controlling Raspberry Pi mac: b8:27:eb:d9:92:00 mdns: false - ips: + ipv4: - 10.42.0.3 - name: foodputer mac: 00:d0:59:37:5e:37 mdns: false - ips: + ipv4: - 10.42.0.4 - name: ap1 mdns: false - ips: + ipv4: - 10.42.0.5 - name: ap2 mdns: false - ips: + ipv4: - 10.42.0.6 - name: switch mac: 00:1b:11:6f:42:f8 mdns: false - ips: + ipv4: - 10.42.0.9 - name: lathe mdns: false - ips: + ipv4: - 10.42.0.12 - name: anna mac: 00:e0:c5:6e:d6:8d - ips: + ipv4: - 10.42.1.9 - name: printbrother mac: 00:80:77:06:9f:26 - ips: + ipv4: - 10.42.1.32 - name: xeroxwax mac: 00:00:aa:a7:ef:8b mdns: false - ips: + ipv4: - 10.42.1.33 - name: infotron description: Infoscreen Raspberry Pi mac: b8:27:eb:2c:5d:3a - ips: + ipv4: - 10.42.1.34 - name: spacemon mac: b8:27:eb:24:f8:50 - ips: + ipv4: - 10.42.1.35 - name: jumbotron description: Jumbotron Raspberry Pi mac: b8:27:eb:d3:c1:62 - ips: + ipv4: - 10.42.1.36 - name: hplaserjet mac: 94:57:a5:ce:e2:6c mdns: false - ips: + ipv4: - 10.42.1.37 + ipv6: - 2a01:4262:1ab:b:9657:a5ff:fece:e26c - name: snakeskin description: Snakeskin controlling Raspberry Pi mac: b8:27:eb:9b:64:d9 - ips: + ipv4: - 10.42.1.38 # vim: set ts=2 sw=2 et: |