woodpecker-agent: force docker restart if IPv6 not active #53
@@ -7,6 +7,25 @@
|
||||
when: woodpecker_agent_docker_ipv6 | bool
|
||||
notify: Restart docker
|
||||
|
||||
# The daemon.json change only restarts Docker on change; the earlier
|
||||
# self-deploy restarts were unreliable, so verify Docker actually loaded the
|
||||
# IPv6 config and force a (deferred) restart if not — idempotent once active.
|
||||
- name: Check whether Docker already has IPv6 active on the default bridge
|
||||
ansible.builtin.command: "docker network inspect bridge --format '{% raw %}{{.EnableIPv6}}{% endraw %}'"
|
||||
register: _docker_bridge_v6
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: woodpecker_agent_docker_ipv6 | bool
|
||||
|
||||
- name: Force a deferred Docker restart if IPv6 isn't active yet
|
||||
ansible.builtin.command: >-
|
||||
systemd-run --on-active=15s --timer-property=AccuracySec=100ms
|
||||
systemctl restart docker
|
||||
when:
|
||||
- woodpecker_agent_docker_ipv6 | bool
|
||||
- "'true' not in (_docker_bridge_v6.stdout | default('') | lower)"
|
||||
changed_when: true
|
||||
|
||||
- name: Create Woodpecker agent directory
|
||||
file:
|
||||
path: "{{ woodpecker_agent_compose_dir }}"
|
||||
|
||||
Reference in New Issue
Block a user