Blame SOURCES/sos-bz1511087-openstack-containerized-further-updates.patch

084cc6
From 4d1e5ffd2e6e4e9b4d4509af212c11a9ead58740 Mon Sep 17 00:00:00 2001
084cc6
From: Pavel Moravec <pmoravec@redhat.com>
084cc6
Date: Thu, 12 Oct 2017 14:22:55 +0200
084cc6
Subject: [PATCH] [openstack_[glance|heat]] run commands only if service is
084cc6
 running
084cc6
084cc6
Collect "glance-manage db_version" and similar commands from the
084cc6
two plugins only if the relevant services are running. Otherwise
084cc6
the commands get stuck and timeout.
084cc6
084cc6
Resolves: #1124
084cc6
084cc6
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
084cc6
---
084cc6
 sos/plugins/openstack_glance.py | 29 +++++++++++++++++------------
084cc6
 sos/plugins/openstack_heat.py   | 40 +++++++++++++++++++++++-----------------
084cc6
 2 files changed, 40 insertions(+), 29 deletions(-)
084cc6
084cc6
diff --git a/sos/plugins/openstack_glance.py b/sos/plugins/openstack_glance.py
084cc6
index 0a2bdc1bb..642b4593a 100644
084cc6
--- a/sos/plugins/openstack_glance.py
084cc6
+++ b/sos/plugins/openstack_glance.py
084cc6
@@ -31,12 +31,6 @@ class OpenStackGlance(Plugin):
084cc6
     var_puppet_gen = "/var/lib/config-data/puppet-generated/glance_api"
084cc6
 
084cc6
     def setup(self):
084cc6
-        # Glance
084cc6
-        self.add_cmd_output(
084cc6
-            "glance-manage db_version",
084cc6
-            suggest_filename="glance_db_version"
084cc6
-        )
084cc6
-
084cc6
         self.limit = self.get_option("log_size")
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
@@ -64,12 +58,23 @@ def setup(self):
084cc6
         vars_any = [p in os.environ for p in [
084cc6
                     'OS_TENANT_NAME', 'OS_PROJECT_NAME']]
084cc6
 
084cc6
-        if not (all(vars_all) and any(vars_any)):
084cc6
-            self.soslog.warning("Not all environment variables set. Source "
084cc6
-                                "the environment file for the user intended "
084cc6
-                                "to connect to the OpenStack environment.")
084cc6
-        else:
084cc6
-            self.add_cmd_output("openstack image list --long")
084cc6
+        # collect commands output only if the openstack-glance-api service
084cc6
+        # is running
084cc6
+        service_status = self.get_command_output(
084cc6
+                "systemctl status openstack-glance-api.service"
084cc6
+        )
084cc6
+        if service_status['status'] == 0:
084cc6
+            self.add_cmd_output(
084cc6
+                "glance-manage db_version",
084cc6
+                suggest_filename="glance_db_version"
084cc6
+            )
084cc6
+            if not (all(vars_all) and any(vars_any)):
084cc6
+                self.soslog.warning("Not all environment variables set. "
084cc6
+                                    "Source the environment file for the user "
084cc6
+                                    "intended to connect to the OpenStack "
084cc6
+                                    "environment.")
084cc6
+            else:
084cc6
+                self.add_cmd_output("openstack image list --long")
084cc6
 
084cc6
     def postproc(self):
084cc6
         protect_keys = [
084cc6
diff --git a/sos/plugins/openstack_heat.py b/sos/plugins/openstack_heat.py
084cc6
index a73916b25..66a7f4109 100644
084cc6
--- a/sos/plugins/openstack_heat.py
084cc6
+++ b/sos/plugins/openstack_heat.py
084cc6
@@ -29,24 +29,30 @@ class OpenStackHeat(Plugin):
084cc6
     var_puppet_gen = "/var/lib/config-data/puppet-generated/heat"
084cc6
 
084cc6
     def setup(self):
084cc6
-        # Heat
084cc6
-        self.add_cmd_output(
084cc6
-            "heat-manage db_version",
084cc6
-            suggest_filename="heat_db_version"
084cc6
-        )
084cc6
-
084cc6
-        vars_all = [p in os.environ for p in [
084cc6
-                    'OS_USERNAME', 'OS_PASSWORD']]
084cc6
 
084cc6
-        vars_any = [p in os.environ for p in [
084cc6
-                    'OS_TENANT_NAME', 'OS_PROJECT_NAME']]
084cc6
-
084cc6
-        if not (all(vars_all) and any(vars_any)):
084cc6
-            self.soslog.warning("Not all environment variables set. Source "
084cc6
-                                "the environment file for the user intended "
084cc6
-                                "to connect to the OpenStack environment.")
084cc6
-        else:
084cc6
-            self.add_cmd_output("openstack stack list")
084cc6
+        # collect commands output only if the openstack-heat-api service
084cc6
+        # is running
084cc6
+        service_status = self.get_command_output("systemctl status "
084cc6
+                                                 "openstack-heat-api.service")
084cc6
+        if service_status['status'] == 0:
084cc6
+            self.add_cmd_output(
084cc6
+                "heat-manage db_version",
084cc6
+                suggest_filename="heat_db_version"
084cc6
+            )
084cc6
+
084cc6
+            vars_all = [p in os.environ for p in [
084cc6
+                        'OS_USERNAME', 'OS_PASSWORD']]
084cc6
+
084cc6
+            vars_any = [p in os.environ for p in [
084cc6
+                        'OS_TENANT_NAME', 'OS_PROJECT_NAME']]
084cc6
+
084cc6
+            if not (all(vars_all) and any(vars_any)):
084cc6
+                self.soslog.warning("Not all environment variables set. "
084cc6
+                                    "Source the environment file for the user "
084cc6
+                                    "intended to connect to the OpenStack "
084cc6
+                                    "environment.")
084cc6
+            else:
084cc6
+                self.add_cmd_output("openstack stack list")
084cc6
 
084cc6
         self.limit = self.get_option("log_size")
084cc6
         if self.get_option("all_logs"):
084cc6
From d5ac6cd768acbd6a8d2d1de2ec26f127272089f2 Mon Sep 17 00:00:00 2001
084cc6
From: Martin Schuppert <mschuppert@redhat.com>
084cc6
Date: Wed, 18 Oct 2017 15:50:23 +0200
084cc6
Subject: [PATCH] [openstack_*, logrotate] Tripleo additional directories
084cc6
084cc6
Tripleo Pike opinionated config+log paths to be collected
084cc6
for services, when running in containers.
084cc6
084cc6
This is an addition to #1054 where a couple of things got missed
084cc6
084cc6
Fixes: #1130
084cc6
084cc6
Signed-off-by: Martin Schuppert <mschuppe@redhat.com>
084cc6
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
084cc6
---
084cc6
 sos/plugins/gnocchi.py            |  6 ++++--
084cc6
 sos/plugins/logrotate.py          |  6 +++++-
084cc6
 sos/plugins/openstack_cinder.py   | 34 ++++++++++++++++++++++++-------
084cc6
 sos/plugins/openstack_glance.py   |  6 ++++--
084cc6
 sos/plugins/openstack_heat.py     |  8 ++++++--
084cc6
 sos/plugins/openstack_horizon.py  |  6 ++++--
084cc6
 sos/plugins/openstack_ironic.py   | 43 +++++++++++++++++++++++++++++++--------
084cc6
 sos/plugins/openstack_keystone.py |  6 ++++--
084cc6
 sos/plugins/openstack_manila.py   | 12 ++++++++---
084cc6
 sos/plugins/openstack_neutron.py  | 10 ++++++---
084cc6
 sos/plugins/openstack_nova.py     | 19 ++++++++++++++---
084cc6
 sos/plugins/openstack_swift.py    |  6 ++++--
084cc6
 13 files changed, 160 insertions(+), 43 deletions(-)
084cc6
084cc6
diff --git a/sos/plugins/gnocchi.py b/sos/plugins/gnocchi.py
084cc6
index c7a97097c..d2eda47ea 100644
084cc6
--- a/sos/plugins/gnocchi.py
084cc6
+++ b/sos/plugins/gnocchi.py
084cc6
@@ -49,13 +49,15 @@ def setup(self):
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/gnocchi/*",
084cc6
-                "/var/log/containers/gnocchi/*"],
084cc6
+                "/var/log/containers/gnocchi/*",
084cc6
+                "/var/log/containers/httpd/gnocchi-api/*"],
084cc6
                 sizelimit=self.limit
084cc6
             )
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/gnocchi/*.log",
084cc6
-                "/var/log/containers/gnocchi/*.log"],
084cc6
+                "/var/log/containers/gnocchi/*.log",
084cc6
+                "/var/log/containers/httpd/gnocchi-api/*log"],
084cc6
                 sizelimit=self.limit
084cc6
             )
084cc6
 
084cc6
diff --git a/sos/plugins/logrotate.py b/sos/plugins/logrotate.py
084cc6
index c811192f0..c12cf1bb4 100644
084cc6
--- a/sos/plugins/logrotate.py
084cc6
+++ b/sos/plugins/logrotate.py
084cc6
@@ -22,12 +22,16 @@ class LogRotate(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin):
084cc6
     plugin_name = 'logrotate'
084cc6
     profiles = ('system',)
084cc6
 
084cc6
+    var_puppet_gen = "/var/lib/config-data/puppet-generated/crond"
084cc6
+
084cc6
     def setup(self):
084cc6
         self.add_cmd_output("logrotate --debug /etc/logrotate.conf",
084cc6
                             suggest_filename="logrotate_debug")
084cc6
         self.add_copy_spec([
084cc6
             "/etc/logrotate*",
084cc6
-            "/var/lib/logrotate.status"
084cc6
+            "/var/lib/logrotate.status",
084cc6
+            self.var_puppet_gen + "/etc/logrotate-crond.conf",
084cc6
+            self.var_puppet_gen + "/var/spool/cron/root"
084cc6
         ])
084cc6
 
084cc6
 # vim: set et ts=4 sw=4 :
084cc6
diff --git a/sos/plugins/openstack_cinder.py b/sos/plugins/openstack_cinder.py
084cc6
index ffec62b53..abfd267bb 100644
084cc6
--- a/sos/plugins/openstack_cinder.py
084cc6
+++ b/sos/plugins/openstack_cinder.py
084cc6
@@ -30,23 +30,39 @@ class OpenStackCinder(Plugin):
084cc6
     option_list = [("db", "gathers openstack cinder db version", "slow",
084cc6
                     False)]
084cc6
 
084cc6
+    var_puppet_gen = "/var/lib/config-data/puppet-generated/cinder"
084cc6
+
084cc6
     def setup(self):
084cc6
         if self.get_option("db"):
084cc6
             self.add_cmd_output(
084cc6
                 "cinder-manage db version",
084cc6
                 suggest_filename="cinder_db_version")
084cc6
 
084cc6
-        self.add_copy_spec(["/etc/cinder/"])
084cc6
+        self.add_copy_spec([
084cc6
+            "/etc/cinder/",
084cc6
+            self.var_puppet_gen + "/etc/cinder/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf.d/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",
084cc6
+            self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",
084cc6
+            self.var_puppet_gen + "/etc/sysconfig/",
084cc6
+        ])
084cc6
 
084cc6
         self.limit = self.get_option("log_size")
084cc6
         if self.get_option("all_logs"):
084cc6
-            self.add_copy_spec(["/var/log/cinder/",
084cc6
-                                "/var/log/containers/cinder/"],
084cc6
-                               sizelimit=self.limit)
084cc6
+            self.add_copy_spec([
084cc6
+                "/var/log/cinder/",
084cc6
+                "/var/log/httpd/cinder*",
084cc6
+                "/var/log/containers/cinder/",
084cc6
+                "/var/log/containers/httpd/cinder-api/"
084cc6
+            ], sizelimit=self.limit)
084cc6
         else:
084cc6
-            self.add_copy_spec(["/var/log/cinder/*.log",
084cc6
-                                "/var/log/containers/cinder/*.log"],
084cc6
-                               sizelimit=self.limit)
084cc6
+            self.add_copy_spec([
084cc6
+                "/var/log/cinder/*.log",
084cc6
+                "/var/log/httpd/cinder*.log",
084cc6
+                "/var/log/containers/cinder/*.log",
084cc6
+                "/var/log/containers/httpd/cinder-api/*log"
084cc6
+            ], sizelimit=self.limit)
084cc6
 
084cc6
         if self.get_option("verify"):
084cc6
             self.add_cmd_output("rpm -V %s" % ' '.join(self.packages))
084cc6
@@ -67,6 +83,10 @@ def postproc(self):
084cc6
 
084cc6
         regexp = r"((?m)^\s*(%s)\s*=\s*)(.*)" % "|".join(protect_keys)
084cc6
         self.do_path_regex_sub("/etc/cinder/*", regexp, r"\1*********")
084cc6
+        self.do_path_regex_sub(
084cc6
+            self.var_puppet_gen + "/etc/cinder/*",
084cc6
+            regexp, r"\1*********"
084cc6
+        )
084cc6
 
084cc6
 
084cc6
 class DebianCinder(OpenStackCinder, DebianPlugin, UbuntuPlugin):
084cc6
diff --git a/sos/plugins/openstack_glance.py b/sos/plugins/openstack_glance.py
084cc6
index 642b4593a..fdd789a81 100644
084cc6
--- a/sos/plugins/openstack_glance.py
084cc6
+++ b/sos/plugins/openstack_glance.py
084cc6
@@ -35,12 +35,14 @@ def setup(self):
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/glance/",
084cc6
-                "/var/log/containers/glance/"
084cc6
+                "/var/log/containers/glance/",
084cc6
+                "/var/log/containers/httpd/glance-api/"
084cc6
             ], sizelimit=self.limit)
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/glance/*.log",
084cc6
-                "/var/log/containers/glance/*.log"
084cc6
+                "/var/log/containers/glance/*.log",
084cc6
+                "/var/log/containers/httpd/glance-api/*log"
084cc6
             ], sizelimit=self.limit)
084cc6
 
084cc6
         self.add_copy_spec([
084cc6
diff --git a/sos/plugins/openstack_heat.py b/sos/plugins/openstack_heat.py
084cc6
index 66a7f4109..de34ed155 100644
084cc6
--- a/sos/plugins/openstack_heat.py
084cc6
+++ b/sos/plugins/openstack_heat.py
084cc6
@@ -58,12 +58,16 @@ def setup(self):
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/heat/",
084cc6
-                "/var/log/containers/heat/"
084cc6
+                "/var/log/containers/heat/",
084cc6
+                "/var/log/containers/httpd/heat-api/",
084cc6
+                "/var/log/containers/httpd/heat-api-cfn"
084cc6
             ], sizelimit=self.limit)
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/heat/*.log",
084cc6
-                "/var/log/containers/heat/*.log"
084cc6
+                "/var/log/containers/heat/*.log",
084cc6
+                "/var/log/containers/httpd/heat-api/*log",
084cc6
+                "/var/log/containers/httpd/heat-api-cfn/*log"
084cc6
             ], sizelimit=self.limit)
084cc6
 
084cc6
         self.add_copy_spec([
084cc6
diff --git a/sos/plugins/openstack_horizon.py b/sos/plugins/openstack_horizon.py
084cc6
index a9a7fab3b..d4f457115 100644
084cc6
--- a/sos/plugins/openstack_horizon.py
084cc6
+++ b/sos/plugins/openstack_horizon.py
084cc6
@@ -35,12 +35,14 @@ def setup(self):
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/horizon/",
084cc6
-                "/var/log/containers/horizon/"
084cc6
+                "/var/log/containers/horizon/",
084cc6
+                "/var/log/containers/httpd/horizon/"
084cc6
             ], sizelimit=self.limit)
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/horizon/*.log",
084cc6
-                "/var/log/containers/horizon/*.log"
084cc6
+                "/var/log/containers/horizon/*.log",
084cc6
+                "/var/log/containers/httpd/horizon/*log"
084cc6
             ], sizelimit=self.limit)
084cc6
 
084cc6
         self.add_copy_spec([
084cc6
diff --git a/sos/plugins/openstack_ironic.py b/sos/plugins/openstack_ironic.py
084cc6
index 0396cc639..f4e0a97d3 100644
084cc6
--- a/sos/plugins/openstack_ironic.py
084cc6
+++ b/sos/plugins/openstack_ironic.py
084cc6
@@ -25,21 +25,48 @@ class OpenStackIronic(Plugin):
084cc6
     plugin_name = "openstack_ironic"
084cc6
     profiles = ('openstack', 'openstack_undercloud')
084cc6
 
084cc6
+    var_puppet_gen = "/var/lib/config-data/puppet-generated/ironic"
084cc6
+
084cc6
     def setup(self):
084cc6
-        self.conf_list = ['/etc/ironic/*']
084cc6
-        self.add_copy_spec('/etc/ironic/')
084cc6
+        self.conf_list = [
084cc6
+            "/etc/ironic/*",
084cc6
+            self.var_puppet_gen + "/etc/ironic/*",
084cc6
+            self.var_puppet_gen + "_api/etc/ironic/*"
084cc6
+        ]
084cc6
+        self.add_copy_spec([
084cc6
+            "/etc/ironic/",
084cc6
+            self.var_puppet_gen + "/etc/xinetd.conf",
084cc6
+            self.var_puppet_gen + "/etc/xinetd.d/",
084cc6
+            self.var_puppet_gen + "/etc/ironic/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf.d/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",
084cc6
+            self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",
084cc6
+            self.var_puppet_gen + "_api/etc/ironic/",
084cc6
+            self.var_puppet_gen + "_api/etc/httpd/conf/",
084cc6
+            self.var_puppet_gen + "_api/etc/httpd/conf.d/",
084cc6
+            self.var_puppet_gen + "_api/etc/httpd/conf.modules.d/*.conf",
084cc6
+            self.var_puppet_gen + "_api/etc/my.cnf.d/tripleo.cnf"
084cc6
+        ])
084cc6
 
084cc6
         self.limit = self.get_option("log_size")
084cc6
         if self.get_option("all_logs"):
084cc6
-            self.add_copy_spec(["/var/log/ironic/",
084cc6
-                                "/var/log/containers/ironic/"],
084cc6
-                               sizelimit=self.limit)
084cc6
+            self.add_copy_spec([
084cc6
+                "/var/log/ironic/",
084cc6
+                "/var/log/containers/ironic/",
084cc6
+                "/var/log/containers/httpd/ironic-api/"
084cc6
+            ], sizelimit=self.limit)
084cc6
         else:
084cc6
-            self.add_copy_spec(["/var/log/ironic/*.log",
084cc6
-                                "/var/log/containers/ironic/*.log"],
084cc6
-                               sizelimit=self.limit)
084cc6
+            self.add_copy_spec([
084cc6
+                "/var/log/ironic/*.log",
084cc6
+                "/var/log/containers/ironic/*.log",
084cc6
+                "/var/log/containers/httpd/ironic-api/*log"
084cc6
+            ], sizelimit=self.limit)
084cc6
 
084cc6
         self.add_cmd_output('ls -laRt /var/lib/ironic/')
084cc6
+        self.add_cmd_output(
084cc6
+            'ls -laRt ' + self.var_puppet_gen + '/var/lib/ironic/'
084cc6
+        )
084cc6
 
084cc6
         if self.get_option("verify"):
084cc6
             self.add_cmd_output("rpm -V %s" % ' '.join(self.packages))
084cc6
diff --git a/sos/plugins/openstack_keystone.py b/sos/plugins/openstack_keystone.py
084cc6
index d0b144323..72c7f8e2a 100644
084cc6
--- a/sos/plugins/openstack_keystone.py
084cc6
+++ b/sos/plugins/openstack_keystone.py
084cc6
@@ -47,12 +47,14 @@ class OpenStackKeystone(Plugin):
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/keystone/",
084cc6
-                "/var/log/containers/keystone/"
084cc6
+                "/var/log/containers/keystone/",
084cc6
+                "/var/log/containers/httpd/keystone/"
084cc6
             ], sizelimit=self.limit)
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/keystone/*.log",
084cc6
-                "/var/log/containers/keystone/*.log"
084cc6
+                "/var/log/containers/keystone/*.log",
084cc6
+                "/var/log/containers/httpd/keystone/*log"
084cc6
             ], sizelimit=self.limit)
084cc6
 
084cc6
         if self.get_option("verify"):
084cc6
diff --git a/sos/plugins/openstack_manila.py b/sos/plugins/openstack_manila.py
084cc6
index 92bca6fa8..e29859367 100644
084cc6
--- a/sos/plugins/openstack_manila.py
084cc6
+++ b/sos/plugins/openstack_manila.py
084cc6
@@ -29,19 +29,25 @@ class OpenStackManila(Plugin):
084cc6
     def setup(self):
084cc6
         self.add_copy_spec([
084cc6
             "/etc/manila/",
084cc6
-            self.var_puppet_gen + "/etc/manila/"
084cc6
+            self.var_puppet_gen + "/etc/manila/",
084cc6
+            self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf.d/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",
084cc6
         ])
084cc6
 
084cc6
         self.limit = self.get_option("log_size")
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/manila/*",
084cc6
-                "/var/log/containers/manila/*"
084cc6
+                "/var/log/containers/manila/*",
084cc6
+                "/var/log/containers/httpd/manila-api/*"
084cc6
             ], sizelimit=self.limit)
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/manila/*.log",
084cc6
-                "/var/log/containers/manila/*.log"
084cc6
+                "/var/log/containers/manila/*.log",
084cc6
+                "/var/log/containers/httpd/manila-api/*log"
084cc6
             ], sizelimit=self.limit)
084cc6
 
084cc6
     def postproc(self):
084cc6
diff --git a/sos/plugins/openstack_neutron.py b/sos/plugins/openstack_neutron.py
084cc6
index b6116c731..522686606 100644
084cc6
--- a/sos/plugins/openstack_neutron.py
084cc6
+++ b/sos/plugins/openstack_neutron.py
084cc6
@@ -33,17 +33,21 @@ def setup(self):
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/neutron/",
084cc6
-                "/var/log/containers/neutron/"
084cc6
+                "/var/log/containers/neutron/",
084cc6
+                "/var/log/containers/httpd/neutron-api/"
084cc6
             ], sizelimit=self.limit)
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/neutron/*.log",
084cc6
-                "/var/log/containers/neutron/*.log"
084cc6
+                "/var/log/containers/neutron/*.log",
084cc6
+                "/var/log/containers/httpd/neutron-api/*log"
084cc6
             ], sizelimit=self.limit)
084cc6
 
084cc6
         self.add_copy_spec([
084cc6
             "/etc/neutron/",
084cc6
-            self.var_puppet_gen + "/etc/neutron/"
084cc6
+            self.var_puppet_gen + "/etc/neutron/",
084cc6
+            self.var_puppet_gen + "/etc/default/neutron-server",
084cc6
+            self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf"
084cc6
         ])
084cc6
         self.add_copy_spec("/var/lib/neutron/")
084cc6
         if self.get_option("verify"):
084cc6
diff --git a/sos/plugins/openstack_nova.py b/sos/plugins/openstack_nova.py
084cc6
index 75dd37255..1fbfa76a8 100644
084cc6
--- a/sos/plugins/openstack_nova.py
084cc6
+++ b/sos/plugins/openstack_nova.py
084cc6
@@ -71,12 +71,16 @@ def setup(self):
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/nova/",
084cc6
-                "/var/log/containers/nova/"
084cc6
+                "/var/log/containers/nova/",
084cc6
+                "/var/log/containers/httpd/nova-api/",
084cc6
+                "/var/log/containers/httpd/nova-placement/"
084cc6
             ], sizelimit=self.limit)
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/nova/*.log",
084cc6
-                "/var/log/containers/nova/*.log"
084cc6
+                "/var/log/containers/nova/*.log",
084cc6
+                "/var/log/containers/httpd/nova-api/*log",
084cc6
+                "/var/log/containers/httpd/nova-placement/*log"
084cc6
             ], sizelimit=self.limit)
084cc6
 
084cc6
         self.add_copy_spec([
084cc6
@@ -89,7 +93,12 @@ def setup(self):
084cc6
             self.var_puppet_gen + "_placement/etc/httpd/conf.d/",
084cc6
             self.var_puppet_gen + "_placement/etc/httpd/conf.modules.d/*.conf",
084cc6
             self.var_puppet_gen + "_placement/etc/my.cnf.d/tripleo.cnf",
084cc6
-            self.var_puppet_gen + "/../memcached/etc/sysconfig/memcached"
084cc6
+            self.var_puppet_gen + "/../memcached/etc/sysconfig/memcached",
084cc6
+            self.var_puppet_gen + "_libvirt/etc/libvirt/",
084cc6
+            self.var_puppet_gen + "_libvirt/etc/my.cnf.d/tripleo.cnf",
084cc6
+            self.var_puppet_gen + "_libvirt/etc/nova/migration/"
084cc6
+            "authorized_keys",
084cc6
+            self.var_puppet_gen + "_libvirt/var/lib/nova/.ssh/config",
084cc6
         ])
084cc6
 
084cc6
         if self.get_option("verify"):
084cc6
@@ -115,6 +124,10 @@ def postproc(self):
084cc6
             self.var_puppet_gen + "_placement/etc/nova/*",
084cc6
             regexp, r"\1*********"
084cc6
         )
084cc6
+        self.do_path_regex_sub(
084cc6
+            self.var_puppet_gen + "_libvirt/etc/nova/*",
084cc6
+            regexp, r"\1*********"
084cc6
+        )
084cc6
 
084cc6
 
084cc6
 class DebianNova(OpenStackNova, DebianPlugin, UbuntuPlugin):
084cc6
diff --git a/sos/plugins/openstack_swift.py b/sos/plugins/openstack_swift.py
084cc6
index 1cfff2b88..1688112f5 100644
084cc6
--- a/sos/plugins/openstack_swift.py
084cc6
+++ b/sos/plugins/openstack_swift.py
084cc6
@@ -35,12 +35,14 @@ def setup(self):
084cc6
         if self.get_option("all_logs"):
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/swift/",
084cc6
-                "/var/log/containers/swift/"
084cc6
+                "/var/log/containers/swift/",
084cc6
+                "/var/log/containers/httpd/swift-proxy/"
084cc6
             ], sizelimit=self.limit)
084cc6
         else:
084cc6
             self.add_copy_spec([
084cc6
                 "/var/log/swift/*.log",
084cc6
-                "/var/log/containers/swift/*.log"
084cc6
+                "/var/log/containers/swift/*.log",
084cc6
+                "/var/log/containers/httpd/swift-proxy/*log"
084cc6
             ], sizelimit=self.limit)
084cc6
 
084cc6
         self.add_copy_spec([
084cc6
From e63c17d902f99d96cbd4cb2a06d9cbbf8a4d4c18 Mon Sep 17 00:00:00 2001
084cc6
From: Martin Schuppert <mschuppert@redhat.com>
084cc6
Date: Tue, 7 Nov 2017 18:07:47 +0100
084cc6
Subject: [PATCH] [openstack_nova] added missing nova container config
084cc6
084cc6
Tripleo Pike opinionated config+log paths to be collected
084cc6
for services, when running in containers.
084cc6
084cc6
The nova configuration for the nova and placement container
084cc6
was included, but the nova configuration libvirt container
084cc6
was missing. Also the httpd configs for the nova contaier
084cc6
were added.
084cc6
084cc6
This is a change to #1130
084cc6
084cc6
Signed-off-by: Martin Schuppert mschuppe@redhat.com
084cc6
---
084cc6
 sos/plugins/openstack_nova.py | 6 +++++-
084cc6
 1 file changed, 5 insertions(+), 1 deletion(-)
084cc6
084cc6
diff --git a/sos/plugins/openstack_nova.py b/sos/plugins/openstack_nova.py
084cc6
index 1fbfa76a8..cdd297608 100644
084cc6
--- a/sos/plugins/openstack_nova.py
084cc6
+++ b/sos/plugins/openstack_nova.py
084cc6
@@ -87,7 +87,10 @@ def setup(self):
084cc6
             "/etc/nova/",
084cc6
             self.var_puppet_gen + "/etc/nova/",
084cc6
             self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",
084cc6
-            self.var_puppet_gen + "_placement/var/spool/cron/nova",
084cc6
+            self.var_puppet_gen + "/var/spool/cron/nova",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf.d/",
084cc6
+            self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",
084cc6
             self.var_puppet_gen + "_placement/etc/nova/",
084cc6
             self.var_puppet_gen + "_placement/etc/httpd/conf/",
084cc6
             self.var_puppet_gen + "_placement/etc/httpd/conf.d/",
084cc6
@@ -96,6 +99,7 @@ def setup(self):
084cc6
             self.var_puppet_gen + "/../memcached/etc/sysconfig/memcached",
084cc6
             self.var_puppet_gen + "_libvirt/etc/libvirt/",
084cc6
             self.var_puppet_gen + "_libvirt/etc/my.cnf.d/tripleo.cnf",
084cc6
+            self.var_puppet_gen + "_libvirt/etc/nova/",
084cc6
             self.var_puppet_gen + "_libvirt/etc/nova/migration/"
084cc6
             "authorized_keys",
084cc6
             self.var_puppet_gen + "_libvirt/var/lib/nova/.ssh/config",
084cc6
From 410733862a1f5ea1f9666d1fa41a7b5d3390e3c6 Mon Sep 17 00:00:00 2001
084cc6
From: Martin Schuppert <mschuppert@redhat.com>
084cc6
Date: Wed, 8 Nov 2017 17:57:54 +0100
084cc6
Subject: [PATCH] [openstack_[glance|heat|cinder|nova]] limit command run
084cc6
084cc6
Collect "glance-manage db_version" and similar commands from the
084cc6
four plugins only if the relevant services or containers are
084cc6
running. Otherwise the commands get stuck and timeout.
084cc6
084cc6
This is an enhancement to #1124 to check for containers + do the
084cc6
same for nova + cinder.
084cc6
084cc6
Signed-off-by: Martin Schuppert mschuppe@redhat.com
084cc6
084cc6
Edited to remove use of shell syntax.
084cc6
084cc6
Fixes: #1139
084cc6
084cc6
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
084cc6
---
084cc6
 sos/plugins/openstack_cinder.py | 30 ++++++++++---
084cc6
 sos/plugins/openstack_glance.py | 33 +++++++++++----
084cc6
 sos/plugins/openstack_heat.py   | 23 ++++++++--
084cc6
 sos/plugins/openstack_nova.py   | 94 +++++++++++++++++++++++++++--------------
084cc6
 4 files changed, 129 insertions(+), 51 deletions(-)
084cc6
084cc6
diff --git a/sos/plugins/openstack_cinder.py b/sos/plugins/openstack_cinder.py
084cc6
index abfd267bb..a023105c8 100644
084cc6
--- a/sos/plugins/openstack_cinder.py
084cc6
+++ b/sos/plugins/openstack_cinder.py
084cc6
@@ -27,16 +27,34 @@ class OpenStackCinder(Plugin):
084cc6
     plugin_name = "openstack_cinder"
084cc6
     profiles = ('openstack', 'openstack_controller')
084cc6
 
084cc6
-    option_list = [("db", "gathers openstack cinder db version", "slow",
084cc6
-                    False)]
084cc6
-
084cc6
     var_puppet_gen = "/var/lib/config-data/puppet-generated/cinder"
084cc6
 
084cc6
     def setup(self):
084cc6
-        if self.get_option("db"):
084cc6
+
084cc6
+        # collect commands output only if the openstack-cinder-api service
084cc6
+        # is running
084cc6
+        service_status = self.get_command_output(
084cc6
+            "systemctl status openstack-cinder-api.service"
084cc6
+        )
084cc6
+
084cc6
+        container_status = self.get_command_output("docker ps")
084cc6
+        in_container = False
084cc6
+        if container_status['status'] == 0:
084cc6
+            for line in container_status['output'].splitlines():
084cc6
+                if line.endswith("cinder_api"):
084cc6
+                    in_container = True
084cc6
+
084cc6
+        if (service_status['status'] == 0) or in_container:
084cc6
+            cinder_config = ""
084cc6
+            # if containerized we need to pass the config to the cont.
084cc6
+            if in_container:
084cc6
+                cinder_config = "--config-dir " + self.var_puppet_gen + \
084cc6
+                                "/etc/cinder/"
084cc6
+
084cc6
             self.add_cmd_output(
084cc6
-                "cinder-manage db version",
084cc6
-                suggest_filename="cinder_db_version")
084cc6
+                "cinder-manage " + cinder_config + " db version",
084cc6
+                suggest_filename="cinder_db_version"
084cc6
+            )
084cc6
 
084cc6
         self.add_copy_spec([
084cc6
             "/etc/cinder/",
084cc6
diff --git a/sos/plugins/openstack_glance.py b/sos/plugins/openstack_glance.py
084cc6
index fdd789a81..4cdc6dc62 100644
084cc6
--- a/sos/plugins/openstack_glance.py
084cc6
+++ b/sos/plugins/openstack_glance.py
084cc6
@@ -54,22 +54,37 @@ def setup(self):
084cc6
         if self.get_option("verify"):
084cc6
             self.add_cmd_output("rpm -V %s" % ' '.join(self.packages))
084cc6
 
084cc6
-        vars_all = [p in os.environ for p in [
084cc6
-                    'OS_USERNAME', 'OS_PASSWORD']]
084cc6
-
084cc6
-        vars_any = [p in os.environ for p in [
084cc6
-                    'OS_TENANT_NAME', 'OS_PROJECT_NAME']]
084cc6
-
084cc6
         # collect commands output only if the openstack-glance-api service
084cc6
         # is running
084cc6
         service_status = self.get_command_output(
084cc6
-                "systemctl status openstack-glance-api.service"
084cc6
+            "systemctl status openstack-glance-api.service"
084cc6
         )
084cc6
-        if service_status['status'] == 0:
084cc6
+
084cc6
+        container_status = self.get_command_output("docker ps")
084cc6
+        in_container = False
084cc6
+        if container_status['status'] == 0:
084cc6
+            for line in container_status['output'].splitlines():
084cc6
+                if line.endswith("cinder_api"):
084cc6
+                    in_container = True
084cc6
+
084cc6
+        if (service_status['status'] == 0) or in_container:
084cc6
+            glance_config = ""
084cc6
+            # if containerized we need to pass the config to the cont.
084cc6
+            if in_container:
084cc6
+                glance_config = "--config-dir " + self.var_puppet_gen + \
084cc6
+                                "/etc/glance/"
084cc6
+
084cc6
             self.add_cmd_output(
084cc6
-                "glance-manage db_version",
084cc6
+                "glance-manage " + glance_config + " db_version",
084cc6
                 suggest_filename="glance_db_version"
084cc6
             )
084cc6
+
084cc6
+            vars_all = [p in os.environ for p in [
084cc6
+                        'OS_USERNAME', 'OS_PASSWORD']]
084cc6
+
084cc6
+            vars_any = [p in os.environ for p in [
084cc6
+                        'OS_TENANT_NAME', 'OS_PROJECT_NAME']]
084cc6
+
084cc6
             if not (all(vars_all) and any(vars_any)):
084cc6
                 self.soslog.warning("Not all environment variables set. "
084cc6
                                     "Source the environment file for the user "
084cc6
diff --git a/sos/plugins/openstack_heat.py b/sos/plugins/openstack_heat.py
084cc6
index de34ed155..e3395fabd 100644
084cc6
--- a/sos/plugins/openstack_heat.py
084cc6
+++ b/sos/plugins/openstack_heat.py
084cc6
@@ -32,11 +32,26 @@ def setup(self):
084cc6
 
084cc6
         # collect commands output only if the openstack-heat-api service
084cc6
         # is running
084cc6
-        service_status = self.get_command_output("systemctl status "
084cc6
-                                                 "openstack-heat-api.service")
084cc6
-        if service_status['status'] == 0:
084cc6
+        service_status = self.get_command_output(
084cc6
+            "systemctl status openstack-heat-api.service"
084cc6
+        )
084cc6
+
084cc6
+        container_status = self.get_command_output("docker ps")
084cc6
+        in_container = False
084cc6
+        if container_status['status'] == 0:
084cc6
+            for line in container_status['output'].splitlines():
084cc6
+                if line.endswith("cinder_api"):
084cc6
+                    in_container = True
084cc6
+
084cc6
+        if (service_status['status'] == 0) or in_container:
084cc6
+            heat_config = ""
084cc6
+            # if containerized we need to pass the config to the cont.
084cc6
+            if in_container:
084cc6
+                heat_config = "--config-dir " + self.var_puppet_gen + \
084cc6
+                                "_api/etc/heat/"
084cc6
+
084cc6
             self.add_cmd_output(
084cc6
-                "heat-manage db_version",
084cc6
+                "heat-manage " + heat_config + " db_version",
084cc6
                 suggest_filename="heat_db_version"
084cc6
             )
084cc6
 
084cc6
diff --git a/sos/plugins/openstack_nova.py b/sos/plugins/openstack_nova.py
084cc6
index cdd297608..e8839a2a6 100644
084cc6
--- a/sos/plugins/openstack_nova.py
084cc6
+++ b/sos/plugins/openstack_nova.py
084cc6
@@ -32,40 +32,70 @@ class OpenStackNova(Plugin):
084cc6
     var_puppet_gen = "/var/lib/config-data/puppet-generated/nova"
084cc6
 
084cc6
     def setup(self):
084cc6
-        # commands we do not need to source the environment file
084cc6
-        self.add_cmd_output("nova-manage db version")
084cc6
-        self.add_cmd_output("nova-manage fixed list")
084cc6
-        self.add_cmd_output("nova-manage floating list")
084cc6
 
084cc6
-        vars_all = [p in os.environ for p in [
084cc6
-                    'OS_USERNAME', 'OS_PASSWORD']]
084cc6
-
084cc6
-        vars_any = [p in os.environ for p in [
084cc6
-                    'OS_TENANT_NAME', 'OS_PROJECT_NAME']]
084cc6
+        # collect commands output only if the openstack-nova-api service
084cc6
+        # is running
084cc6
+        service_status = self.get_command_output(
084cc6
+            "systemctl status openstack-nova-api.service"
084cc6
+        )
084cc6
 
084cc6
-        if not (all(vars_all) and any(vars_any)):
084cc6
-            self.soslog.warning("Not all environment variables set. Source "
084cc6
-                                "the environment file for the user intended "
084cc6
-                                "to connect to the OpenStack environment.")
084cc6
-        else:
084cc6
-            self.add_cmd_output("nova service-list")
084cc6
-            self.add_cmd_output("openstack flavor list --long")
084cc6
-            self.add_cmd_output("nova network-list")
084cc6
-            self.add_cmd_output("nova list")
084cc6
-            self.add_cmd_output("nova agent-list")
084cc6
-            self.add_cmd_output("nova version-list")
084cc6
-            self.add_cmd_output("nova host-list")
084cc6
-            self.add_cmd_output("openstack quota show")
084cc6
-            self.add_cmd_output("openstack hypervisor stats show")
084cc6
-            # get details for each nova instance
084cc6
-            cmd = "openstack server list -f value"
084cc6
-            nova_instances = self.call_ext_prog(cmd)['output']
084cc6
-            for instance in nova_instances.splitlines():
084cc6
-                instance = instance.split()[0]
084cc6
-                cmd = "openstack server show %s" % (instance)
084cc6
-                self.add_cmd_output(
084cc6
-                    cmd,
084cc6
-                    suggest_filename="instance-" + instance + ".log")
084cc6
+        container_status = self.get_command_output("docker ps")
084cc6
+        in_container = False
084cc6
+        if container_status['status'] == 0:
084cc6
+            for line in container_status['output'].splitlines():
084cc6
+                if line.endswith("cinder_api"):
084cc6
+                    in_container = True
084cc6
+
084cc6
+        if (service_status['status'] == 0) or in_container:
084cc6
+            nova_config = ""
084cc6
+            # if containerized we need to pass the config to the cont.
084cc6
+            if in_container:
084cc6
+                nova_config = "--config-dir " + self.var_puppet_gen + \
084cc6
+                                "/etc/nova/"
084cc6
+
084cc6
+            self.add_cmd_output(
084cc6
+                "nova-manage " + nova_config + " db version",
084cc6
+                suggest_filename="nova-manage_db_version"
084cc6
+            )
084cc6
+            self.add_cmd_output(
084cc6
+                "nova-manage " + nova_config + " fixed list",
084cc6
+                suggest_filename="nova-manage_fixed_list"
084cc6
+            )
084cc6
+            self.add_cmd_output(
084cc6
+                "nova-manage " + nova_config + " floating list",
084cc6
+                suggest_filename="nova-manage_floating_list"
084cc6
+            )
084cc6
+
084cc6
+            vars_all = [p in os.environ for p in [
084cc6
+                        'OS_USERNAME', 'OS_PASSWORD']]
084cc6
+
084cc6
+            vars_any = [p in os.environ for p in [
084cc6
+                        'OS_TENANT_NAME', 'OS_PROJECT_NAME']]
084cc6
+
084cc6
+            if not (all(vars_all) and any(vars_any)):
084cc6
+                self.soslog.warning("Not all environment variables set. "
084cc6
+                                    "Source the environment file for the user "
084cc6
+                                    "intended to connect to the OpenStack "
084cc6
+                                    "environment.")
084cc6
+            else:
084cc6
+                self.add_cmd_output("nova service-list")
084cc6
+                self.add_cmd_output("openstack flavor list --long")
084cc6
+                self.add_cmd_output("nova network-list")
084cc6
+                self.add_cmd_output("nova list")
084cc6
+                self.add_cmd_output("nova agent-list")
084cc6
+                self.add_cmd_output("nova version-list")
084cc6
+                self.add_cmd_output("nova hypervisor-list")
084cc6
+                self.add_cmd_output("openstack quota show")
084cc6
+                self.add_cmd_output("openstack hypervisor stats show")
084cc6
+                # get details for each nova instance
084cc6
+                cmd = "openstack server list -f value"
084cc6
+                nova_instances = self.call_ext_prog(cmd)['output']
084cc6
+                for instance in nova_instances.splitlines():
084cc6
+                    instance = instance.split()[0]
084cc6
+                    cmd = "openstack server show %s" % (instance)
084cc6
+                    self.add_cmd_output(
084cc6
+                        cmd,
084cc6
+                        suggest_filename="instance-" + instance + ".log")
084cc6
 
084cc6
         self.limit = self.get_option("log_size")
084cc6
         if self.get_option("all_logs"):
084cc6
From 2140b1611565078c4a6536782c013a525722e0da Mon Sep 17 00:00:00 2001
084cc6
From: Martin Schuppert <mschuppert@redhat.com>
084cc6
Date: Thu, 21 Dec 2017 08:00:41 +0100
084cc6
Subject: [PATCH] [openstack_glance|heat|nova] fix api container names
084cc6
084cc6
Container names of glance, heat and nova api was not correct
084cc6
when verify if a the container is running.
084cc6
084cc6
Signed-off-by: Martin Schuppert <mschuppe@redhat.com>
084cc6
---
084cc6
 sos/plugins/openstack_glance.py | 2 +-
084cc6
 sos/plugins/openstack_heat.py   | 2 +-
084cc6
 sos/plugins/openstack_nova.py   | 2 +-
084cc6
 3 files changed, 3 insertions(+), 3 deletions(-)
084cc6
084cc6
diff --git a/sos/plugins/openstack_glance.py b/sos/plugins/openstack_glance.py
084cc6
index 4cdc6dc62..d7588abe0 100644
084cc6
--- a/sos/plugins/openstack_glance.py
084cc6
+++ b/sos/plugins/openstack_glance.py
084cc6
@@ -64,7 +64,7 @@ def setup(self):
084cc6
         in_container = False
084cc6
         if container_status['status'] == 0:
084cc6
             for line in container_status['output'].splitlines():
084cc6
-                if line.endswith("cinder_api"):
084cc6
+                if line.endswith("glance_api"):
084cc6
                     in_container = True
084cc6
 
084cc6
         if (service_status['status'] == 0) or in_container:
084cc6
diff --git a/sos/plugins/openstack_heat.py b/sos/plugins/openstack_heat.py
084cc6
index e3395fabd..0cf7c8595 100644
084cc6
--- a/sos/plugins/openstack_heat.py
084cc6
+++ b/sos/plugins/openstack_heat.py
084cc6
@@ -40,7 +40,7 @@ def setup(self):
084cc6
         in_container = False
084cc6
         if container_status['status'] == 0:
084cc6
             for line in container_status['output'].splitlines():
084cc6
-                if line.endswith("cinder_api"):
084cc6
+                if line.endswith("heat_api"):
084cc6
                     in_container = True
084cc6
 
084cc6
         if (service_status['status'] == 0) or in_container:
084cc6
diff --git a/sos/plugins/openstack_nova.py b/sos/plugins/openstack_nova.py
084cc6
index e8839a2a6..951e69cba 100644
084cc6
--- a/sos/plugins/openstack_nova.py
084cc6
+++ b/sos/plugins/openstack_nova.py
084cc6
@@ -43,7 +43,7 @@ def setup(self):
084cc6
         in_container = False
084cc6
         if container_status['status'] == 0:
084cc6
             for line in container_status['output'].splitlines():
084cc6
-                if line.endswith("cinder_api"):
084cc6
+                if line.endswith("nova_api"):
084cc6
                     in_container = True
084cc6
 
084cc6
         if (service_status['status'] == 0) or in_container:
084cc6
From 8ce70c4d3683ce977f1243c56b7d4f4b6782c0df Mon Sep 17 00:00:00 2001
084cc6
From: Martin Schuppert <mschuppert@redhat.com>
084cc6
Date: Fri, 29 Dec 2017 09:20:33 +0100
084cc6
Subject: [PATCH] [openstack_cinder] check for api service running via
084cc6
 cinder_wsgi
084cc6
084cc6
With OSP11 cinder api changed to run via https wsgi. To check for
084cc6
running cinder-manage command we also need to take this situation.
084cc6
The change checks for cinder_wsgi process.
084cc6
084cc6
Signed-off-by: Martin Schuppert <mschuppert@redhat.com>
084cc6
---
084cc6
 sos/plugins/openstack_cinder.py | 11 ++++++++++-
084cc6
 1 file changed, 10 insertions(+), 1 deletion(-)
084cc6
084cc6
diff --git a/sos/plugins/openstack_cinder.py b/sos/plugins/openstack_cinder.py
084cc6
index a023105c8..6b292d279 100644
084cc6
--- a/sos/plugins/openstack_cinder.py
084cc6
+++ b/sos/plugins/openstack_cinder.py
084cc6
@@ -37,14 +37,23 @@ def setup(self):
084cc6
             "systemctl status openstack-cinder-api.service"
084cc6
         )
084cc6
 
084cc6
+        ps_status = self.get_command_output("ps -ef")
084cc6
+        in_ps = False
084cc6
+        if ps_status['status'] == 0:
084cc6
+            for line in ps_status['output'].splitlines():
084cc6
+                if "cinder_wsgi" in line:
084cc6
+                    in_ps = True
084cc6
+                    break
084cc6
+
084cc6
         container_status = self.get_command_output("docker ps")
084cc6
         in_container = False
084cc6
         if container_status['status'] == 0:
084cc6
             for line in container_status['output'].splitlines():
084cc6
                 if line.endswith("cinder_api"):
084cc6
                     in_container = True
084cc6
+                    break
084cc6
 
084cc6
-        if (service_status['status'] == 0) or in_container:
084cc6
+        if (service_status['status'] == 0) or in_container or in_ps:
084cc6
             cinder_config = ""
084cc6
             # if containerized we need to pass the config to the cont.
084cc6
             if in_container: