---
- debug: msg="START TRANSPORT:{{ connection.transport }} nxos_ospf_vrf sanity test"

- name: "Enable feature OSPF"
  nxos_feature:
    feature: ospf
    state: enabled
    provider: "{{ connection }}"
  ignore_errors: yes

- block:
  - name: Configure ospf vrf
    nxos_ospf_vrf: &config
      ospf: 1
      router_id: 1.1.1.1
      timer_throttle_spf_start: 50
      timer_throttle_spf_hold: 1000
      timer_throttle_spf_max: 2000
      timer_throttle_lsa_start: 60
      timer_throttle_lsa_hold: 1100
      timer_throttle_lsa_max: 3000
      vrf: test
      passive_interface: true
      state: present
      provider: "{{ connection }}"
    register: result

  - assert: &true
      that:
        - "result.changed == true"

  - name: "Check Idempotence"
    nxos_ospf_vrf: *config
    register: result

  - assert: &false
      that:
        - "result.changed == false"

  rescue:
  - name: "Disable feature OSPF"
    nxos_feature:
      feature: ospf
      state: disabled
      provider: "{{ connection }}"
    ignore_errors: yes

  always:
  - name: Unconfigure ospf vrf
    nxos_ospf_vrf: &unconfig
      ospf: 1
      vrf: test
      state: absent
      provider: "{{ connection }}"
    register: result

  - assert: *true

  - name: "Check Idempotence"
    nxos_ospf_vrf: *unconfig
    register: result

  - assert: *false

- debug: msg="END TRANSPORT:{{ connection.transport }} nxos_ospf_vrf sanity test"
