From aruna at linux.vnet.ibm.com Thu Nov 6 04:56:23 2014 From: aruna at linux.vnet.ibm.com (Aruna Balakrishnaiah) Date: Thu, 06 Nov 2014 10:26:23 +0530 Subject: [sos-devel] [RESEND PATCH v3] sosreport: Capture IBM Power RAID storage adapter configuration information In-Reply-To: <20141016110015.11503.22082.stgit@aruna-ThinkPad-T420> References: <20141016110015.11503.22082.stgit@aruna-ThinkPad-T420> Message-ID: <545AFF77.70607@linux.vnet.ibm.com> Bryn, Is the patch ok? Can we expect it to be merged in the next release? Regards, Aruna On Thursday 16 October 2014 04:30 PM, Aruna Balakrishnaiah wrote: > Capture information which helps in better understanding of > IBM Power RAID storage adapter configuration. Since iprconfig > is specific to power adding the relevant commands in powerpc plugin. > > Signed-off-by: Aruna Balakrishnaiah > --- > Missed subject tag in previous version. > > Changes from v2: > Code cleanup > > sos/plugins/iprconfig.py | 109 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 109 insertions(+) > create mode 100644 sos/plugins/iprconfig.py > > diff --git a/sos/plugins/iprconfig.py b/sos/plugins/iprconfig.py > new file mode 100644 > index 0000000..5c54e0d > --- /dev/null > +++ b/sos/plugins/iprconfig.py > @@ -0,0 +1,109 @@ > +# 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. > + > +# This plugin enables collection of logs for Power systems > + > +import os > +import re > +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin > +from sos.utilities import is_executable > + > +class iprconfig(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): > + """IBM Power RAID storage adapter configuration information > + """ > + > + plugin_name = 'iprconfig' > + > + def check_enabled(self): > + return (self.policy().get_arch() == "ppc64") > + > + def setup(self): > + if is_executable("iprconfig"): > + self.add_cmd_output([ > + "iprconfig -c show-config", > + "iprconfig -c show-alt-config", > + "iprconfig -c show-arrays", > + "iprconfig -c show-jbod-disks", > + "iprconfig -c show-ioas", > + ]) > + > + show_ioas = self.call_ext_prog("iprconfig -c show-ioas") > + if not (show_ioas['status'] == 0): > + return > + > + devices = [] > + if show_ioas['output']: > + p = re.compile('sg') > + for line in show_ioas['output'].splitlines(): > + temp = line.split(' ') > + # temp[0] holds the device name > + if p.search(temp[0]): > + devices.append(temp[0]) > + > + for device in devices: > + self.add_cmd_output("iprconfig -c show-details %s" % (device,)) > + > + # Look for IBM Power RAID enclosures (iprconfig lists them) > + show_config = self.call_ext_prog("iprconfig -c show-config") > + if not (show_config['status'] == 0): > + return > + > + if not show_config['output']: > + return > + > +# iprconfig -c show-config > +# Name PCI/SCSI Location Description Status > +# ------ ------------------------- ------------------------- ----------------- > +# 0005:60:00.0/0: PCI-E SAS RAID Adapter Operational > +# sda 0005:60:00.0/0:0:0:0 Physical Disk Active > +# sdb 0005:60:00.0/0:1:0:0 Physical Disk Active > +# sdc 0005:60:00.0/0:2:0:0 Physical Disk Active > +# sdd 0005:60:00.0/0:3:0:0 Physical Disk Active > +# sde 0005:60:00.0/0:4:0:0 Physical Disk Active > +# sdf 0005:60:00.0/0:5:0:0 Physical Disk Active > +# 0005:60:00.0/0:8:0:0 Enclosure Active > +# 0005:60:00.0/0:8:1:0 Enclosure Active > + > + altconfig = self.call_ext_prog("iprconfig -c " > + "show-alt-config") > + if not (altconfig['status'] == 0): > + return > + > + if not altconfig['output']: > + return > + > +# iprconfig -c show-alt-config > +# Name Resource Path/Address Vendor Product ID Status > +# ------ -------------------------- -------- ---------------- ----------------- > +# sg9 0: IBM 57C7001SISIOA Operational > +# sg0 0:0:0:0 IBM MBF2300RC Active > +# sg1 0:1:0:0 IBM MBF2300RC Active > +# sg2 0:2:0:0 IBM HUC106030CSS600 Active > +# sg3 0:3:0:0 IBM HUC106030CSS600 Active > +# sg4 0:4:0:0 IBM HUC106030CSS600 Active > +# sg5 0:5:0:0 IBM HUC106030CSS600 Active > +# sg7 0:8:0:0 IBM VSBPD6E4A 3GSAS Active > +# sg8 0:8:1:0 IBM VSBPD6E4B 3GSAS Active > + > + for line in show_config['output'].splitlines(): > + if "Enclosure" in line: > + temp = re.split('\s+', line) > + # temp[1] holds the PCI/SCSI location > + pci, scsi = temp[1].split('/') > + for line in altconfig['output'].splitlines(): > + if scsi in line: > + temp = line.split(' ') > + # temp[0] holds device name > + self.add_cmd_output("iprconfig -c " > + "query-ses-mode %s" % (temp[0],)) > > _______________________________________________ > sos-devel mailing list > sos-devel at redhat.com > https://www.redhat.com/mailman/listinfo/sos-devel > From aruna at linux.vnet.ibm.com Thu Nov 6 04:57:10 2014 From: aruna at linux.vnet.ibm.com (Aruna Balakrishnaiah) Date: Thu, 06 Nov 2014 10:27:10 +0530 Subject: [sos-devel] [PATCH v3] sosreport: Check for rpm database corruption during initialization In-Reply-To: <20141015104053.32616.94797.stgit@aruna-ThinkPad-T420> References: <20141015104053.32616.94797.stgit@aruna-ThinkPad-T420> Message-ID: <545AFFA6.5020402@linux.vnet.ibm.com> Bryn, Is the patch ok? Can we expect it to be merged in the next release? Regards, Aruna On Wednesday 15 October 2014 04:12 PM, Aruna Balakrishnaiah wrote: > sosreport runs an rpm query to get the package list. If rpmdb is corrupted > sosreport hangs for ever hence check for rpmdb consistency before running > the rpm query > > Signed-off-by: Aruna Balakrishnaiah > --- > Changes from v2: > Introduce timeout in shell_out wrapper > > Changes from v1: > Addressed issues of the maintainer > Introduce timeout instead of relying on yum. > > When rpmdb is corrupted rpm commands hangs forever, > yum check will result in: > > yum check > error: rpmdb: BDB0113 Thread/process 43828/70366497037824 failed: BDB1507 Thread died in Berkeley DB library > error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery > error: cannot open Packages index using db5 - (-30973) > error: cannot open Packages database in /var/lib/rpm > CRITICAL:yum.main: > > Error: rpmdb open failed > > sos/policies/__init__.py | 5 +++-- > sos/policies/redhat.py | 10 +++++++++- > sos/utilities.py | 4 ++-- > 3 files changed, 14 insertions(+), 5 deletions(-) > > diff --git a/sos/policies/__init__.py b/sos/policies/__init__.py > index 9fcbd55..f048e43 100644 > --- a/sos/policies/__init__.py > +++ b/sos/policies/__init__.py > @@ -57,8 +57,9 @@ class PackageManager(object): > > query_command = None > > - def __init__(self, query_command=None): > + def __init__(self, query_command=None, timeout=180): > self.packages = {} > + self.timeout = timeout > if query_command: > self.query_command = query_command > > @@ -92,7 +93,7 @@ class PackageManager(object): > version': 'major.minor.version'}} > """ > if self.query_command: > - pkg_list = shell_out(self.query_command).splitlines() > + pkg_list = shell_out(self.query_command, self.timeout).splitlines() > for pkg in pkg_list: > if '|' not in pkg: > continue > diff --git a/sos/policies/redhat.py b/sos/policies/redhat.py > index 2219246..e5a3f3f 100644 > --- a/sos/policies/redhat.py > +++ b/sos/policies/redhat.py > @@ -21,6 +21,7 @@ import sys > from sos.plugins import RedHatPlugin > from sos.policies import LinuxPolicy, PackageManager > from sos import _sos as _ > +from distutils.log import error > > sys.path.insert(0, "/usr/share/rhn/") > try: > @@ -46,8 +47,15 @@ class RedHatPolicy(LinuxPolicy): > 'rpm -qa --queryformat "%{NAME}|%{VERSION}\\n"') > self.valid_subclasses = [RedHatPlugin] > > + pkgs = self.package_manager.all_pkgs() > + > + # If rpm query timed out after timeout duration exit > + if not pkgs: > + error("Could not obtain installed package list") > + sys.exit(1) > + > # handle PATH for UsrMove > - if self.package_manager.all_pkgs()['filesystem']['version'][0] == '3': > + if pkgs['filesystem']['version'][0] == '3': > self.PATH = "/usr/sbin:/usr/bin:/root/bin" > else: > self.PATH = "/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" > diff --git a/sos/utilities.py b/sos/utilities.py > index 7e8cd7e..f3eea57 100644 > --- a/sos/utilities.py > +++ b/sos/utilities.py > @@ -178,11 +178,11 @@ def import_module(module_fqname, superclasses=None): > return modules > > > -def shell_out(cmd, runat=None): > +def shell_out(cmd, timeout=180, runat=None): > """Shell out to an external command and return the output or the empty > string in case of error. > """ > - return sos_get_command_output(cmd, runat=runat)['output'] > + return sos_get_command_output(cmd, timeout=timeout, runat=runat)['output'] > > > class ImporterHelper(object): > > _______________________________________________ > sos-devel mailing list > sos-devel at redhat.com > https://www.redhat.com/mailman/listinfo/sos-devel > From sbonazzo at redhat.com Fri Nov 14 13:35:45 2014 From: sbonazzo at redhat.com (Sandro Bonazzola) Date: Fri, 14 Nov 2014 14:35:45 +0100 Subject: [sos-devel] [PATCH] postgresql: avoid to crash with numerical passwords Message-ID: <1415972145-16252-1-git-send-email-sbonazzo@redhat.com> Issue: https://github.com/sosreport/sos/issues/433 Change-Id: I99fd0fe913e3f99826f98cb2b8cf7a460ecb5c4c Signed-off-by: Sandro Bonazzola --- sos/plugins/postgresql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sos/plugins/postgresql.py b/sos/plugins/postgresql.py index 350131f..0a51074 100644 --- a/sos/plugins/postgresql.py +++ b/sos/plugins/postgresql.py @@ -51,7 +51,7 @@ class PostgreSQL(Plugin): # is no need to save and restore environment variables if the user # decided to pass the password on the command line. if self.get_option("password") is not False: - os.environ["PGPASSWORD"] = self.get_option("password") + os.environ["PGPASSWORD"] = str(self.get_option("password")) if self.get_option("dbhost"): cmd = "pg_dump -U %s -h %s -p %s -w -f %s -F t %s" % ( -- 1.9.3 From bmr at redhat.com Fri Nov 14 14:22:11 2014 From: bmr at redhat.com (Bryn M. Reeves) Date: Fri, 14 Nov 2014 14:22:11 +0000 Subject: [sos-devel] [PATCH] postgresql: avoid to crash with numerical passwords In-Reply-To: <1415972145-16252-1-git-send-email-sbonazzo@redhat.com> References: <1415972145-16252-1-git-send-email-sbonazzo@redhat.com> Message-ID: <20141114142210.GE11622@localhost.localdomain> On Fri, Nov 14, 2014 at 02:35:45PM +0100, Sandro Bonazzola wrote: > Issue: https://github.com/sosreport/sos/issues/433 > Change-Id: I99fd0fe913e3f99826f98cb2b8cf7a460ecb5c4c > Signed-off-by: Sandro Bonazzola > --- > sos/plugins/postgresql.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sos/plugins/postgresql.py b/sos/plugins/postgresql.py > index 350131f..0a51074 100644 > --- a/sos/plugins/postgresql.py > +++ b/sos/plugins/postgresql.py > @@ -51,7 +51,7 @@ class PostgreSQL(Plugin): > # is no need to save and restore environment variables if the user > # decided to pass the password on the command line. > if self.get_option("password") is not False: > - os.environ["PGPASSWORD"] = self.get_option("password") > + os.environ["PGPASSWORD"] = str(self.get_option("password")) This is just working around the problem; the type of the return value of get_option() should not depend on the value passed on the command line. Regards, Bryn. From sbonazzo at redhat.com Mon Nov 17 15:23:41 2014 From: sbonazzo at redhat.com (Sandro Bonazzola) Date: Mon, 17 Nov 2014 16:23:41 +0100 Subject: [sos-devel] [PATCH] remove password leak from ovirt-engine setup answer file Message-ID: <1416237821-27764-1-git-send-email-sbonazzo@redhat.com> Change-Id: Ie86186b48e04141d2ed7ee9b2185eb3a09bbc166 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1162781 Signed-off-by: Sandro Bonazzola --- sos/plugins/ovirt.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sos/plugins/ovirt.py b/sos/plugins/ovirt.py index 172c1e0..0f1db12 100644 --- a/sos/plugins/ovirt.py +++ b/sos/plugins/ovirt.py @@ -182,5 +182,20 @@ class Ovirt(Plugin, RedHatPlugin): r'{key}=********'.format(key=key) ) + # Answer files contain passwords + for key in ( + 'OVESETUP_CONFIG/adminPassword', + 'OVESETUP_CONFIG/remoteEngineHostRootPassword', + 'OVESETUP_DWH_DB/password', + 'OVESETUP_DB/password', + 'OVESETUP_REPORTS_CONFIG/adminPassword', + 'OVESETUP_REPORTS_DB/password', + ): + self.do_path_regex_sub( + r'/var/lib/ovirt-engine/setup/answers/.*', + r'{key}=(.*)'.format(key=key), + r'{key}=********'.format(key=key) + ) + # vim: expandtab tabstop=4 shiftwidth=4 -- 1.9.3 From sma102874 at gmail.com Fri Nov 21 06:17:04 2014 From: sma102874 at gmail.com (Stephen Ma) Date: Thu, 20 Nov 2014 22:17:04 -0800 Subject: [sos-devel] [PATCH] [plugins/openstack_neutron] Display iptables rules for security groups Message-ID: <1416550624-3843-1-git-send-email-stephen.ma@hp.com> Dumps out the iptables rules in the root namespace. Neutron implements the security group rules in iptables rules in the root namespace. Signed-off-by: Stephen Ma --- sos/plugins/openstack_neutron.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sos/plugins/openstack_neutron.py b/sos/plugins/openstack_neutron.py index dba192e..0a11ff2 100644 --- a/sos/plugins/openstack_neutron.py +++ b/sos/plugins/openstack_neutron.py @@ -52,6 +52,12 @@ class Neutron(Plugin): ]) self.netns_dumps() + self.security_group_dumps() + + def security_group_dumps(self): + # The neutron security group rules are found in the iptables rules + # in the root namespace. + self.add_cmd_output(["iptables-save -c"]) def netns_dumps(self): # It would've been beautiful if we could get parts of the networking -- 1.9.1 From bmr at redhat.com Fri Nov 21 13:02:37 2014 From: bmr at redhat.com (Bryn M. Reeves) Date: Fri, 21 Nov 2014 13:02:37 +0000 Subject: [sos-devel] [PATCH] [plugins/openstack_neutron] Display iptables rules for security groups In-Reply-To: <1416550624-3843-1-git-send-email-stephen.ma@hp.com> References: <1416550624-3843-1-git-send-email-stephen.ma@hp.com> Message-ID: <20141121130237.GA18155@localhost.localdomain> On Thu, Nov 20, 2014 at 10:17:04PM -0800, Stephen Ma wrote: > Dumps out the iptables rules in the root namespace. Neutron > implements the security group rules in iptables rules in > the root namespace. This doesn't belong in the Neutron plugin since it's collecting information for the root networking namespace; the only networking bits we tolerate in Neutron are the netns pieces (since we don't currently have a good way to expose the networking plugin's abstractions in a way that the Neutron plugin can use). We already collect the 'filter', 'nat' and 'mangle' tables (in 'iptables -L' format) in the networking plugin so this would also duplicate that. I'd be happy to make additions or changes to the networking collection to close any gaps but this certainly belongs there rather than in the neutron plugin. Regards, Bryn. From sma102874 at gmail.com Sat Nov 22 07:06:18 2014 From: sma102874 at gmail.com (Stephen Ma) Date: Fri, 21 Nov 2014 23:06:18 -0800 Subject: [sos-devel] [PATCH] [plugins/openstack_neutron] Add netns dumps for DVR namespaces Message-ID: <1416639978-3173-1-git-send-email-stephen.ma@hp.com> The Neutron's Distributed Virtual Router (DVR) create new namespaces (fip- and snat- namespaces). This patch add these namespaces to the namespace info dump. Signed-off-by: Stephen Ma --- sos/plugins/openstack_neutron.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sos/plugins/openstack_neutron.py b/sos/plugins/openstack_neutron.py index dba192e..44768ce 100644 --- a/sos/plugins/openstack_neutron.py +++ b/sos/plugins/openstack_neutron.py @@ -58,7 +58,7 @@ class Neutron(Plugin): # plugin to run in different namespaces. There are a couple of options # in the short term: create a local instance and "borrow" some of the # functionality, or simply copy some of the functionality. - prefixes = ["qdhcp", "qrouter"] + prefixes = ["qdhcp", "qrouter", "fip", "snat"] ip_netns_result = self.call_ext_prog("ip netns") if not (ip_netns_result['status'] == 0): return -- 1.9.1 From bmr at redhat.com Tue Nov 25 11:57:13 2014 From: bmr at redhat.com (Bryn M. Reeves) Date: Tue, 25 Nov 2014 11:57:13 +0000 Subject: [sos-devel] [PATCH] [plugins/openstack_neutron] Add netns dumps for DVR namespaces In-Reply-To: <1416639978-3173-1-git-send-email-stephen.ma@hp.com> References: <1416639978-3173-1-git-send-email-stephen.ma@hp.com> Message-ID: <20141125115712.GB31857@localhost.localdomain> On Fri, Nov 21, 2014 at 11:06:18PM -0800, Stephen Ma wrote: > The Neutron's Distributed Virtual Router (DVR) create new namespaces > (fip- and snat- namespaces). This patch add > these namespaces to the namespace info dump. > > Signed-off-by: Stephen Ma > --- > sos/plugins/openstack_neutron.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sos/plugins/openstack_neutron.py b/sos/plugins/openstack_neutron.py > index dba192e..44768ce 100644 > --- a/sos/plugins/openstack_neutron.py > +++ b/sos/plugins/openstack_neutron.py > @@ -58,7 +58,7 @@ class Neutron(Plugin): > # plugin to run in different namespaces. There are a couple of options > # in the short term: create a local instance and "borrow" some of the > # functionality, or simply copy some of the functionality. > - prefixes = ["qdhcp", "qrouter"] > + prefixes = ["qdhcp", "qrouter", "fip", "snat"] Are these prefixes totally private to Neutron/DVR? I.e. we're not going to trip over ourselves by assuming that if "fip" and "snat" are there that we're looking at a DVR configuration? It doesn't really affect the current patch but it would be useful information to help inform future changes (e.g. right now the Neutron plugin runs unconditionally - even on hosts with none of the OpenStack components installed). Regards, Bryn. From bmr at redhat.com Fri Nov 28 11:03:53 2014 From: bmr at redhat.com (Bryn M. Reeves) Date: Fri, 28 Nov 2014 11:03:53 +0000 Subject: [sos-devel] [PATCH] [plugins/openstack_neutron] Add netns dumps for DVR namespaces In-Reply-To: <36AF4B62444F4B4FB04EDD1FDAE1CF1D57671BE6@G9W0344.americas.hpqcorp.net> References: <1416639978-3173-1-git-send-email-stephen.ma@hp.com> <20141125115712.GB31857@localhost.localdomain> <36AF4B62444F4B4FB04EDD1FDAE1CF1D57671BE6@G9W0344.americas.hpqcorp.net> Message-ID: <20141128110352.GA3703@localhost.localdomain> On Thu, Nov 27, 2014 at 12:18:48AM +0000, Ma, Stephen B. wrote: > Hi Bryn, > > Yes when the fip and the snat namespace are present in a system, we are looking at a neutron configuration with neutron DVR enabled. I hope I answered your question. What I meant by 'private' is whether these namespace prefixes are every used by anything *other* than the OpenStack Neutron DVR; if so then we should avoid collecting them by default unless we already know that we're running on an appropriate system. The Neutron plugin is currently one of the few that doesn't implement file or package checks before enabling the plugin; I'll look at adding a package check before we merge this patch so we only attempt this collection on Neutron hosts. Regards, Bryn. From stephen.ma at hp.com Thu Nov 27 00:18:48 2014 From: stephen.ma at hp.com (Ma, Stephen B.) Date: Thu, 27 Nov 2014 00:18:48 +0000 Subject: [sos-devel] [PATCH] [plugins/openstack_neutron] Add netns dumps for DVR namespaces In-Reply-To: <20141125115712.GB31857@localhost.localdomain> References: <1416639978-3173-1-git-send-email-stephen.ma@hp.com> <20141125115712.GB31857@localhost.localdomain> Message-ID: <36AF4B62444F4B4FB04EDD1FDAE1CF1D57671BE6@G9W0344.americas.hpqcorp.net> Hi Bryn, Yes when the fip and the snat namespace are present in a system, we are looking at a neutron configuration with neutron DVR enabled. I hope I answered your question. -----Original Message----- From: Bryn M. Reeves [mailto:bmr at redhat.com] Sent: Tuesday, November 25, 2014 3:57 AM To: Stephen Ma Cc: sos-devel at redhat.com; Ma, Stephen B. Subject: Re: [sos-devel] [PATCH] [plugins/openstack_neutron] Add netns dumps for DVR namespaces On Fri, Nov 21, 2014 at 11:06:18PM -0800, Stephen Ma wrote: > The Neutron's Distributed Virtual Router (DVR) create new namespaces > (fip- and snat- namespaces). This patch add > these namespaces to the namespace info dump. > > Signed-off-by: Stephen Ma > --- > sos/plugins/openstack_neutron.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sos/plugins/openstack_neutron.py > b/sos/plugins/openstack_neutron.py > index dba192e..44768ce 100644 > --- a/sos/plugins/openstack_neutron.py > +++ b/sos/plugins/openstack_neutron.py > @@ -58,7 +58,7 @@ class Neutron(Plugin): > # plugin to run in different namespaces. There are a couple of options > # in the short term: create a local instance and "borrow" some of the > # functionality, or simply copy some of the functionality. > - prefixes = ["qdhcp", "qrouter"] > + prefixes = ["qdhcp", "qrouter", "fip", "snat"] Are these prefixes totally private to Neutron/DVR? I.e. we're not going to trip over ourselves by assuming that if "fip" and "snat" are there that we're looking at a DVR configuration? It doesn't really affect the current patch but it would be useful information to help inform future changes (e.g. right now the Neutron plugin runs unconditionally - even on hosts with none of the OpenStack components installed). Regards, Bryn. From stephen.ma at hp.com Fri Nov 28 18:11:01 2014 From: stephen.ma at hp.com (Ma, Stephen B.) Date: Fri, 28 Nov 2014 18:11:01 -0000 Subject: [sos-devel] [PATCH] [plugins/openstack_neutron] Add netns dumps for DVR namespaces In-Reply-To: <20141128110352.GA3703@localhost.localdomain> References: <1416639978-3173-1-git-send-email-stephen.ma@hp.com> <20141125115712.GB31857@localhost.localdomain> <36AF4B62444F4B4FB04EDD1FDAE1CF1D57671BE6@G9W0344.americas.hpqcorp.net> <20141128110352.GA3703@localhost.localdomain> Message-ID: <36AF4B62444F4B4FB04EDD1FDAE1CF1D576725A9@G9W0344.americas.hpqcorp.net> Hi Bryn, The fip and snat namespaces are created by the neutron-l3-agent when it is running in the dvr or dvr_snat mode. They are not used outside of neutron. One thing to note is that when Neutron is running on a machine, it does not necessary implies that qdhcp, qrouter, fip, or the snat namespaces are present on the machine. For example, neutron-l3-agent manages the qrouter, fip, and snat namespaces. When the agent crashed, these namespaces are left behind. So if you run sosreport at the time the agent is not running, I would still like to see the information on these 3 namespaces. The information would provide clues as to what is the problem. -----Original Message----- From: Bryn M. Reeves [mailto:bmr at redhat.com] Sent: Friday, November 28, 2014 3:04 AM To: Ma, Stephen B. Cc: sos-devel at redhat.com Subject: Re: [sos-devel] [PATCH] [plugins/openstack_neutron] Add netns dumps for DVR namespaces On Thu, Nov 27, 2014 at 12:18:48AM +0000, Ma, Stephen B. wrote: > Hi Bryn, > > Yes when the fip and the snat namespace are present in a system, we are looking at a neutron configuration with neutron DVR enabled. I hope I answered your question. What I meant by 'private' is whether these namespace prefixes are every used by anything *other* than the OpenStack Neutron DVR; if so then we should avoid collecting them by default unless we already know that we're running on an appropriate system. The Neutron plugin is currently one of the few that doesn't implement file or package checks before enabling the plugin; I'll look at adding a package check before we merge this patch so we only attempt this collection on Neutron hosts. Regards, Bryn.