|
|
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:
|