Released November 28, 2017


Improved pScheduler Archiving Performance

  • Archiver plug-ins now support “streaming” mode. This limits the number of new processes that need to be spawned on hosts with a high volume of results to archive. For example, this can greatly reduce CPU usage and load on systems running a high number of OWAMP tests.

pScheduler JQ Support

  • Advanced feature that includes jq support for in-line JSON manipulation
  • For archiving, allows one to transform JSON result into a different format without the need to write a new pScheduler plug-in
  • For limit system allows transformation of downloaded CIDR lists and additional ability to make pass/fail decisions
  • Expect a future webinar on this topic

pScheduler Context Plug-in Support

  • New plug-in type added called Contexts that allows modification of execution environment before a task is run
  • The first (and currently only) plug-in of this type has ability to setup network namespaces prior to task execution

pScheduler SNMP Plug-ins (Beta)

  • The University of Michigan has developed a beta pScheduler plug-ins for interacting with SNMP data. None of the plug-ins are installed by default but can be installed via yum or apt-get.
  • This includes the following test plug-ins:
    • pscheduler-test-snmp-get - fetches snmp values
    • pscheduler-test-snmp-getbgm - fetches snmp values and monitors for deltas
    • pscheduler-test-snmp-set - sets SNMP values.
  • It includes the tool plug-ins pscheduler-tool-net-snmp, pscheduler-tool-net-snmp-set and pscheduler-tool-pysnmp that implement the above tests
  • It includes an archiver called pscheduler-archiver-snmptrap that allows one to generate SNMP traps from pscheduler results

Detailed Bug Fixes and Changes


  • Improved safety of automatic program restarts.
  • Added a key parameter and corresponding command-line options that require presentation of the key to make modifications to an existing task from remote hosts.
  • Added plugins and task configuration for changing execution context (notably Linux network namespace) before running a task’s tool.
  • Added an identifier to the limit system which makes yes/no decisions based on the requester and server IPs using a JQ script.
  • Added a limit which makes pass/fail decisions using a JQ script.
  • Added a small library of JQ functions useful in transforms.
  • API added the ability to filter on server-added details when querying tasks.
  • Changed the interface to archivers to use a streaming I/O instead of invoking each one per result.
  • Added a the ability for the ip-cidr-list-url limit to use JQ to transform downloaded JSON into the required plain-text format.
  • Added pScheduler-specific verb limits to eliminate problems caused by OS vendor fix for CVE-2017-9798.
  • Made edits of pg_hba.conf by packages atomic to prevent potential for file to be empty or missing

Bundles and Shared Libraries

  • Improved handling of UTF-8 characters in library functions that read configuration files and interact with APIs
  • Added additional checks to URLs given to esmond clients to make sure they are only used as intended
  • Fixed issue that caused hanging when trying to reach LS bootstrap file


  • Upgraded to Django 1.10
  • Better error handling and processing of data in script. It should timeout less and will not crash if an individual query times-out or throws other errors.


  • Adjusted security headers to allow graphs to talk to remote measurement archives
  • Minified javascript to increase load time
  • Fixed traceroute URL when more than one MA given to graph
  • Fixed display issue where mouseover did not properly update the retransmission value

LS Registration Daemon

  • Added field host-net-ipv6-enabled which is true if host has a global IPv6 address and false otherwise


  • Uses pScheduler API to filter out disabled tasks instead of downloading them and doing it locally
  • Now properly detects when a background-multi task has not scheduled any runs and attempts to recreate it before the 24 hour expiration
  • Added daily restart for agent and guiagent to help protect against memory leaks


  • Updated init script to return code 3 if daemon not running


  • Improved migrations scripts to use built-in pScheduler backup functions
  • Removed Services tab since the service list only contained OWAMP and deprecated BWCTL
  • Fixed issue where Automatic Updates button displayed incorrectly on Scientific Linux
  • Fixed issue where selecting Norway was not registered because the abbreviation NO was evaluated as false

Raw changes

Updated components: