| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Fixed package installation tests that did not ensure that particular package is
uninstalled before test begins.
Speeded up test set up phase for TestSoftwareIdentityFileChecks and
TestSoftwareIdentityChecks.
|
|
|
|
|
|
|
| |
Environment needs to be propagated to factory function of CIMError when
error occurs while handling asynchronous job.
Resolves: rhbz#1043243
|
|
|
|
|
| |
Packages with empty source tarballs failed to build on rhel7. Added
empty readmes to previously empty packages to fix it.
|
|
|
|
|
|
|
|
|
|
|
| |
In some rare cases, digest algorithm is not set in rpm packages (happens
on rhel7). Try to deduce it from hash digest stored for installed files
and fallback to some sane default.
In case it's not set, package use md5 digest algorithm for its files.
Provider failed to generate it correctly. The Checksum was doubled.
Resolves: rhbz#1032590
|
|
|
|
|
|
|
|
| |
get_target_operating_system returns a tuple which can not be equal to
integer. Due to this error, GetInstance() call failed on on
LMI_SoftwareIdentityFileCheck objects on rhel7.
Resolves: rhbz#1032590
|
|
|
|
|
|
| |
This should belong in commit 2b22e29 that reworked job handling.
Resolves: rhbz#1039018
|
|
|
|
|
| |
$RPM_BUILD_DIR is not created before %install phase on rhel7. It needs
to be done explicitly.
|
|
|
|
| |
Test installation, removal and updating of rpm packages.
|
|
|
|
|
| |
Assert that InstallDate is filled properly for available packages that
are installed.
|
|
|
|
|
| |
Speeded up test initialization and cleanup. Use as few calls to
subprocesses as possible.
|
|
|
|
|
|
| |
This is a collective work of Jan Grec and Michal Minar.
Added tests for LMI_SoftwareInstallationService.
Added tests for software provider as a whole.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added one test to SoftwareIdentityFileCheck.Invoke() method testing
correct error code.
Renamed testing package pkg1 to pkg2 in misc repository to match its
comment.
Rendering function CIMInstanceNames should behave nicely for
objects of another type and return their text representation.
|
|
|
|
|
|
|
|
| |
CIM_ERR_NOT_FOUND shall be raised when objectpath of invoked method does
not refer to existing repository. CIM_ERR_FAILED was raised instead
which is unhelpful.
Resolves: rhbz#1036291
|
|
|
|
|
|
|
|
| |
This fix repairs previous patch trying to speed up generating of
software identities associated with software collection through
LMI_MemberOfSoftwareCollection.
Resolves: rhbz#1035328
|
|
|
|
|
|
| |
LMI_SoftwareInstallationService passed incorrect value in InstanceID
property. Value should contain the whole class name, not shortened
version.
|
|
|
|
|
| |
This patch adds test modul for LMI_InstallationServiceAffectsElement
association class.
|
|
|
|
|
|
|
|
|
|
|
| |
LMI_SoftwareInstallationServiceAffectsElement association class
generated just the newest available packages. With this patch, all
available packages are generated.
When generating associators of installation service ComputerSystem
instance was omitted. This patch adds it to generated items.
Resolves: rhbz#1034698
|
|
|
|
|
|
| |
Software tests now create custom testing repositories and packages.
This makes them more robust and efficient (nothing needs to be
downloaded).
|
|
|
|
|
|
|
|
|
|
| |
Associators generator of LMI_MemberOfSoftwareCollection is broken. It
adds Collection property to genereted instance names of
LMI_SoftwareIdentity. Moreover its very slow if instances are requested.
This patch removes superfluous key property and adds optimizations
reducing its execution time to seconds.
Resolves: rhbz#1035328
|
|
|
|
|
|
|
|
|
|
| |
Associators generator of LMI_SoftwareIdentityServiceAffectsElement is
broken. It generates only CIM_ComputerSystem, not any
LMI_SoftwareIdentity instance. And if it did, it would be too slow (tens
of minutes). This patch allows software identities to be generated and
adds optimizations reducing its execution time to seconds.
Resolves: rhbz#1034698
|
|
|
|
|
|
|
| |
Enumeration of LMI_SoftwareInstallationServiceAffectsElement did not
work. Provider would hang indefinitely.
Resolves: rhbz#1034615
|
|
|
|
|
| |
Rpm database stores raw device number that needs to be compared with
st_rdev attribute of stat object, not the st_dev one.
|
|
|
|
|
|
|
|
| |
Due to a failure in handling request for instance of
LMI_SoftwareIdentityFileCheck representing non-existent file, a
CIM_ERR_FAILED was delivered to client instead of CIM_ERR_NOT_FOUND.
Resolves: rhbz#1032502
|
|
|
|
|
|
|
|
|
|
| |
Some jobs may not be completable on some machines. With current
algorithm, in case of worker process failure, the terminated process is
resurrected and job is restarted. This patch takes into account the
number of resurrections done during processing of single job. If this
number exceeds some limit, job is thrown away and exception is raised.
Resolves: rhbz#1031132
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
OpenSUSE distribution uses tilde character (~) in version of their
packages a lot. This patch allows to parse such packages.
Resolves: bz#1031345
Reported-by: Klaus Kämpf <kkaempf@suse.de>
|
|
|
|
|
|
|
| |
Until now repository configuration was reloaded only at the provider
start and when the request related to repositories came.
Resolves: rhbz#1030831
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Let's not process any additional jobs when terminating command has been
received.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
0 shall be returned on successful run of tests and 1 otherwise.
Not the other way round.
|
|
|
|
| |
Limit number of randomly selected packages to speed up tests.
|
|
|
|
|
| |
Skipped two unreliable performed on random packages. This is a temporary
solution.
|
|
|
|
|
| |
TargetOperatingSystem property is tested also in
TestSoftwareIdentityChecks, let's share the code in util module.
|
|
|
|
| |
Also remove dependency on sblim-cmpi-base
|
|
|
|
|
| |
Few tests of LMI_SoftwareIdentityFileCheck are not reliable on randomly
selected package. Let's skip them temporarily.
|
|
|
|
| |
Make sure to check for correct TargetOperatingSystem for rhel.
|
|
|
|
|
| |
LMI_InstalledSoftwareIdentity generated wrong object paths of
SoftwareIdentities. System does not belong into its keys.
|
|
|
|
|
| |
Base software tests on LmiTestCase from lmi.test.base. Use lmi.shell
abstractions instead of plain pywbem.
|
|
|
|
| |
Do not use packages related to openlmi and CIM for testing purposes.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Do not presume that any cache is available before call to yum.
If the cache is not there, call fails.
|