Bug 1627753

Summary: On hosts replace fluentd dependencies with rsyslog
Product: [oVirt] ovirt-distribution Reporter: Sandro Bonazzola <sbonazzo>
Component: ovirt-hostAssignee: Sandro Bonazzola <sbonazzo>
Status: CLOSED CURRENTRELEASE QA Contact: Pavel Novotny <pnovotny>
Severity: urgent Docs Contact: Rolfe Dlugy-Hegwer <rdlugyhe>
Priority: urgent    
Version: 4.3.0CC: apinnick, bugs, didi, lberk, mgoodwin, mperina, nathans, rdlugyhe, rmeggins, sbonazzo, sradco
Target Milestone: ovirt-4.3.0Flags: rule-engine: ovirt-4.3+
rule-engine: blocker+
lsvaty: testing_ack+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-host-4.3.0-2 Doc Type: Release Note
Doc Text:
The current release replaces Fluentd with Rsyslog for collecting oVirt logs and collectd metrics. Hosts upgraded from 4.2 will still have Fluentd installed, but the service is disabled and stopped. After upgrading to 4.3, you can remove the Fluentd packages.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-01 10:16:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Integration RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1615974, 1627761, 1630263    

Description Sandro Bonazzola 2018-09-11 11:55:50 UTC
We are currently requiring fluentd to be on all hosts while we want to move to pcp + rsyslog according to bug #1615974

Comment 1 Shirly Radco 2018-09-13 14:37:12 UTC
Rich, Please update the required rsyslog packages.

Comment 2 Shirly Radco 2018-09-13 14:50:28 UTC
Packages required for PCP:
pcp-zeroconf
pcp
pcp-selinux
pcp-conf
pcp-libs
pcp-export-pcp2elasticsearch

Comment 3 Rich Megginson 2018-09-13 15:26:41 UTC
(In reply to Shirly Radco from comment #1)
> Rich, Please update the required rsyslog packages.

Note that these packages will be available in RHEL 7.6.

For now:

rsyslog
rsyslog-omelasticsearch
rsyslog-mmjsonparse
rsyslog-mmnormalize

Note that these will pull in other dependencies from RHEL 7.6 such as libfastjson, liblognorm, libestr, etc.

In the future, you may want these additional packages:

rsyslog-gssapi
rsyslog-kafka
rsyslog-relp

Comment 4 Rich Megginson 2018-09-18 14:24:33 UTC
Forgot to add the rsyslog dependencies - you'll need either the latest rhel 7.6 or rhlog versions of these packages:

libfastjson
liblognorm
libestr

rsyslog may also pull in the following packages:

logrotate
gnutls
trousers

Comment 5 Sandro Bonazzola 2018-09-18 14:35:26 UTC
Ok, so minimal set of packages to be required in 4.3.0:
pcp-zeroconf
pcp
pcp-selinux
pcp-conf
pcp-libs
pcp-export-pcp2elasticsearch
rsyslog
rsyslog-omelasticsearch
rsyslog-mmjsonparse
rsyslog-mmnormalize

Shirly, what should we do about fluentd requirements? keep them or drop them?

I'm thinking about upgrade scenario where both 4.2 hosts and 4.3 hosts are on the same datacenter with cluster compatibility 4.2 until all the hosts get updated.
What should happen in this case? Note that 4.3 hosts may be used by 4.2 engine in 4.2 compatibility mode.

Comment 6 Rich Megginson 2018-09-18 14:50:54 UTC
(In reply to Sandro Bonazzola from comment #5)
> Ok, so minimal set of packages to be required in 4.3.0:
> pcp-zeroconf
> pcp
> pcp-selinux
> pcp-conf
> pcp-libs
> pcp-export-pcp2elasticsearch
> rsyslog
> rsyslog-omelasticsearch
> rsyslog-mmjsonparse
> rsyslog-mmnormalize

and 

libfastjson
liblognorm
libestr

> 
> Shirly, what should we do about fluentd requirements? keep them or drop them?
> 
> I'm thinking about upgrade scenario where both 4.2 hosts and 4.3 hosts are
> on the same datacenter with cluster compatibility 4.2 until all the hosts
> get updated.
> What should happen in this case? Note that 4.3 hosts may be used by 4.2
> engine in 4.2 compatibility mode.

Comment 7 Shirly Radco 2018-09-20 11:31:01 UTC
Fluentd can still be used in upstream but we won't keep the packages in d/s.

Fluentd, rsyslog and pcp can send the data to elasticsearch.
The only issue I see is making sure the naming stays the same.
I'll try to keep it backwards compatible. Not sure on limitations at this point.

Comment 8 Sandro Bonazzola 2018-09-20 12:37:00 UTC
I'm not willing to have differences between up and down stream.

Comment 9 Shirly Radco 2018-09-20 12:55:48 UTC
The role supports installing fluentd but we will not install it in 4.3. There will be no differences between up and down stream.
But if upstream users want, they can update the role vars to install fluentd.
The role will be based on the linux-system-roles that includes the functionality.

Comment 10 Shirly Radco 2018-11-21 13:03:14 UTC
(In reply to Rich Megginson from comment #6)
> (In reply to Sandro Bonazzola from comment #5)
> > Ok, so minimal set of packages to be required in 4.3.0:
> > pcp-zeroconf
> > pcp
> > pcp-selinux
> > pcp-conf
> > pcp-libs
> > pcp-export-pcp2elasticsearch
> > rsyslog
> > rsyslog-omelasticsearch
> > rsyslog-mmjsonparse
> > rsyslog-mmnormalize
> 
> and 
> 
> libfastjson
> liblognorm
> libestr
> 
> > 
> > Shirly, what should we do about fluentd requirements? keep them or drop them?
> > 
> > I'm thinking about upgrade scenario where both 4.2 hosts and 4.3 hosts are
> > on the same datacenter with cluster compatibility 4.2 until all the hosts
> > get updated.
> > What should happen in this case? Note that 4.3 hosts may be used by 4.2
> > engine in 4.2 compatibility mode.

Why is rsyslog-mmjsonparse required for oVirt ?
And if it is not, Can any of the other dependencies be dropped:
libfastjson, liblognorm, libestr ?

Comment 11 Rich Megginson 2018-11-22 03:20:44 UTC
(In reply to Shirly Radco from comment #10)
> (In reply to Rich Megginson from comment #6)
> > (In reply to Sandro Bonazzola from comment #5)
> > > Ok, so minimal set of packages to be required in 4.3.0:
> > > pcp-zeroconf
> > > pcp
> > > pcp-selinux
> > > pcp-conf
> > > pcp-libs
> > > pcp-export-pcp2elasticsearch
> > > rsyslog
> > > rsyslog-omelasticsearch
> > > rsyslog-mmjsonparse
> > > rsyslog-mmnormalize
> > 
> > and 
> > 
> > libfastjson
> > liblognorm
> > libestr
> > 
> > > 
> > > Shirly, what should we do about fluentd requirements? keep them or drop them?
> > > 
> > > I'm thinking about upgrade scenario where both 4.2 hosts and 4.3 hosts are
> > > on the same datacenter with cluster compatibility 4.2 until all the hosts
> > > get updated.
> > > What should happen in this case? Note that 4.3 hosts may be used by 4.2
> > > engine in 4.2 compatibility mode.
> 
> Why is rsyslog-mmjsonparse required for oVirt ?

It isn't if you have no json logs.

> And if it is not, Can any of the other dependencies be dropped:
> libfastjson, liblognorm, libestr ?

No, because you need rsyslog-mmnormalize, and those libraries are required by rsyslog-mmnormalize.

But - what difference does it make to have rsyslog-mmjsonparse or not?  Is it just one extra dependency you would rather not have to have?

Comment 12 Shirly Radco 2018-12-16 07:21:48 UTC
For 4.3.0 we require the rsyslog packages. PCP was postponed for now.
rsyslog
rsyslog-omelasticsearch
rsyslog-mmjsonparse
rsyslog-mmnormalize
libfastjson
liblognorm
libestr

Comment 13 Sandro Bonazzola 2019-01-10 10:44:14 UTC
(In reply to Shirly Radco from comment #12)
> For 4.3.0 we require the rsyslog packages. PCP was postponed for now.
> rsyslog
> rsyslog-omelasticsearch

this one is rsyslog-elasticsearch

> rsyslog-mmjsonparse
> rsyslog-mmnormalize
> libfastjson
> liblognorm
> libestr

Comment 14 Rolfe Dlugy-Hegwer 2019-01-17 19:22:39 UTC
Should we explain how to uninstall fluentd?

Comment 15 Sandro Bonazzola 2019-01-18 13:44:14 UTC
(In reply to Rolfe Dlugy-Hegwer from comment #14)
> Should we explain how to uninstall fluentd?

I think that just removing the rpm using yum should be enough. Shirly?

Comment 16 Shirly Radco 2019-01-20 13:47:05 UTC
I disable and stop the service when configuring Rsyslog.
Is removing the package required?

Comment 17 Sandro Bonazzola 2019-01-21 07:49:45 UTC
(In reply to Shirly Radco from comment #16)
> I disable and stop the service when configuring Rsyslog.
> Is removing the package required?

No, not required, but I think user should be aware at documentation level we are leaving unused packages around after upgrade.

Comment 18 Shirly Radco 2019-01-21 11:05:21 UTC
I see you updated the doc text. I updated it as well.

Comment 19 Pavel Novotny 2019-02-22 13:28:09 UTC
Verified in ovirt-host-4.3.1-1.el7ev.

Fluentd depencencies were replaced with rsyslog.

# yum deplist ovirt-host* | grep fluent
# yum deplist ovirt-host* | grep rsyslog
  dependency: rsyslog
   provider: rsyslog.x86_64 8.24.0-34.el7
  dependency: rsyslog-elasticsearch
   provider: rsyslog-elasticsearch.x86_64 8.24.0-34.el7
  dependency: rsyslog-mmjsonparse
   provider: rsyslog-mmjsonparse.x86_64 8.24.0-34.el7
  dependency: rsyslog-mmnormalize
   provider: rsyslog-mmnormalize.x86_64 8.24.0-34.el7

Comment 20 Sandro Bonazzola 2019-03-01 10:16:49 UTC
This bugzilla is included in oVirt 4.3.0 release, published on February 4th 2019.

Since the problem described in this bug report should be
resolved in oVirt 4.3.0 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.