summaryrefslogtreecommitdiff
path: root/roles/ipsec_policy_based/tasks/verify.yml
blob: ec85d8dcaa6d2ee09d84c6d6c791f39b28b48886 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
---
- name: Read IPsec SAs
  vyos.vyos.vyos_command:
    commands:
      - show vpn ipsec sa
  register: _ipsec_policy_based_v_sa

- name: The IPsec SA of every tunnel is up
  ansible.builtin.assert:
    that: _ipsec_policy_based_v_sa.stdout[0] is search('(?m)^' ~ (item | regex_escape) ~ '\s+up\b')
    fail_msg: "IPsec SA {{ item }} is not up"
    quiet: true
  loop: "{{ _ipsec_policy_based_sa_names }}"
  vars:
    # SA names as VyOS shows them: <peer>-tunnel-<id>
    _ipsec_policy_based_sa_names: >-
      {%- set out = [] -%}
      {%- for p in ipsec_policy_based_peers -%}
      {%-   for t in p.tunnels -%}
      {%-     set _ = out.append(p.name ~ '-tunnel-' ~ (t.id | default(loop.index))) -%}
      {%-   endfor -%}
      {%- endfor -%}
      {{ out }}