Bug 971807

Summary: Better rsyslog support
Product: [Fedora] Fedora Reporter: Tomáš Bžatek <tbzatek>
Component: sblim-cmpi-syslogAssignee: Vitezslav Crhonek <vcrhonek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: tsmetana, vcrhonek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sblim-cmpi-syslog-0.8.0-10.20120315cvs.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-24 03:34:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Use internal memory array for Syslog_MessageLog values
none
Parse rsyslog includes
none
Parse rsyslog includes for Syslog_Setting instances
none
Add support for filter definitions
none
Don't crash when calling a method with zero arguments
none
Handle missing ConfInFile file gracefully
none
Handle cross-filesystem rename
none
Proper write support for rsyslog includes in Syslog_Setting
none
Fix Syslog_Setting instance deletion
none
Handle unset properties on method calls better
none
Fix some compiler warnings
none
Allow Syslog_Setting.Priority key to be empty string
none
Handle cross-filesystem rename none

Description Tomáš Bžatek 2013-06-07 10:18:11 UTC
I'm going to publish series of enhancement patches, bringing better support for rsyslog within the provider.

Comment 1 Tomáš Bžatek 2013-06-07 10:21:51 UTC
Created attachment 758102 [details]
Use internal memory array for Syslog_MessageLog values

This first patch is a basis for future enhancements. It parses all items for Syslog_MessageLog during Syslog_MessageLog_Begin_Enum() and stores the data in memory, contrary to using a temporary file. The temporary file approach is retained for the Syslog_LogRecord case where large amounts of data are not convenient to be stored in memory.

Comment 2 Tomáš Bžatek 2013-06-07 10:23:37 UTC
Created attachment 758114 [details]
Parse rsyslog includes

This second patch adds support for $IncludeConfig directives within the rsyslog.conf configuration file. This means adding proper support for separate config files in /etc/rsyslog.d/ directory, as we have in Fedora.

Comment 3 Tomáš Bžatek 2013-06-10 11:50:36 UTC
Created attachment 759163 [details]
Parse rsyslog includes for Syslog_Setting instances

First of series of patches to properly support rsysglog $IncludeConfig directive in Syslog_Setting classes.

Comment 4 Tomáš Bžatek 2013-06-12 09:41:29 UTC
Created attachment 760056 [details]
Add support for filter definitions

This to support filter-type rules such as

:msg, contains, "error" /var/log/error.log

Comment 5 Tomáš Bžatek 2013-06-12 15:43:38 UTC
Created attachment 760234 [details]
Don't crash when calling a method with zero arguments

Simple crasher fix

Comment 6 Tomáš Bžatek 2013-06-17 12:41:37 UTC
Created attachment 762019 [details]
Handle missing ConfInFile file gracefully

Small fix for a crasher found by having empty /etc/rsyslog.conf file.

Comment 7 Tomáš Bžatek 2013-06-17 12:44:48 UTC
Created attachment 762020 [details]
Handle cross-filesystem rename

This patch fixes the case of having temporary file on different filesystem than the target file, e.g. creating new Syslog_Setting instance resulting in writing new rules through a temporary file.

Comment 8 Tomáš Bžatek 2013-06-20 16:06:40 UTC
Created attachment 763500 [details]
Proper write support for rsyslog includes in Syslog_Setting

This patch fixes and enhances rule write support through Syslog_Setting instances. It's a bit large due to number of changes needed to be done.

The only thing I'm aware is broken (and was before) is removing a rule from multiple rule line. Removing single rules works fine. This is going to be addressed in the next patch.

Comment 9 Tomáš Bžatek 2013-06-24 15:10:18 UTC
Created attachment 764673 [details]
Fix Syslog_Setting instance deletion

This patch fixes instance deletion and brings more robustness wrt to rule string matching.

Comment 10 Tomáš Bžatek 2013-06-25 15:23:54 UTC
Created attachment 765149 [details]
Handle unset properties on method calls better

(In reply to Tomáš Bžatek from comment #5)
> Created attachment 760234 [details]
> Don't crash when calling a method with zero arguments
> 
> Simple crasher fix

The attached patch is a follow up on this one, further extending it.

Comment 11 Tomáš Bžatek 2013-06-25 15:32:34 UTC
Created attachment 765151 [details]
Fix some compiler warnings

Patch to fix some compiler warnings related to the patches I posted.

Comment 12 Tomáš Bžatek 2013-06-25 16:17:01 UTC
Filed upstream bugreport https://sourceforge.net/p/sblim/bugs/2645/

Comment 13 Tomáš Bžatek 2013-06-26 14:41:04 UTC
Created attachment 765626 [details]
Allow Syslog_Setting.Priority key to be empty string

One more patch to fix a problem with filter rules.

Comment 14 Tomáš Bžatek 2013-07-01 15:02:25 UTC
Created attachment 767429 [details]
Handle cross-filesystem rename

An updated patch fixing some compilation issues.

Comment 15 Fedora Update System 2013-07-01 15:11:22 UTC
sblim-cmpi-syslog-0.8.0-10.20120315cvs.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/sblim-cmpi-syslog-0.8.0-10.20120315cvs.fc19

Comment 16 Fedora Update System 2013-07-02 00:34:43 UTC
Package sblim-cmpi-syslog-0.8.0-10.20120315cvs.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing sblim-cmpi-syslog-0.8.0-10.20120315cvs.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-12135/sblim-cmpi-syslog-0.8.0-10.20120315cvs.fc19
then log in and leave karma (feedback).

Comment 17 Fedora Update System 2013-07-24 03:34:48 UTC
sblim-cmpi-syslog-0.8.0-10.20120315cvs.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.