# Anyone managing snmp on Ubuntu with Ansible?

**URL:** <https://forum.ansible.com/t/anyone-managing-snmp-on-ubuntu-with-ansible/14414>\
**Category:** Ansible Project\
**Tags:** ubuntu\
**Created:** [January 24, 2014, 1:25am UTC](https://forum.ansible.com/t/anyone-managing-snmp-on-ubuntu-with-ansible/14414 "2014-01-24T01:25:26Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![David\_Reagan](https://avatars.discourse-cdn.com/v4/letter/d/71e660/32.png) [@David\_Reagan](https://forum.ansible.com/u/David_Reagan)\
**Post date:** [January 24, 2014, 1:25am UTC](https://forum.ansible.com/t/anyone-managing-snmp-on-ubuntu-with-ansible/14414/1 "2014-01-24T01:25:26Z")

</div>

Hey all,

I’ve been looking into managing snmp via ansible. Setting the /etc/snmp/snmpd.conf file is simple enough. Just a template call.

It’s setting up a snmp v3 user that has me stumped. To do so, I run “net-snmp-config --create-snmpv3-user”, then follow the prompts.

I haven’t tried it yet, but according to the help text,

> –create-snmpv3-user [-ro] [-A authpass] [-X privpass]  
> [-a MD5|SHA] [-x DES|AES] [username]

I can just run a command to create the user directly without the prompts. That works

But I’ve never been comfortable with running a command like that every time I run a playbook, and making some kind of init variable feels clunky to me.

So, does anyone have a better idea?

Anyone working on a module for snmp?

---

<div class="post-metadata">

**Author:** ![Adam\_Morris](https://avatars.discourse-cdn.com/v4/letter/a/ecae2f/32.png) [@Adam\_Morris](https://forum.ansible.com/u/Adam_Morris)\
**Post date:** [January 29, 2014, 6:32pm UTC](https://forum.ansible.com/t/anyone-managing-snmp-on-ubuntu-with-ansible/14414/2 "2014-01-29T18:32:07Z")

</div>

Not yet, but that might be something I have to do soon…

Looking at the documentation I could find it seems like that just adds two lines to two files then restarts snmpd.

## OUTPUT

```auto
adding the following line to /var/lib/snmp/snmpd.conf:
   createUser snmpv3user MD5 "snmpv3pass" DES
adding the following line to /usr/share/snmp/snmpd.conf:
   rouser snmpv3user

```

If that is the case then surely there isn’t any issue with using Ansible to edit the files directly and then (if changed) restart the service?

Adam

---

<div class="post-metadata">

**Author:** ![David\_Reagan](https://avatars.discourse-cdn.com/v4/letter/d/71e660/32.png) [@David\_Reagan](https://forum.ansible.com/u/David_Reagan)\
**Post date:** [January 29, 2014, 6:45pm UTC](https://forum.ansible.com/t/anyone-managing-snmp-on-ubuntu-with-ansible/14414/3 "2014-01-29T18:45:58Z")

</div>

Yeah, I’ve tried that. Didn’t work. Maybe I did it wrong… Hmm…

In the default snmpd.conf file that Ubuntu installs, it says NOT to put those lines in that file. So…

---

<div class="post-metadata">

**Author:** ![dgandhi](https://avatars.discourse-cdn.com/v4/letter/d/ee7513/32.png) [@dgandhi](https://forum.ansible.com/u/dgandhi)\
**Post date:** [August 19, 2014, 3:03pm UTC](https://forum.ansible.com/t/anyone-managing-snmp-on-ubuntu-with-ansible/14414/4 "2014-08-19T15:03:37Z")

</div>

I know this is an old thread, but it came up in google, and I have a working solution now, so here it is.

The trick is to remember that /var/lib/snmp/snmpd.conf is overwritten from memory when snmpd shuts down, so it has to be off before you can write anything to it.

- hosts: monitored  
tasks:

- name: make sure snmpd is installed  
apt: name=snmpd state=present

- name: make sure snmpd is off  
service: name=snmpd state=stopped enabled=yes

- name: make sure snmpd is configured  
copy: src=snmpd.conf.etc dest=/etc/snmp/snmpd.conf

- name: make sure snmpd has creds  
lineinfile: dest=/var/lib/snmp/snmpd.conf line=‘createUser nis MD5 badpassword DES badpassword’

- name: make sure snmpd is on  
service: name=snmpd state=started

It would be nice to skip the restart if the credentials were already there, but since they are hashed there is no trivial way to check without the service restart.

on the up side, if the createUser line is redundant snmpd does not create an extra hash line, it just saves the one.

I originally tried adding the hashed credentail line before I discovered that the hash is generated with the snmpd serial#, so the hash will not validate unless generated on a machine with the same serial#

---

<div class="post-metadata">

**Author:** ![Henry\_Finucane](https://avatars.discourse-cdn.com/v4/letter/h/94ad74/32.png) [@Henry\_Finucane](https://forum.ansible.com/u/Henry_Finucane)\
**Post date:** [August 23, 2014, 8:57pm UTC](https://forum.ansible.com/t/anyone-managing-snmp-on-ubuntu-with-ansible/14414/5 "2014-08-23T20:57:56Z")

</div>

I’m glad that you wrote this down- I run snmpd on Ubuntu, and I suspect my setup only works accidentally.

---

<div class="post-metadata">

**Author:** ![David\_Reagan](https://avatars.discourse-cdn.com/v4/letter/d/71e660/32.png) [@David\_Reagan](https://forum.ansible.com/u/David_Reagan)\
**Post date:** [August 28, 2014, 10:07pm UTC](https://forum.ansible.com/t/anyone-managing-snmp-on-ubuntu-with-ansible/14414/6 "2014-08-28T22:07:39Z")

</div>

Thanks. When I was initially working on my ansible role, I wasn’t stopping snmpd before editing the conf file. So, once I copied how you are doing things, it started working. 🙂
