summaryrefslogtreecommitdiffstats
path: root/src/software/lmi/software/yumdb/process.py
Commit message (Collapse)AuthorAgeFilesLines
* python2.6 software providerAles Ledvinka2014-04-111-2/+2
|
* Updated copyright yearsPeter Schiffer2014-01-161-1/+1
| | | | Updated copyright years to include new year 2014.
* software: redone job handlingMichal Minar2013-12-121-71/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* software: correctly recognize installed from availableMichal Minar2013-12-121-5/+5
| | | | | | | | | 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
* software: really do unlockMichal Minar2013-11-191-0/+1
| | | | | | | | 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
* software: fixed package filteringMichal Minar2013-11-191-1/+1
| | | | | | | When searching for package with a partial name match, other filtering properties were ignored. Resolves: rhbz#1030999
* software: reload file configuration when changedMichal Minar2013-11-191-3/+2
| | | | | | | Until now repository configuration was reloaded only at the provider start and when the request related to repositories came. Resolves: rhbz#1030831
* software: do a proper clean up when terminatingMichal Minar2013-11-081-0/+3
| | | | | | | 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.
* software: decorate function correctlyMichal Minar2013-10-181-6/+2
| | | | | | | Preserve the attributes of function being wrapped when creating a wrapper in decorator. Also removed redundant logging.
* software: fixed updating of package done by async methodMichal Minar2013-09-101-1/+1
| | | | Allowed to specify a package as a nevra string.
* software: fixed installation of rpm package from uriMichal Minar2013-09-021-2/+2
|
* software: using shared cmpi_logging moduleMichal Minar2013-08-231-1/+1
| | | | | Now, that functionality of lmi.software.util.cmpi_logging is provided by lmi.providers.cmpi_logging, we can safely move to the shared one.
* software: added FindIdentity() functionMichal Minar2013-08-231-9/+24
| | | | | | | 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.
* software: properly search for packages filtered by repoidMichal Minar2013-08-231-0/+9
| | | | | | | 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.
* software: added doc strings; spaces, be goneMichal Minar2013-07-231-1/+1
| | | | removed spaces at the end of lines
* software: YumWorker timeout parameters configurableMichal Minar2013-07-231-11/+8
| | | | | | 2 new configuration options supported: * [Yum] lock_wait_interval * [Yum] free_database_timeout
* software: disable logging of separate processMichal Minar2013-07-231-5/+2
| | | | | | separated process can not use logging facilities of cimom logging of YumWorker process made configurable
* software: using new Configuration and utility functionMichal Minar2013-07-231-18/+19
| | | | | | | using system_name, system_class_name and namespace values from SoftwareConfiguration object using new_instance_name from util module
* renamed openlmi namespace to lmiMichal Minar2013-07-041-0/+914
To comply with lmi shell, which is placed in *lmi* package, and to make our imports shorter, we are renaming *openlmi* namespace to *lmi*.