| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Updated copyright years to include new year 2014.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a serious flaw in previous object model. JobManager was a
thread spawned from inside of separated YumWorker process. Meanwhile
IndicationManager was spawned in provider process which is correct
otherwise it coult not send indications through broker.
The problem is that JobManager needs to create indications and access
IndicationManager. But they were in different processes.
JobManager worked with static data duplicated from provider process when
the worker process has been forked. Therefor all subscriptions and
indication enablement made after the worker processed has been
created did not affect jobmanager.
For some unknown reasons this could also cause a segfault to worker
process when creating indications that were sent to provider process.
This patch shuffles classes a bit:
* JobManager is spawned as a thread in provider process by YumDB.
* JObManager spawns its own SessionManager that is a wrapper for
YumWorker process
* SessionManager is a thread running in provider's process. It
manages worker process and ensures that yum database is locked when
there is an active session.
* YumWorker does not spawn any other process. It processes jobs one by
one.
Resolves: #1039018
|
|
|
|
|
|
|
|
|
| |
When available packages were searched, they were all treated as not
installed. Yum uses two different classes to represent installed and
available packages and the same package may instantiated from both of
them.
Resolves: #1039025
|
|
|
|
|
|
|
|
| |
Cached YumBase instance may keep some objects with active connection to
files in yum package database. We need to clean them when unlocking
database in order to allow other processes to operate.
Resolves: rhbz#1028535
|
|
|
|
|
|
|
| |
When searching for package with a partial name match, other filtering
properties were ignored.
Resolves: rhbz#1030999
|
|
|
|
|
|
|
| |
Until now repository configuration was reloaded only at the provider
start and when the request related to repositories came.
Resolves: rhbz#1030831
|
|
|
|
|
|
|
| |
Separated process did a clean up only when the session ended. But when
cimom is suddenly terminated or killed, process can receive terminating
command even during the session. Let's clean up yum database and cached
objects when that happens.
|
|
|
|
|
|
|
| |
Preserve the attributes of function being wrapped when creating a
wrapper in decorator.
Also removed redundant logging.
|
|
|
|
| |
Allowed to specify a package as a nevra string.
|
| |
|
|
|
|
|
| |
Now, that functionality of lmi.software.util.cmpi_logging is provided by
lmi.providers.cmpi_logging, we can safely move to the shared one.
|
|
|
|
|
|
|
| |
Since disablement of SoftwareIdentity enumeration, there has been no way
to search for particular package (using [WC]QL query for example). This
serious limitation is now treated by this addition to
LMI_SoftwareInstallationService.
|
|
|
|
|
|
|
| |
If repoid is given, only 'available' packages need to be searched,
otherwise the package is not found if installed.
Let's just enable particular repository instead of comparing repoid
attribute.
|
|
|
|
| |
removed spaces at the end of lines
|
|
|
|
|
|
| |
2 new configuration options supported:
* [Yum] lock_wait_interval
* [Yum] free_database_timeout
|
|
|
|
|
|
| |
separated process can not use logging facilities of cimom
logging of YumWorker process made configurable
|
|
|
|
|
|
|
| |
using system_name, system_class_name and namespace values from
SoftwareConfiguration object
using new_instance_name from util module
|
|
To comply with lmi shell, which is placed in *lmi* package, and to
make our imports shorter, we are renaming *openlmi* namespace to *lmi*.
|