better IPv6 network config fix
authorRalf Jung <post@ralfj.de>
Fri, 10 Aug 2018 10:59:53 +0000 (12:59 +0200)
committerRalf Jung <post@ralfj.de>
Fri, 10 Aug 2018 11:11:44 +0000 (13:11 +0200)
playall
roles/apache/tasks/main.yml

diff --git a/playall b/playall
index 8203a0f..98310c0 100755 (executable)
--- a/playall
+++ b/playall
@@ -3,6 +3,6 @@ set -e
 
 for HOST in $(fgrep 'all:' hosts | sed 's/.*all: *//g'); do
   echo "Playing on $HOST"
-  ansible-playbook site.yml -l "$HOST" "$@"
+  "$(dirname "$0")"/play "$HOST" "$@"
   echo
 done
index 1280595..5943499 100644 (file)
     dest: /etc/apache2/sites-available/000-default.conf
     src: templates/000-default.conf
   notify: apache
-# work-arounds and hacks
-- name: cronjob to fix apache startup
+# IPv6 autconf issues: DAD makes addresses appear but unusable, which breaks services startup
+- name: tweak apache systemd unit (create dir)
+  file: path=/etc/systemd/system/apache2.service.d state=directory
+- name: tweak apache systemd unit
+  copy:
+    dest: /etc/systemd/system/apache2.service.d/override.conf
+    content: |
+      [Unit]
+      After=network-online.target
+- name: sysconfig to disable DAD
+  copy:
+    dest: /etc/sysctl.d/50-no-dad.conf
+    content: |
+      # Disable DAD so network-online.target works for IPv6
+      net.ipv6.conf.all.accept_dad=0
+- name: cleanup cronjob to fix apache startup
   cron:
     name: "apache2-start-fix"
     minute: "*/5"
     job: "if systemctl is-failed apache2 >/dev/null; then echo 'restarting apache'; systemctl restart apache2; fi"
+    state: absent