| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
Inspired by StorageConfiguration. It loads configuration from
/etc/openlmi/<provider_prefix>/*. It needs to be subclassed for
particular set of python providers.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some storage actions needs to be synchronous (because of SMI-S), but can
influence running jobs.
Imagine asynchronous job for vgreduce to remove /dev/sda1 from a volume group
and while it runs, someone creates new partition table on /dev/sda, which is
synchronous, as per SMI-S. The running vgreduce won't be happy and some data
might get lost.
Solution is to put a job to create new partition table to the job queue as
usual, and synchronously wait for the job to finish.
|
|
|
|
|
| |
To comply with lmi shell, which is placed in *lmi* package, and to
make our imports shorter, we are renaming *openlmi* namespace to *lmi*.
|
|
|
|
|
|
| |
We should cleanly shut down all threads when the provider is unloaded,
just to be nice to CIMOMs.
|
|\ |
|
| | |
|
|/ |
|
|
|
|
|
| |
cimom callbacks for filter enablement have misleading param names and
miss proper doc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And moved software static filters to shared JobManager.
Indication filters now reflect the name of indication class, which is
instrumented by particular provider. This ensures, that cimom knows,
which provider to call and does not bother the others. So instead of
selecting indication instances from general class CIM_InstModification,
it will be LMI_SoftwareInstModification. This is a common pattern for
indication queries.
Avoided another shortcoming of sfcbmof parser:
/* comment */ something useful is also ignored :-(
Static filters of JobManager made more generic for any provider
to use. Software jobmanager is now using them. This reduces redundation
of code.
|
|
|
|
|
| |
We should return CIMInstance instead of CIMError (which has nothing to do with
CIM_Error).
|
| |
|
|
|
|
|
|
| |
DEBUG is too verbose. On the other hand, we'll see no logging until
something sets more verbose level, e.g. after configuration load.
|
|
|
|
| |
clocktime_of_last_state_change was in local time.
|
| |
|
|
|
|
| |
Job expiration timer should not be influenced by admin changing date or time.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Standard Python threading.Timer starts separate thread for each timer.
That has two unpleseant consequences:
- We end up with lot of sleeping threads.
- If we want to use logging in thread callbacks, we must register the thread
at CIMOM using AttachThread (=tedious).
So let's create TimerManager
- Uses only on thread.
- It is possible to log stuff in timer callbacks.
|
| |
|
| |
|
|
|
|
|
|
| |
When the method starts, the indication thread is not yet registered at
CIMOM, that's done inside the method using AttachThread(). Therefore
we should not log anything.
|
| |
|
|
|
|
| |
Both Storage and Software providers should use the same CQL filters for
all job-realted indications.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
JobManager here is older version of the one in openlmi-storage.
Let's sync it with the storage so I can use it from there.
The patch includes:
Fixed job expiration under SFCB.
Added LMI_StorageJob.JobInParameters and .JobOutParameters properties.
Allow python to exit the provider even if there are threads running.
Fixed job returning an error
Added possibility to set AffectedElements when a job finishes.
Added workaround for rhbz#920763
|
|
|
|
|
|
|
| |
Only static indication filters listed in
mof/LMI_SoftwareIndicationFilters.mof are supported. They should be
installed at rpm package installation, so user can use them for
subscriptions.
|
|
|
|
| |
also some tab/spaces fixes
|
|
|
|
|
|
|
|
|
|
|
|
| |
IndicationManager python module is useful for many providers across
OpenLMI project. That's why it's landing in openlmi.common subpackage
from openlmi-storage. It supports checking for static filters
IndicationManager allows to check and install static filters at broker
at runtime
- but it should be avoided
filters should work also under sfcbd
|
|
|
|
|
| |
singletonmixin python module moved under openlmi.common from software
source tree. This allows it to be shared be other OpenLMI projects.
|
| |
|
|
|
|
|
|
| |
made tracing message for function exit match the entry one
added threading related logging for YumDB
|
|
|
|
|
|
| |
Marking of line positions for error suppression needed finetuning
in other to make them more robust. They did not work for multiline
statements like decorated functions/methods etc.
|
|
|
|
|
|
|
|
| |
openlmi.common subpackage allows to share code accros various OpenLMI
provider packages. Currently there is a cmpi_logging.py module.
Resolves: #71 in openlmi trac -- Make common package under openlmi
namespace for utilities shared accross python providers.
|
| |
|
|
This is aimed to be a common package for all openlmi python providers.
It allows using fully-qualified imports in provider source packages.
|