Updated sos packages that fix a number of bugs and add two enhancements are now available for Red Hat Enterprise Linux 6.
The sos packages contain a set of tools that gather information from system hardware, logs and configuration files. The information can then be used for diagnostic purposes and debugging.
- The previous versions of the sos packages used a built-in module to collect data from Red Hat Network Satellite Server and Red Hat Network Proxy Server. As a consequence, data captured by the
sosutility was incomplete or in a different format than expected by RHN Satellite developers. The module has now been extended to use the RHN Satellite script (
spacewalk-debug) to collect information when present, and the RHN Satellite components now supply a debug script that is able to collect more detailed diagnostic data.
- Previous versions of sos did not include any support for capturing RHUI (Red Hat Update Infrastructure) configuration and diagnostic data. Consequently, no diagnostic information for the RHUI components was available in generated reports. A new module has been added to capture this information. As a result, full logs and configuration data are now included when run on hosts with RHUI components installed.
- The previous version of
glustermodule made use of
glusterCLI commands to obtain state dump information. This caused cluster-wide locks to be taken, potentially blocking other nodes for the duration of data collection. The module has been set to directly issue a signal to the local
glusterprocesses and collect the generated files. Now, full state dump data is collected without causing side effects to other hosts in the environment.
- Previous versions of the sos
psacct(BSD Process Accounting) module collected all process accounting files present on the system, which could, under certain configurations, lead to a very large number of archived files in the process accounting directory. This has been fixed by changing
psacctcollecting only the most recent accounting file by default. The
alloption has been added to the module which allows the user to request the original behavior if required. As a result, reports generated on hosts with many archived accounting files no longer include this large set of additional data.
- Previous versions of the device-mapper-multipath packages stored path binding data directly in the
/var/lib/directories. Consequently, the previous versions of sos did not capture files stored in this location. The
devicemappermodule has been extended to include the
/etc/multipath/directory contents as well, to allow more consistent SELinux labeling of multipath files. The complete bindings file is now captured on hosts using the new directory layout.
- Prior to this update, the
sosreportnetworking module collected various data from the
sysctlconfiguration found in the
/proc/sys/net/directory. Certain legacy paths in this directory have been deprecated upstream and scheduled for removal in future releases but are maintained for compatibility reasons. Nevertheless, running
sosreporton systems having deprecated
sysctlsconfiguration generated warning messages as the
sosutility accessed these paths. This bug has been fixed by including
sosto a blacklist for forbidden paths of this directory. Now, diagnostic information is no longer lost as the content of these files is now provided under different parameter names that are already included in the report. Thus, full diagnostic information is now collected from the
/proc/sys/net/directory without generating unnecessary warning messages in system logs.
- Previously, the
sosreportutility did not recognize interfaces named by BIOS, using the
biosdevnameutility. Consequently, Ethernet network devices were constrained to the conventional
ethNnaming scheme and the
ifconfigcommand, in some cases, did not identify correctly interface types. To address this issue, the
sosnetworking module was set to use the
ipcommand from the iproute package to generate lists of network interfaces. As a result, information for these network interfaces is now correctly captured and is available in generated reports.
- Prior to this update, the Python runtime's pipe communication interface added an additional trailing newline (“\n”) character to output read by an external program. Consequently, files stored in the reports that were generated by running an external command included additional trailing whitespace that could interfere with attempts to compare file contents. The
sosreportcommand has been modified to remove this additional character when present, thus fixing this bug. File capture is now consistent between sos versions in Red Hat Enterprise Linux 5 and 6, thus simplifying comparison of diagnostic data captured on these two releases.
- Previous versions of sos did not sanitize special characters in system hostnames when using the name in file system paths. Consequently, inserting special characters in the system hostname could cause
sosto generate invalid file system paths and fail to generate a report. With this update, invalid characters are filtered out of system hostnames and the
sosreportcommand now works correctly on systems having characters disallowed in file system paths present in the hostname, thus fixing this bug.
- Previous versions of the
sosutility failed to validate the
--nameparameter correctly. Consequently, the report was generated with a file name containing an empty name field. To fix this bug, a default name has been substituted when the provided report name is empty or invalid and files are now generated with names following a consistent pattern.
- Due to changes in the logging design in earlier releases, the
sosutility did not log errors when attempting to collect output from external commands. Consequently, no message was written to the
soslog file when an external command could not be executed. This update ensures that the logging is carried out in the
coreplug-in code and a failure to execute an external program is now correctly logged.
- Previous versions of the
sosutility passed an unescaped double tilde (
~~) character sequence to a command executed by the system shell. On some systems, the expansion of this sequence resulted in an error message when the shell home directory expansion attempted a lookup for an account named
~. The sequence is now correctly double-quoted to disable shell expansion of the string and no spurious account lookup or log message is triggered in the described scenario.
- The sanlock package is a new component that provides disk based leases and uses the
watchdogdevice to protect their recovery. Previous versions of sos did not include support for collecting
sanlockdiagnostic data. A new module has been added to collect configuration and log files for this component so that diagnostic information relating to the
sanlockservice would be captured in generated reports.
PostgreSQLis a popular open-source database in Red Hat Enterprise Linux. Prior versions of sos did not include support for collecting information about installed
postgresinstances, and thus no diagnostic information was collected for this component. The
psqlmodule that obtains information from the database has been included in this release. Now, when
psqlis enabled, diagnostic data is captured on appropriately configured systems, and optional parameters such as database name and authentication may be specified in order to collect more detailed information.
pagetypeinfofile contains additional information relevant to external fragmentation of kernel memory. Previous versions of sos only collected the related
buddyinfodata. Consequently, less detailed information was available regarding the fragmentation state of the kernel page allocator. The
pagetypeinfofile has been included in the generated report and detailed fragmentation debugging data is now collected by default, thus avoiding manual effort to obtain this information.
- Previous releases of sos captured only the
/proc/ioportsfile detailing registered I/O port regions in use. The
/proc/iomemfile additionally describes regions of physical system memory and their use of memory, firmware data, and device I/O traffic. As this data may be important in debugging certain hardware and device-driver problems, both
iomemdata have been made available within generated reports.
- BZ#825968, BZ#826312
- The RHSM (Red Hat Subscription Manager) provides a new method for managing Red Hat subscriptions and entitlements on installed hosts. This update adds support for capturing the
subscription-managerutility output for diagnostic purposes. The output of
subscription-manageris now included in generated reports.
Users of sos are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.