| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Fixes a unittest failure due to an attempt to pass print() a `file`
keyword for Red Hat, which is no longer accepted in python3
Additionally fixes 2 string related errors in the test suite since
changing from python2 to python3.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Collect data of "insights-client --offline" into
sos_commands/insights/insights-client-dump directory.
Resolves: #2030
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently it checks for the existance of systemd using two
different directories depending on the distro used. Updating
systemd trigger to handle the detection of checking for
systemd more reliably and generically.
Reference:
https://github.com/systemd/systemd/blob/master/src/libsystemd/sd-daemon/sd-daemon.c#L598-L604
Closes: #2013
Resolves: #2029
Signed-off-by: Heather Lemon <heather.lemon@canonical.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Substitute sensitive informations about oidc
found in landscape service configuration file.
From release 19.10, Landscape can use OpenID-Connect
(OIDC) to authenticate users. To enable OpenID-Connect
support, please add oidc-issuer, oidc-client-id and
oidc-client-secret to /etc/landscape/service.conf in
the [landscape] section.
Reference:
https://docs.ubuntu.com/landscape/en/onprem-auth#openid-connect-support
Closes: #2023
Resolves: #2025
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
List of ClariiOn IP addresses should be provided via
-k navicli.ipaddrs plugopt, as a space separated list.
Closes: #405
Resolves: #2020
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
| |
Resolves: #2022
Signed-off-by: Arif Ali <arif.ali@canonical.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
| |
Uses ndctl, daxctl, and ipmctl utilities
Closes: #1398
Resolves: #2021
Signed-off-by: Steve Scargall <steve.scargall@intel.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Make add_copy_spec & add_cmd_output method
to accept a list.
* Log directory "/var/log/landscape-server" is
now fully deprecated. Nowadays, all supported
versions are logging inside "/var/log/landscape".
Resolves: #2012
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Mostly unused import or missing variables.
Including 1 mistyped variable by me.
Resolves: #2011
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
| |
Resolves: #2006
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
| |
This was used either to
* get the print function
* get the with function (for py2.5)
Resolves: #2005
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updates setup.py to reflect project changes with 4.0, thus allowing the
'python setup.py install' checks to run normally.
Removes futures from requirements.txt, as futures is packaged with
python 3.4 and newer, and sos no longer supports python2. In that vein,
also removes the pytohn-2.7 test from the travis configuration.
Resolves: #2004
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
| |
Removes an extraneous import identified by LGTM
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Updates the test script `simple.sh` used by Travis to use the new `sos`
binary with the `report` subcommand.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
| |
Consolidated PEP8 fixes following reorganization and redeisgn work.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds support to the parser to allow aliases for subcommands in the
parser. At the moment, this only applies to `report`, with the 'rep'
shorthand. This is however intended for further 4.0 use via the
integration of sos-collector and soscleaner. For example, invoking 'sos
clean' and 'sos cleaner' would both be possible.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
| |
Moves the HTML/JSON reporting bits under sos/report.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to carry a `sosreport` binary for some time to allow for end
users and downstreams to adjust to the new binary. It was hoped
originally that the old `sosreport` binary could be maintained in place
and simply provide the older set of functionality.
This has proven to not be possible givent he overhaul of the options
handling that allows us to have multiple subcommands. So while we will
still ship an `sosreport` binary, and it will be locked to `report`
functionality, it is now a simple redirection script that also makes the
user aware of the new `sos` binary.
Closes: #1986
Resolves: #1993
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
| |
Since sos-4.0 is py3 only, set the interpreset of the binary as such
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Adds the `desc` class attr to SoSReport() for use by the help text when
`sos --help` is run.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
When loading from a config file, ensure that verbosity is set to and
integer rather than a string.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
| |
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
| |
Removes an extraneous setting of self.sys_tmp, which is now handled via
`SoSComponent`. This was getting overridden to `None` which was causing
the final archive creation to fail.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
For python3, calling `.keys()` on a dict no longer returns a list, so we
need to explicitly make it a list of values to behave as expected.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Moves SoSReport() from a standalone class to a subclass of
SoSComponent() in order to take advantage of the new 4.0 redesign.
This commit also pulls out methods that were previously transitioned to
other places, e.g. logging setup moving from SoSReport() to the base
SoSComponent() class.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
| |
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
| |
For the 3.x line, many classes subclassed `object` directly, in order to
use the 'new-style' objects introduced with python3, while still
maintaining python2 functionality. As sos-4.0 is python3 only, we no
longer need to do this.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
| |
Moving the `_sos_ definition wrapper for gettext into utilities proved
to be the wrong direction, so this moves it back into sos/__init__.py in
order to preserve the ability to properly import it elsewhere.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds Policy loading into `SoSComponent()` so that any subcommand can, if
it needs it, have policies loaded consistenly. This is controlled via
the `load_policy` class attr, which defaults to True. Future subcommands
that do not need to have a policy loaded (E.G. the planned `info`
command), can simply set this to False in order to skip this step.
Moves `SoSComponent()` out of sos/__init__.py and into sos/component.py
to ease import conflicts arising from policy loading.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
| |
Adds the exit handling from SoSReport() directly into SoSComponent()
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As we are moving to decouple SoSOptions() from report, we need to adjust
how some of the option loading is handled, such as loading values from a
conf file. The previous approach was to instantiate a new SoSOptions()
object, read into it from the config file, and then merge that with the
"main" SoSOptions() object. This worked well when we only had report to
worry about since the arguments were more or less static.
However, in allowing new subcommands to define their own options this
presented a problem due to the behavior of merging. This was compounded
by the fact that merging still functioned how we expected/needed for
actions like merging commandline options against the defaults.
As such, the new approach is to use the "main" SoSOptions() instance to
read the config file specifications and then directly modify the needed
values rather than relying on the merging behavior.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Moves logging setup into `SoSComponent`, and logging is setup by default
at component initialization, unless the `configure_logging` class attr
is set to `False`.
Moves the TempFileUtil() class out of report and into utilities for
easier usage by all sos components.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
| |
This is the first of probably a number of commits aimed at making
SoSOptions() a generic option handling class for all components in sos,
rather than being tightly bound to `report`.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Now dynamically build the usage string reported by --help for the
top-level parser (I.E. `sos --help`) to print available components.
Additionally, rework the subparser usage strings to accurately report
the syntax for subcommands.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
| |
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
| |
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Moves `SoSOptions()` and the related bits to a new sos/options.py
location. This should allow for easier maintenance and ongoing
development as our option handling approach will be shared across
components.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first patch to add a new `sos` binary to act as the new
commandline interface for users.
It adds the basic `SoS()` and `SoSComponent()` classes that will be
built out and used going forward for new subcommand development. Actual
functionality will be added in coming patches, as this is mainly serving
as a checkpoint to avoid over-large commits affecting wide swathes of
changes at once.
Resolves: #1986
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
| |
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
| |
Removes the redundant __run__.py from the project root, as it has not
been used for quite some time and the legacy `sosreport` binary was its
replacement.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Moves the legacy sosreport.py into sos/report/__init__.py as part of the
reorganization for 4.0
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Updates the uses of 'from sos.plugins' to 'from sos.report.plugins' in
order to fix imports across the project with the new tree organization.
Additionally, the legacy `sosreport` binary now injects the user's
current working directory into the path the python interpreter uses in
order to allow local execution from a git checkout.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the beginning of the sos-4.0 design rework.
First, move the existing `sosreport` binary into a new top-level `bin`
dir. The future `sos` binary will also live here.
Second, create a `report` subdir within the `sos` module, and move the
relevant `sosreport` bits to that subdir. A following commit will update
all references like `from sos.plugins` to `from sos.report.plugins`.
Related: #1986
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Removes the add_udev_info method as its original purpose was to easily
iterate over a list of devices which is now handled (better) by
add_blockdev_cmd.
Resolves: #1508
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Updates the scsi plugin to use the new add_blockdev_cmd() method instead
of add_udev_info().
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Updates the fibrechannel plugin to replace the ad-hoc device enumeration
with the new add_blockdev_cmd method.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Updates the nvme plugin to replace the ad-hoc device enumeration and
command building with the new add_blockdev_cmd method.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Updates the block plugin to replace the ad-hoc device enumeration and
command building with using the new add_blockdev_cmd method.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a new mechanism for iterating over a list of devices with a given
command or list of commands. This is to allow us to stop doing ad-hoc
device enumeration in multiple plugins and instead provide a consistent
behavior for iterating over devices such as disks.
Before setting up plugins, sos will now enumerate a list of block
devices and fibre devices that is made available to the plugins. From
there the new 'add_blockdev_cmd()' method may be passed a command or
list of commands that will be iterated over for every device. Commands
passed need to include '%(dev)s' in the appropriate place for device
name substitution. By default this will iterate over all discovered
block devices. The 'devices' parameter may be used to change this,
either by passing 'fibre' to instead iterate over fibre devices, or by
passing a list of devices to use directly.
To filter out or restrict commands to running on specific types of
devices, the blacklist and whitelist parameters can be used respectively
and can accept either a single regex string or a list of regexes.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Updates the plugin to use the new `ContainerRuntime` abstraction
provided by the loaded `Policy` rather than shelling out again to get
the same data loaded during `Policy` initialization.
Resolves: #1873
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|