From 70ea7ef14c9cd7474723c1ac5eea1f7163ce13ba Mon Sep 17 00:00:00 2001 From: "Bryn M. Reeves" Date: Fri, 12 Sep 2014 10:49:18 +0100 Subject: [ovirt_hosted_engine] new plugin for oVirt The oVirt Hosted Engine packages allow to run ovirt-engine inside a VM. This plugin provides info about the setup and the high availability daemons running such VM. Change-Id: I4380bbed5bab4dd7fd3472bf5d5d1265f1eed3e7 Signed-off-by: Sandro Bonazzola Signed-off-by: Bryn M. Reeves --- sos/plugins/ovirt_hosted_engine.py | 85 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 sos/plugins/ovirt_hosted_engine.py --- sos/plugins/ovirt_hosted_engine.py | 85 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 sos/plugins/ovirt_hosted_engine.py diff --git a/sos/plugins/ovirt_hosted_engine.py b/sos/plugins/ovirt_hosted_engine.py new file mode 100644 index 00000000..3e8dc1e3 --- /dev/null +++ b/sos/plugins/ovirt_hosted_engine.py @@ -0,0 +1,85 @@ +# Copyright (C) 2014 Red Hat, Inc., Sandro Bonazzola + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + +import glob + + +from sos.plugins import Plugin, RedHatPlugin + + +class OvirtHostedEngine(Plugin, RedHatPlugin): + """oVirt Hosted Engine related information""" + + packages = ( + 'ovirt-hosted-engine-setup', + 'ovirt-hosted-engine-ha', + ) + + plugin_name = 'ovirt_hosted_engine' + + SETUP_LOG_GLOB = '/var/log/ovirt-hosted-engine-setup/*.log' + HA_LOG_GLOB = '/var/log/ovirt-hosted-engine-ha/*.log' + + def setup(self): + self.limit = self.get_option('log_size') + + # Add configuration files + # Collecting the whole directory since it may contain branding + # configuration files or third party plugins configuration files + self.add_copy_specs(['/etc/ovirt-hosted-engine-setup.env.d/']) + + self.add_copy_specs([ + '/etc/ovirt-hosted-engine/answers.conf', + '/etc/ovirt-hosted-engine/hosted-engine.conf', + '/etc/ovirt-hosted-engine/vm.conf', + '/etc/ovirt-hosted-engine-ha/agent.conf', + '/etc/ovirt-hosted-engine-ha/agent-log.conf', + '/etc/ovirt-hosted-engine-ha/broker.conf', + '/etc/ovirt-hosted-engine-ha/broker-log.conf', + '/etc/ovirt-hosted-engine-ha/notifications/state_transition.txt', + ]) + + all_setup_logs = glob.glob(self.SETUP_LOG_GLOB) + all_setup_logs.sort(reverse=True) + # Add latest ovirt-hosted-engine-setup log file + self.add_copy_spec(all_setup_logs[0]) + # Add older ovirt-hosted-engine-setup log files only if requested + if self.get_option('all_logs'): + self.add_copy_spec_limit( + self.SETUP_LOG_GLOB, + sizelimit=self.limit + ) + + self.add_copy_specs([ + '/var/log/ovirt-hosted-engine-ha/agent.log', + '/var/log/ovirt-hosted-engine-ha/broker.log', + ]) + # Add older ovirt-hosted-engine-ha log files only if requested + if self.get_option('all_logs'): + self.add_copy_spec_limit( + self.HA_LOG_GLOB, + sizelimit=self.limit, + ) + + # Add run-time status + self.add_cmd_outputs([ + 'hosted-engine --vm-status', + 'hosted-engine --check-liveliness', + ]) + + +# vim: expandtab tabstop=4 shiftwidth=4 -- cgit