aboutsummaryrefslogtreecommitdiffstats
path: root/roles/snmp/tasks/main.yml
blob: e2ca90cfb1255df6867f4b879bfd737cb5dfa61d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
- name: install packages
  dnf:
    name: '{{ snmp_packages }}'
    state: present

- name: generate config file
  template:
    src: etc/snmp/snmpd.conf.j2
    dest: /etc/snmp/snmpd.conf
    mode: 0600
  notify: restart snmpd

- name: open firewall ports
  firewalld:
    permanent: yes
    immediate: yes
    service: snmp
    state: enabled
  tags: firewalld

- name: check if snmp users are defined
  command: grep -q usmUser /var/lib/net-snmp/snmpd.conf
  failed_when: no
  changed_when: no
  register: snmp_users_exist

- name: add snmp users
  block:
  - name: stop snmpd
    systemd:
      name: snmpd
      state: stopped

  - name: add snmpv3 users
    lineinfile:
      path: /var/lib/net-snmp/snmpd.conf
      line: 'createUser {{ item.name }} SHA "{{ item.auth_pass }}" AES "{{ item.priv_pass }}"'
      insertafter: EOF
      create: yes
      mode: 0600
    loop: '{{ snmp_v3_users }}'
    loop_control:
      label: '{{ item.name }}'

  - name: enable and start snmpd
    systemd:
      name: snmpd
      enabled: yes
      state: started

  when: snmp_users_exist.rc != 0 or snmp_force_users