aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Renner Berthing <esmil@labitat.dk>2019-04-01 12:34:26 +0200
committerEmil Renner Berthing <esmil@labitat.dk>2019-04-01 13:07:23 +0200
commitaf333f0ec23a9784756a8b0e53a9896d7f61525f (patch)
tree41614be62a37439df8ed101a8d8e14af72a09ee6
parent88756850d1a5cb28b897bdcc9337fcb6977aad0b (diff)
downloadlabitat-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.
-rwxr-xr-xroles/space_server/bootstrap.sh2
-rw-r--r--roles/space_server/templates/avahi-hosts.j220
-rw-r--r--roles/space_server/templates/dhcpd.conf.j24
-rw-r--r--roles/space_server/templates/s.zone.j210
-rw-r--r--roles/space_server/vars/main.yml30
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: