Released March 27, 2017
Features/Changes Highlights
- This release candidate contains numerous performance optimizations, bug fixes and quality of life improvements. See detailed notes below for more information
- NOTE: Changes are since 4.0 RC2. For a full list of changes from 3.5.1 see the RC1 release notes and RC2 release notes
Detailed Fixes and Changes
Bundles and Shared Libraries
- perfsonar-core package now responsible for adding localhost MA to meshconfig-agent-tasks.conf instead of having set for all bundles
- Added default ulimits file on CentOS 6 that increases allowed process count for httpd and pcheduler from 1024 to 4096. This matches the system default for CentOS 7.
BWCTL
- No changes
Central Management
- No changes
Esmond
- Fixed IP authentication when behind a web proxy
- Automatically detecting encoding and locale in postgresql-9.5 upgrade script
- Fixed httpd restarts on CentOS 7 when RPM updates
- Added support for pscheduler-run-href event type
Graphs
- Fixed issue where duplicate values were retrieved
- Fixed issue where individual values failing to load caused whole graph to fail to load
- Added packets sent and lost to tooltips
- Added measurement-agent filter support
- Added title bar and shareable link
- Updated to display timezone GMT+OFFSET
- Updated summary window selection
- Better error indicator when no data found in measurement archive
- Added backward compatibility for older MAs not supporting CORS
- Fixed scroll jumps when performing various actions
- Added retransmit tooltip
- Fixed issue where time period would create incorrect view
- Tooltips can be locked/unlocked to screen by clicking them
- Negative latency values now appear in tooltip
- Fixed numerous IE compatibility issues
- Added tool names to tooltips
- Added ability to expand/collapse sections of tooltip
I2Util
- No changes
LS Cache Daemon
- No changes
LS Registration Daemon
- Fixed pscheduler registrations so they only publish https URL
- Fixed issue where web service (e.g. oppd, ma, pscheduler) based records were losing track of their parent host record
- Added ability to track whether perfSONAR was installed with NeInstall or FullInstall ISO
MaDDash
- Added newline to the end of default configuration file to make meshconfig-guiagent happy
- Fixed syntax errors in default configuration file in alert rules
- Defaulting to /usr/lib64 for nagios checks in default config
MeshConfig
- Fixed logging permission issues for meshconfig-guiagent
- Fixed issue where perl considered maddash.yaml filename tainted
- Updated all test parameters to match pscheduler
- Properly set reverse URL in disjoint case with combined graphs
- Added dependency on perl-Mo
- Updated default path to nagios checks
- Improved detection of changes to MA authentication settings
- Removed explicit setting of default summaries
- Added support for setting custom reference parameters
- Added created_by field in meshconfig-agent-tasks.conf so clear where test came from
- Fixed uninitialized concatenation warning when no mesh description provided
- Fixed issue where did not fallback properly to IPv4 mesh URL when IPv6 failed
- Updated meshconfig-guiagent defaults to more sane values
- Updated agent to define measurement archive only for tests it creates, not all tests in file
- Now support defining multiple MAs of same type
- Can now set configure_archives at mesh level in meshconfig-agent.conf so only individual meshes have their archives configured
- Added support for simplestream tests and dashboards. Should only be used by developers for debugging.
- Added support for ping and traceroute dashboards to guiagent
- Fixed issue where client was not properly timing-out
- Fixed issue where agent was not setting correct start and end times on new tasks
- Made retry policy a configurable parameter for measurement_archive blocks
- Made default retry policy less aggressive
- Fixed issue where agent would ask remote pscheduler to register to localhost
- Removed localhost MAs from default config file. Now will get added bu perfsonar-core bundle.
- Added support for bind_address,lead_bind_address and pscheduler_address options that can be useful in certain setups with private default routes
OWAMP
- Removed unnecessary logging
pScheduler
- Cleaned-up defunct pkill process left by powstream tool
- Now sending logging to syslog local4 which redirects to /var/log/pscheduler.log
- Added support for limits
- Added new background-multi class to support tests that should not be interrupted when run in parallel with other tests.
- Normal tests class added that can run in parallel with each other, but not exclusive tasks
- Added multi-threading to archiver
- Changed default nuttcp port from 5000 to 5001 to match published firewall suggestions
- Bug fix for handling spacing in nuttcp output
- Updated nuttcp tool to require 8.1.4 of nuttcp
- Updated esmond archiver to properly report error status when gives up on retries and to report a better message
- Better exception handling in esmond archiver
- Numerous SQL query optimizations
- Updated to use versions of python-flask, python-jinja2, python-werkzeug and python-dns from main CentOS repo
- Ordered archiving by newest so most recent entries get retried first
- Added pscheduler ping command to check status of pscheduler server
- Fixed bug where user-provided summaries were ignored by esmond archiver
- Updated powstream default duration to 24 hours
- Fixed multiple issues causing powstream not to properly exit, leading to duplicates
- Handling IPv6 addresses in pscheduler URLs given to command-line client
- Check for pscheduler as well as BWCTL on the remote side when determining if backward compatibility mode is needed.
- Added task-href and run-href to archiver input parameters
- Added memcached support to esmond archiver for tracking metadata objects already created in order to increase archiver performance
- Fixed bug where esmond requests would not timeout when talking to the server
- Added new summaries for packet-count-lost and packet-count-sent to defaults set by esmond archiver in support of new graphs
- Added TTL to archiver so backlogged attempts don’t stay in queue forever
- Added pscheduler clock command for checking clock status of pscheduler servers
- Created a RabbitMQ archiver
- Added statistics in REST API about archiving and the http queue, including result of archiving in run
- Added support for “default limits”, parameters that automatically get applied if the parameter is unspecified.
- Removed firewall manipulations from pscheduler packages
- Made flow-label parameter consistent across all tools
- Gave iperf3 tests greater lead and follow-up time to complete
- Better error message when multiple participants on same host
- Fixed required fields in latency and latencybg tests to enforce properly
- Normalized use of ip-tos field across all tools
- Normalized use of ip-version field across all tools
- Added plot-schedule command that creates visualization as .png of schedule
- Replaced randslip option with boolean sliprand. Indicates to randomly pick time within slip
- Added ability to filter runs by test type in schedule command
- Added support for bind and lead-bind options. Also added source-node to tests and dest-node to multiple participant tests. Should help with various non-standard routing scenarios
- Using threads instead of processes in scheduler
- More quickly killing powstream commands after restart
- Fixed issues with iperf3 not properly binding when DNS names are dual-stacked
- Fixed numerous issues where scheduler was excessively trying to rechedule a test or using the wrong time windwo to do so
- Added time tag to powstream directory to prevent conflicts on restart
- Cleaned-up use of timeouts in tools that were leading to various errors such as wrong tool selection
- Only allow operations such as cancel if requested by one of the participants
- Added DNS tool for measuring DNS performance
- Added HTTP archiver for sending HTTP request with results to given URL using specified HTTP operation(POST, PUT, etc)
- Numerous error message clean-up, syntax clean-up and catching of unhandled exceptions
Toolkit
- Fixed issue where lo interface was selected as primary
- Fixed auto-update toggle on CentOS 7
- Changed cassandra process detection to use process name since cassandra package has inconsistent use of pid file on CentOS 7
- Fixed formatting issues when displaying interface details
- Added htpasswd support to manage_users script
- Disabled chronyd by default on CentOS 7 which was preventing NTP from running properly
- Fixed issue where “Loading values…” never went away on main toolkit page
- Fixed broken links on toolkit homepage
- Cleaned-up various test listing issues related to directionality and duplicate tests
- Added pscheduler support to backup scripts
- Updated default limits to be closer to BWCTL but also allow 50m UDP tests
- Fixed firewall setup of owamp control port
- Removed code that was altering wheel group since perfsonar no longer uses that group
- Fixed bug preventing use of subinterfaces in mod_interface_route script
- The configure_sysctl script now detects OS, interface speed, and maximum MTU to determine how best to tune host
- Removed NDT checks from configure_nic_parameters
- Updated labels on web interface containing the phrase “RPM” to be less OS-specific
- Fixed bug caused by trailing whitespace in values input through the web interface
- Changed owamp-server regular restart to once a week
- Created symlink in /var/log/perfsonar to /var/log/pscheduler
- Created symlink to web admin configuration files in /etc/perfsonar/toolkit/web
- Fixed bug that prevented users from getting added by user managemern script
- Made traceroute the default over tracepath in GUI
- Fixed recursive symlinks created by .spec file
- Moved user prompts out of .bashrc and into /etc/profile.d
- Fixed call to tracepath in reverse_traceroute.cgi script
- The Open perfSONAR Perl Daemon (OPPD) is deprecated now. The OPPD packages are still installed by a regular perfsonar-toolkit installation, but the service is not started.
Raw changes
Updated components: