- name: Install 'vnstat' package package: name: vnstat state: present # Similar code block in roles/network/tasks/detected_network.yml (line ~35) and roles/network/tasks/computed_network.yml (lines ~74 and ~110) - name: "Setting iiab_wan_iface to '{{ ansible_default_ipv4.alias }}' -- using ansible_default_ipv4.alias if detected" set_fact: iiab_wan_iface: "{{ ansible_default_ipv4.alias }}" when: ansible_default_ipv4.gateway is defined # 2023-05-01: Probably no longer nec, as line 'Interface ""' in /etc/vnstat.conf (as installed by apt) automatically selects the default interface - name: Insert 'Interface "{{ iiab_wan_iface }}"' into /etc/vnstat.conf lineinfile: path: /etc/vnstat.conf regexp: '^Interface ' line: 'Interface "{{ iiab_wan_iface }}"' # - name: Install /etc/vnstat.conf from template # template: # src: vnstat.conf.j2 # dest: /etc/vnstat.conf # mode: '0744' # 2023-05-01: https://github.com/vergoh/vnstat/issues/134#issuecomment-663836557 - name: 'Precautionary Start & Enable of vnstat.service, to mitigate intermittent #3539 (''Failed to open database "/var/lib/vnstat/vnstat.db" in read-only mode'') during WAN db creation just below' systemd: name: vnstat daemon_reload: true state: started enabled: true - name: Create database for WAN to collect vnStat data shell: /usr/bin/vnstat -i {{ iiab_wan_iface }} - name: Create database for LAN to collect vnStat data if not appliance config shell: /usr/bin/vnstat -i {{ iiab_lan_iface }} when: iiab_lan_iface is defined and iiab_lan_iface != "none" # RECORD vnStat AS INSTALLED - name: "Set 'vnstat_installed: True'" set_fact: vnstat_installed: True - name: "Add 'vnstat_installed: True' to {{ iiab_state_file }}" lineinfile: path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml regexp: '^vnstat_installed' line: 'vnstat_installed: True'