pyARS - the swiss knife for the Remedy developer and admin

Docs

We release this piece of software under the GNU Public License in the hope that it will be useful to some people out there. We use opensource software extensively, and would like to contribute back to the community. We also invite you to participate in the further development of pyars.

success stories

We at Ergorion have used this as a plattform for developing a whole bunch of useful applications (scripts to quickly create or modify data entries and configuration data, check the health status of your CMDB, visualize the contents of your CMDB, analyze the workflow, etc.; over at our website you will find more information about Remedy and CMDB tools, including info about our complete MVC (model, view, controler) compliant library for outputting any Remedy data structure in any format you wish).

In another project we wanted to synchronize our user data as stored in ARSystem with the central LDAP directory. So, we got the python ldap module (for windows; update: in the mean time, we have this running under Solaris as well), wrote a short script, and had updated employee numbers, phone numbers, country information etc. The worst part was getting the correct LDAP keys and filters. But then, roughly 3 pages of code (mainly validation), and after roughly 30 min run time, we had 15.000 users updated.

Load testing: Turns out, that with python’s “batteries included”, it’s extremely easy to load test your remedy server: use this pyars module, write a function that in a loop e.g. creates 1000 entries in a form. Then, using Python’s multiprocessing module, create a couple of processes that all execute this function. Create those processes with a certain rampup time and you have a nice load tester.

Another project kept track of the login status of their users, using a homegrown C program (that was run every 5 min by an escalation). This C program was developed when the user community had just a couple of hundred members. Years later, they found themselves with more than 11.000 users and the issue that the program would take more than 20 min to run. While re-implementing the tool in python, the source code could be reduced from 11 pages of C code to 4 pages of Python code; the algorithm was reduced from an exponential complexity to a quadratic complexity, reducing the run time (in Python!) to less than 30 secs.

Of course, we would like to hear from your stories, then we can publish them here!