summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PCP: fix failed post-install registrationTomas Smetana2013-11-124-10/+28
|
* Hardware: added "Implemented(true)" qualifier for all supported propertiesPeter Schiffer2013-11-112-60/+901
|
* account: Ignore homedir deletion failures when deleting an userTomas Bzatek2013-11-112-9/+12
| | | | | | | | | | It was impossible to remove user when its home directory was unable to delete, e.g. either pointing to a bad location or inaccessible as in not being mounted, etc. Even the "force" argument didn't help. For this reason, any failure on homedir deletion is now ignored and a warning is noted in the log. The particular error return code is unused now but kept in the MOF file for compatibility, adding a note.
* indmanager: Fix potential errorneous dereferenceTomas Bzatek2013-11-111-2/+1
| | | | This ideally shouldn't happen in well writen providers.
* Service: Remove maximum boundary for amount of services.Vitezslav Crhonek2013-11-112-3/+22
|
* account: Watch parent directory instead of files directlyTomas Bzatek2013-11-112-63/+34
| | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the way the inotify watching is done. Instead of watching files directly, we watch the directory they reside in and just filter out changes in files we don't want to watch. This brings a benefit of reliable notification through file deletions and other inode number changing changes. It's also less racy as we had to recreate watches on IN_IGNORED events with possibility of missing some events. File deletions or atomic replaces were always problematic. There are some lingering issues however. The most severe is a problem of shadow files and libuser calls. At the time the event is processed further in the gather() method, shadow files may not been updated yet. This causes libuser to miss some information required for proper CIM object instance construction, potentially propagating half-baked data to the user. This could be solved by implementing a settle timeout, possibly compressing more fast-coming events into one. For the moment a simple artificial sleep has been put before returning from the watcher in good hope shadow files are updated properly. Then there's a current problem of throwing out the rest of the read buffer, losing notifications of other files if watched. This is by current design of the watcher callback and could be fixed by implementing proper event queue.
* software: better cope with termination requestMichal Minar2013-11-082-4/+22
| | | | | | When cimom is terminated or killed and the provider is requested to clean up, let's stop waiting for separated process to complete its jobs and raise an error instead.
* software: fixed termination of JobManagerMichal Minar2013-11-081-1/+2
| | | | | Let's not process any additional jobs when terminating command has been received.
* 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: fixed shutting down of job managerMichal Minar2013-11-081-7/+10
| | | | | | | | | | | When job manager received None command (which says "shut down") it is was enqueued into priority queue where comparison functions did not count with None as a valid object. This does not have inpact on functionality (job manager and YumWorker terminate anyway) but the terminating message is not written into log due to an AttributeError. This modifies comparison function to accept None and give it the highest priority.
* software: fixed logging of YumWorker processMichal Minar2013-11-081-0/+4
| | | | | | | Separated process disables all loggers when starting up because most of them are not needed anymore. That includes tracing function in lmi.base.cmpi_logging. This logger needs to be reenabled in order for trace messages to be logged.
* software: more efficient listing of associatorsMichal Minar2013-11-081-0/+60
| | | | | | | This greatly speeds up listing of associators of LMI_SoftwareIdentityResource. Packages of particular reposity can now be listed in few seconds (for 2000 pkgs large repository) instead of minutes.
* software: speeded up listing installed packagesMichal Minar2013-11-081-0/+54
| | | | | | | | | Listing of installed packages could take several minutes. With overriden and optimized MI_associators method this is reduced to several seconds. Original method calls GetInstance() on each returned object path which is very time consuming operation in this case. This resolves: rhbz#1005803
* account: updated documentationMichal Minar2013-11-071-9/+19
| | | | | Fixed examples for account provider. Some were syntactically wrong, others were very inefficient.
* doc: updated usage examples for software providerMichal Minar2013-11-071-25/+26
| | | | Examples are now usable with the newest shell.
* software: fixed returned value of tests runnerMichal Minar2013-11-071-1/+1
| | | | | 0 shall be returned on successful run of tests and 1 otherwise. Not the other way round.
* software: optimalize testsMichal Minar2013-11-071-1/+1
| | | | Limit number of randomly selected packages to speed up tests.
* Fix libuser require once againTomas Bzatek2013-11-061-1/+1
| | | | | | | CMake doesn't like spaces around version requirements in pkg-config checks. Unfortunately also maintains configure cache and doesn't pick the changes in CMakeLists.txt up automatically so my typo went unspotted during testing. Damn.
* Require libuser >= 0.60Tomas Bzatek2013-11-062-3/+8
| | | | | The commit aac4d3a0d1dc brought new symbols in the code without bumping libuser version req.
* indmanager: Fix empty enum cleanupTomas Bzatek2013-11-061-2/+4
| | | | | | When the watcher() callback returns unsuccessfully and gather() part has not been run, we may end up with NULL enums that have been originally created by add_enumeration(). This prevents segfault in such case.
* Don't install mof files for disabled providersRadek Novacek2013-11-063-5/+45
| | | | | | | When provider is disabled via WITH-PROVIDER=OFF in cmake, don't install even the mof file. Fixes ticket #170.
* Service: Added new author. Fix default enviroment value.Robin Hack2013-11-061-2/+2
|
* Added missing BuildRequires: dbus-devel.Jan Safranek2013-11-051-0/+2
|
* Hardware: Added Physical Disk ProviderPeter Schiffer2013-11-0510-15/+570
| | | | | New Provider: * LMI_DiskPhysicalPackage
* software: skipped two tests0.4.1Michal Minar2013-11-041-0/+2
| | | | | Skipped two unreliable performed on random packages. This is a temporary solution.
* software: fixed a testMichal Minar2013-11-043-10/+19
| | | | | TargetOperatingSystem property is tested also in TestSoftwareIdentityChecks, let's share the code in util module.
* Prepare 0.4.1 releaseRadek Novacek2013-11-045-17/+14
| | | | Also remove dependency on sblim-cmpi-base
* Fix coverity issuesRadek Novacek2013-11-042-3/+9
|
* power: Use logind instead of upowerRadek Novacek2013-11-045-73/+145
|
* software: skip unreliable testsMichal Minar2013-11-041-0/+2
| | | | | Few tests of LMI_SoftwareIdentityFileCheck are not reliable on randomly selected package. Let's skip them temporarily.
* software: fixed SoftwareIdentityFileCheckMichal Minar2013-11-041-1/+9
| | | | Make sure to check for correct TargetOperatingSystem for rhel.
* indmanager: Use per-instance set of pthread stuffTomas Bzatek2013-11-042-40/+39
| | | | | | | | | Can't really have global variables for threads and mutexes as long as there are more indication managers running, simultaneously using the same objects, leading to deadlock in a matter of time. This patch moves the pthread stuff in the IMManager struct which is (usually) speficic to each CIM indication class.
* account: Fix libuser object cleanupTomas Bzatek2013-11-042-4/+4
| | | | | Potential double free or freeing of uninitialized memory. Fixes some asserts thrown from libuser.
* account: Start watching right upon indication subscriptionTomas Bzatek2013-11-044-41/+90
| | | | | | | | | | This is an attempt to get rid of most probable race conditions by creating inotify watches outside the watcher thread and making them persistent for the whole time the indication subscription is active. There's a certain amount of time when watching if off due to gather part of the indication manager. Leaving a watch fd open with active watches allows us to queue events that we process next time the watcher is called (once gather part is finished).
* power: handle memory allocation failures properlyRadek Novacek2013-11-044-4/+30
|
* software: fixed referents generatorMichal Minar2013-11-041-2/+2
| | | | | LMI_InstalledSoftwareIdentity generated wrong object paths of SoftwareIdentities. System does not belong into its keys.
* software: refactored testsMichal Minar2013-11-0412-722/+506
| | | | | Base software tests on LmiTestCase from lmi.test.base. Use lmi.shell abstractions instead of plain pywbem.
* software: test improvementsMichal Minar2013-11-041-7/+14
| | | | Do not use packages related to openlmi and CIM for testing purposes.
* tests: adjusted test suits for changes in lmi.testMichal Minar2013-11-043-8/+8
| | | | | Base test classes have been renamed, this patch makes small provider tests working again.
* tests: added Base test cases for cim and lmi shell testsMichal Minar2013-11-044-350/+696
| | | | | | | | | | | | | | Base test case class is renamed to BaseLmiTest. But it's not intended for direct use in provider tests. For this purpose two more classes are added. Namely LmiTestCase and CIMTestCase. Tests wanting to take advantage of lmi shell's power should subclass LmiTestCase. Those based on pure pywbem code shall subclass the other one. Added lots of convenience methods. Allowed to use lmi.shell abstractions if available. Useful utilities are moved to standalone util module.
* Account: Whitespaces removed.Robin Hack2013-11-041-6/+6
| | | | Whitespaces hunting.
* software: temporarily disabled dangerous testsMichal Minar2013-11-022-2/+4
| | | | | | | Dangerous tests changing yum package database are not reliable because they operate on dynamically changing repositories. This patch temporarily disables them until custom testing repositories are created for the purpose of software tests.
* software: fix querying repository databaseMichal Minar2013-11-021-1/+1
| | | | | Do not presume that any cache is available before call to yum. If the cache is not there, call fails.
* Use configured ComputerSystem class name.Jan Safranek2013-11-011-1/+1
|
* logicalfile: implement LMI_RootDirectory.EnumerateInstanceNamesJan Safranek2013-11-011-1/+2
|
* Work around Pegasus destroying threads _after_ unloading provider dynamic ↵Jan Safranek2013-11-012-1/+16
| | | | library.
* software: ditched reference to removed system_name propertyMichal Minar2013-10-311-1/+6
| | | | | | | | | system_name property has been removed from BaseConfiguration. This replaces remaining reference with access to ComputerSystem module. Silently ignore the first access to get_system_name() when ComputerSystem instance has not been loaded yet. host property is not mandatory.
* python: fixed is_this_systemMichal Minar2013-10-311-3/+1
| | | | | Let's use gethostname() instead of querying BaseConfiguration's system_name property that has been removed.
* python: fixed ComputerSystem moduleMichal Minar2013-10-311-2/+2
| | | | | Removed import from software provider. providers package can not depend on any lmi provider package.
* Account: Added 3 changes as one.Robin Hack2013-10-313-106/+243
| | | | | | 1) Account: Use new atomic libuser api. 2) Account: Added author and license to lock.c and lock.h. 3) Account: Added group locking to LMI_AccountProvider.