| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Update URLs to reflect repository rename to 'sos'.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Use call_ext_prog() to mount/umount debugfs and check for errors
before running kvm_stat.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
|
|
|
| |
The 'u' prefix wasn't reintroduced back into Python 3 until
version 3.3. Use six here to accomodate for that.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
|
|
| |
Python3 needs a byte string as argument to six.binary_types.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
|
|
|
|
|
| |
Python3 strings do not have a .decode() method. When clearing
output for command-not-found case use binary_type("") instead of
the empty string. This gives a bytestring on python3 which does
support the decode() method.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Something our unittests didnt catch which is more functional
than anything. Using raw_input fails on python3 because it was
renamed to input. Six provides an alias that handles both
cases.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The path to the 'head' binary was mangled in the automated PATH
conversion (commit e0d132e). It's not required anyway - we might
as well grab the entire output. Also remove a useless package
check before running the command.
Fixes Issue #254.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Returning a 3-tuple has always been ugly. It gets worse as the
parameter list for this family of functions grows. Worse, the 3rd
member of the tuple is unused and is always set to 0.
Rip the whole mess out and return a single, simple dictionary
object with 'status' and 'output' keys.
Update utilities_tests to reflect the new interface.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Remove dead code and clean up the logic in sos_get_command_output.
This paves the way for simplifying parameter and return passing
in the Plugin command output entry points.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Add a method to the Plugin class to apply a regex substitution
to a set of paths maching a path regex. For e.g.:
self.do_path_regex_sub(r'/etc/foo.*', 'pw=(.*)', 'pw=****')
The oVirt plugin will use this.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Move common files from DebianCgroups to Cgroups and drop separate
DebianPlugin class. Make add_copy_specs() invocations conform to
recommended indent style.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
/var/log/cloud-init-output.log if they exist.
Closes: #250
Signed-off-by: Louis Bouchard <louis.bouchard@canonical.com>
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
| |
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
|
|
| |
Also updated the REPO variable to point to new vcs location
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output of ifconfig or ip link is not enough to understand the full
state of the network card flags. In particular IFF_PROMISC is set on a
a bridge port-member but that is not displayed via ifconfig nor ip link.
See also https://bugzilla.redhat.com/show_bug.cgi?id=199979c#17 why we
need to do this.
Closes #245
Signed-off-by: Michele Baldessari <michele@acksyn.org>
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
|
|
|
|
|
|
|
| |
UEFI systems store the grub configuration at:
/boot/efi/EFI/*/grub.conf [grub 1.x]
/boot/efi/EFI/*/grub.cfg [grub 2.x]
Add these paths to the respective modules.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Since strings are iterable a plugin attempting to call
add_copy_specs("/something") results in a plugin calling
add_copy_spec("/"). Raise a TypeError if this happens.
Fixes Issue #141.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Give add_copy_spec() and add_copy_specs() their own test cases.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
We want to remove any duplicates from the list of paths to
collect. Use a set and update it with the expansion of each copy
spec as we add it. This avoids having to explictly test for
duplicates when we come to iterate over the set.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
The 'sub' parameter to these functions allowed substituting part
of the path in the generated archive. E.g. transforming 'etc/'
into 'configs/'. This has never been used and seems to serve no
real purpose today. Simplify the parameter passing and copy_spec
lists by removing this support.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
The procenv package is not shipped in Red Hat distributions so
remove the RedHatPlugin tagging class from it.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up and refactor the collect() path in preparation for
fixing the recursive tree copying code.
- Move string and command collection into their own methods
- Move glob expansion from add_copy_spec*() to
collect_copy_specs()
- Rename do_copy_file_or_dir() to do_copy_path()
There are no functional changes as a result of this patch.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Use self.is_installed() for simple package presence tests.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Remove infiniband's open-coded check_enabled() and use a package
list to control plugin activation.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Defined but never used. Delete.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Unused. Delete.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Fixes Issue #243.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Has test case but no callers. Delete it.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
The DirTree class has remained unused since it was implemented.
Remove the definition and associated test cases.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
The function is defined and even has test cases. But no callers..
Remove the function and the test cases that exercise it.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The handrolled profile logging support in sos hasn't been widely
used in a long time and is a problem better solved with external
profiling and coverage tools.
Rip out all the support and documentation. This shortens and
simplifies numerous Plugin class methods.
Fixes Issue #244.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Replace explicit test for six.PY2 with try/exception handling of
StringIO import.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
In Ubuntu isos are being added to the tarball, do not do that.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes Issue #238.
When tagging classes are used to enable plugins on multiple
platforms it is possible for there to be more than one valid class
instance for a given policy. For e.g.:
class DebianFooPlugin(Plugin, DebianPlugin):
///
class UbuntuFooPlugin(Plugin, UbuntuPlugin):
///
Since UbuntuPolicy includes both DebianPlugin and UbuntuPlugin in
its valid_subclasses list both classes pass the validity test and
both are added to the loaded_plugins list. This causes plugins
to run twice:
2014-03-12 19:57:50,974 DEBUG: copying file /var/log/mail.log to /var/log/mail.log
2014-03-12 19:57:50,975 DEBUG: added /var/log/mail.log to FileCacheArchive /tmp/sosreport-u1210-vm1-20140312195750
2014-03-12 19:57:51,293 DEBUG: copying file /var/log/mail.log to /var/log/mail.log
2014-03-12 19:57:51,294 DEBUG: added /var/log/mail.log to FileCacheArchive /tmp/sosreport-u1210-vm1-20140312195750
Fix this by adding a match_plugin() method to the policy base
class and prefer plugins that are subclasses of the first entry
in the list. This patch also reverses the order of the
valid_subclasses list for the UbuntuPolicy to ensure preference
is given to native plugins:
self.valid_subclasses = [UbuntuPlugin, DebianPlugin]
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|