python-netsnmpagent 0.5.1 released

python-netsnmpagent version 0.5.1 has just been released.

This release has no substantial new features but a number of fixes of which the following three are important enough to warrant an update from 0.5.0:

  • netsnmpagent: Make Table’s value() method regard string lengths
  • netsnmpagent: Drop special string handling in Table’s init()/setRowCell()
  • netsnmpagent: Fix Table’s value() cutting off ASN_COUNTER64 table values

Other changes include:

  • Usage of MIB files is now completely optional
  • threading_agent got a small fix so it works on Python 2.6, too
  • __version__ got removed, use pkg_resources in your agent yourself to express version dependencies as outlined in 5715e77f’s commit message.

See the included ChangeLog for a detailed list of all changes

Ways to get the software:

  • As usual, the source is available at the GitHub repo.
  • The source distribution .tar.gz for this release can be downloaded from the PyPI page.
  • You can either build binary RPMs for your local distribution yourself (download and make rpms) or pick them up from my Open Build service project — just click on the Repositories tab and one of the Go to download repository links.

python-netsnmpagent bugfix for trailing dots in table strings

I have just pushed two fixes that should be of interest to all python-netsnmpagent users:

These changes fix the issue with trailing dots in table strings. I’ve so far only pushed them to master. I’d like to get some feedback before pushing these to the 0.5 stable branch, so please check them out :)

python-netsnmpagent 0.5.0 released

python-netsnmpagent version 0.5.0 has just been released.

This release mainly brings new features:

  • Support for detecting connection establishment/failure in spite of net-snmp API limitations.
  • Support for custom net-snmp log handlers.
  • Export module’s version to enable version checks.

Ways to get the software:

  • As usual, the source is available at the GitHub repo.
  • The source distribution .tar.gz for this release can be downloaded from the PyPI page.
  • You can either build binary RPMs for your local (SUSE) distribution yourself (download and make rpms) or pick them up from my Open Build service project — just click on the Repositories tab and one of the Go to download repository links.

python-netsnmpagent 0.4.6 released

python-netsnmpagent version 0.4.6 has just been released.

This is mainly a bugfix release with no new functional features in netsnmpagent itself:

  • With net-snmp 5.4.x, strings used to be limited in length to their initial value, an update with a longer string would truncate these. Credits for tracking down the issues behind the bug go to Max “mk23” Kalika.
  • A new subdir examples was created, example_agent renamed to simple_agent and a new second example named threading_agent was added, that demonstrates how one can use Python’s threading module to allow for asynchronous data updates.
  • All examples now use the clone’s local netsnmpagent copy instead of a possibly already installed system-wide one.
  • More explicit advertising for alternative AgentX transports, eg. TCP. We did already support these before, though.

Choices to get the software:

  • As usual, the source is available at the GitHub repo.
  • The source distribution .tar.gz for this release can be downloaded from the PyPI page.
  • You can either build binary RPMs for SuSE distributions yourself (download and make rpms) or pick them up from my Open Build service project — just click on the Repositories tab and one of the Go to download repository links.

python-netsnmpagent 0.4.5 released

python-netsnmpagent version 0.4.5 has just been released.

Just like the version released yesterday, this is only a small update with no functional changes to the Python module itself. The changes only affect packaging, trying to make package maintainers’ life easier.

  • As usual, the source is available at the GitHub repo.
  • The source distribution .tar.gz for this release can be downloaded from the PyPI page.
  • You can either build binary RPMs for SuSE distributions yourself (download and make rpms) or pick them up from my Open Build service project — just click on the Repositories tab and one of the Go to download repository links.

python-netsnmpagent 0.4.4 released

python-netsnmpagent version 0.4.4 has just been released.

This is just a small update with no functional changes to the Python module itself. The changes only affect packaging, trying to make package maintainers’ life easier.

  • As usual, the source is available at the GitHub repo.
  • The source distribution .tar.gz for this release can be downloaded from the PyPI page.
  • You can either build binary RPMs for SuSE distributions yourself (download and make rpms) or pick them up from my Open Build service project — just click on the Repositories tab and one of the Go to download repository links.

python-netsnmpagent 0.4.3 released

python-netsnmpagent version 0.4.3 has just been released. This is a bugfix release: for Table objects, the optional counter variable was not cleared when the table’s clear() method was called.

  • As usual, the source is available at the GitHub repo.
  • The source distribution .tar.gz for this release can be downloaded from the PyPI page.
  • You can either build binary RPMs for SuSE distributions yourself (download and make rpms) or pick them up from my Open Build service project — just click on the Repositories tab and one of the Go to download repository links.

python-netsnmpagent 0.4 released

python-netsnmpagent version 0.4 has just been released, more accidentally almost a month after 0.3. This release has only smaller changes that can be seen in the ChangeLog.

Update: I pushed a 0.4.1 that has a fixed .spec file that should fix the RPM build problems on OBS.

Update2: 0.4.2, just pushed, should make it possible to build for SLES11 and SLES11SP1, as well.

Links:

  • As usual, the direct source is the GitHub repo.
  • The source distribution .tar.gz for this release can be downloaded from the PyPI page.
  • You can either build binary RPMs for SuSE distributions yourself (download and make rpms) or pick them up from my Open Build service project — just click on the Repositories tab and one of the Go to download repository links.

python-netsnmpagent 0.3 released

python-netsnmpagent version 0.3 has just been released. Among other things it now comes with a ChangeLog. Highlights:

  • API change: “oidstr” and “initval” args were swapped
  • Support for SNMP contexts (thanks to Steven Hiscocks)
  • Compatibility with net-snmp versions <5.6
  • Bugfixes (eg. for counter wrapping, register scalar variables properly)

Links:

  • As usual, the direct source is the GitHub repo.
  • The source distribution .tar.gz for this release can be downloaded from the PyPI page.
  • Binary RPMs for SuSE distributions will be up later as soon as I find out how to build proper RPMs for both SuSE and non-SuSE distributions.

netsnmpagent 0.1.1 Python module released

Today I made the first public release of a new project, the netsnmpagent Python module.

From the README:


python-netsnmpagent is a Python module that facilitates writing Net-SNMP
subagents in Python. Subagents connect to a locally running Master agent
(snmpd) over a Unix domain socket (eg. "/var/run/agentx/master") and using the
AgentX protocol (RFC2747). They implement custom Management Information Base
(MIB) modules that extend the local node's MIB tree. Usually, this requires
writing a MIB as well, ie. a text file that specifies the structure, names
and data types of the information within the MIB module.

python-netsnmpagent was written after a lot of frustration trying to fix the
python-agentx module hosted on Sourceforge. I fixed some smaller issues there
but when it came to making sure that you could actually walk the whole MIB, not
just the variables registered, I realized that it would not make much sense to
reimplement the complete behavior of a proper SNMP agent when the NetSNMP API
actually can handle those things for you. Also, to be honest, I don't get
python-agentx's design :-)

python-netsnmpagent, by contrast, in the first line focusses on making the
net-snmp C agent API accessible from Python. Though I will try not to just
pass through every library call 1:1 but wrap them in a useful manner.

net-snmp itself also comes with a Python module (see the "python" subdirectory
in the source distribution), however it seems to offer bindings that implement
the client side only, not the agent side.

There is no real homepage yet, for now use the following netsnmpagent Resources: