| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Added journald provider and also missing doc subpackages.
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Allow to specify workspace directory, where the local git checkouts are
located. Also do not depend on installed openlmi-providers-devel package
when all we need is in this repository.
|
|
|
|
|
|
|
| |
%doc macro with just file names listed in the main packages causes whole
doc directory to be included. That caused the presence of
OpenLMI Account documentation both in openlmi-providers and
openlmi-account-doc packages.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds ability to report new messages in the journal log.
This is done by the LMI_JournalLogRecord.CreateInstance() method call
taking only CreationClassName, LogCreationClassName, LogName and DataFormat
key properties as mandatory, with no need to specify the MessageTimestamp and
RecordID key properties. The returned instance will contain all the
information with actual RecordID key property of the new record.
As long as sd_journal_send() actually only queues the request, we need
to watch for journal changes in order to find the new record. This is
quite unfortunate as the daemon could be busy and we can't wait forever.
Messages are available immediately usually, a timeout is set to 5 seconds
for the moment.
Record matching is done by comparing the message itself, the origin function
name and PID. This brings sufficient amount of confidence though more
sophisticated approach may be needed in future to ensure full uniqueness.
|
| |
|
|
|
|
|
| |
The commit c7777bfa1b1114fd9d changed format of the message we expose
to include process name and PID so let's update our tests accordingly.
|
|
|
|
|
|
|
| |
Tests basic iterator operations, assumes accessible journal and several (> 10)
records available.
Also comes with a simple example script for downloading complete journal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements CIM_MessageLog iterator functionality according to
the model. The only limitation, or, let's say shortcoming, is a
free-form output data format from the GetRecord call. Currently we
feed the uint8 array with UTF-8 chars and it's up to the client to
deal with it (as suggested in the model). This may be subject to
change.
Many methods are returning modified iterator that has been passed
in and that allows having persistent iterators. As long as CIMOMs
may destroy the instances and unload providers on inactivity, any
particular delay would cause loss of the iterator. The iterator
string contains journal cursor string, uniquely identifying a
record. When this part of the iterator string is valid, the
provider is able to reopen journal and seek to that position,
allowing seamless continuation of the itearation process. If the
cursor points to non-existing record, an error is returned. This
typically happens when journal is rotated or the cursor is very
old.
The provider keeps track of active iterators during its lifetime,
keeping the journal open for fast access. Clients are supposed to
close the iterator by calling the CancelIteration method.
|
|
|
|
| |
Let's be consistent with traditional syslog message format.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Records in journal may contain syslog-style priority value so let's use
them. Unfortunately mapping the particular values between syslog and CIM
classes is not linear, manual mapping is needed.
The LOG_ERR may also map to PerceivedSeverity = Major but it's kept on
Minor for the moment.
If no such information is provided by the Journal, the CIM property is
left unset for the particular record.
See e.g. http://schemas.dmtf.org/wbem/cim-html/2.34.0/CIM_RecordForLog.html
for valuemap description.
|
| |
|
|
|
|
| |
Also contains simple test suite to test indications.
|
|
|
|
|
|
|
|
| |
This is a fully functional basic implementation of the provider.
Maximum number of enumerated instances is limited, see the code.
TODO list: https://fedorahosted.org/openlmi/ticket/142
|
|
|
|
|
|
|
|
| |
Found by Coverity Scan. The change is really not needed, the iter variable
is initialized NULL and subsequent g_variant_iter_next() call should return
immediately, preventing the cycle to run.
But, just to be on a safe side...
|
| |
|
|
|
|
|
|
| |
Tracing messages logging entries and exits of functions/methods polute
the trace logs greatly. Let's make them less severe making them
easy to suppress, while keeping other interesting messages enabled.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tracing decorators are everywhere and they make debugging very
inconvenient. This allows to disable them easily using environment
variable.
To disable them, just add
export LMI_DISABLE_TRACING_DECORATORS=1
to your
/usr/libexec/pegasus/$provider-cimprovagt
script.
|
|
|
|
| |
use track instead
|
| |
|
|
|
|
| |
Added a short introduction to OpenLMI Software provider documentation.
|
|
|
|
| |
specified regular expression for Version and Release properties
|
|
|
|
|
|
|
| |
Compilation fails with older schema (preceding 2.38.0) because of
missing Values in CIM_Processor::Family's qualifiers. Let's check
whether the values get generated by konkret and fallback to custom
defines.
|
|
|
|
|
| |
Add a note about the need to change the SystemClassName in config when
sfcb is used.
|
|
|
|
|
| |
Regular expressions could parse nevra and envra strings wrongly. Also
increased the rebustness of checks for SoftwareIdentity::InstanceID.
|
|\ |
|
| |
| |
| |
| | |
The thread did not stop when AttributeError occured.
|
| | |
|
| |
| |
| |
| |
| | |
There is no reason to define own ORGID. Use the common one. Fixes some
compilation warnings.
|
|/ |
|
|
|
|
|
|
|
| |
And get rid of sblim-cmpi-base dependency.
It would be nice if our tests have an option to select Linux_ComputerSystem
or PG_ComputerSystem in the future...
|
|
|
|
|
|
| |
This applies only to the top level combined documentation,
if a provider introduces its own config file and options, it
still must be mentioned in the provider's docs.
|
|
|
|
|
| |
This commit sort of reverts commit
657e5bfee810e4a51b33ffd401aa307862491423.
|
|
|
|
| |
Add EnumerateInstances() and GetInstance().
|
|
|
|
|
|
|
|
|
|
| |
Setting an error on top of an existing error is considered a programmer's
bug, possibly leaking memory. So do proper cleanup before reusing that
variable.
Also, errors set while retrieving keys and values are not checked anywhere
so let's just don't set them. Returned NULL values in case of error should
be enough to skip the particular value.
|
| |
|
| |
|
|
|
|
| |
LMI_Processor_Family_Other was undefined
|
|
|
|
| |
Install software's documentation in a separate package.
|
| |
|
|
|
|
| |
Bumped version in setups to 0.3.0.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It may happen that get_providers are called twice in single python
process. Let's prevent an error to be raised due to double instantiation
of IndicationManager which is a singleton.
|