aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Vallee Delisle <dvd@redhat.com>2020-08-31 18:58:42 -0400
committerJake Hunsaker <jhunsake@redhat.com>2020-09-16 13:17:40 -0400
commit4e46e0c8db3e2ecea7279ae7a781ae2e22a81b69 (patch)
treeb4e1c19aaccb0bc484dbd8d860b2faa1dfe50d7a
parentaf5891786ff8c4e33c341fe9cca690fc77ac768f (diff)
downloadsos-4e46e0c8db3e2ecea7279ae7a781ae2e22a81b69.tar.gz
[openstack_ironic] Missing ironic-inspector configs
We're missing the ironic-inspector configurations, probably because they were in the RedHatPlugin class, at the bottom of the file and they were probably missed when updating this plugin. Moving them at the top with the other `add_copy_spec` will help tracking them in case something change again. Revamping also the way we grab logs to check if we're in a container first. Resolves: #2223 Signed-off-by: David Vallee Delisle <dvd@redhat.com> Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
-rw-r--r--sos/report/plugins/openstack_ironic.py121
1 files changed, 82 insertions, 39 deletions
diff --git a/sos/report/plugins/openstack_ironic.py b/sos/report/plugins/openstack_ironic.py
index 314d2a58..57060a27 100644
--- a/sos/report/plugins/openstack_ironic.py
+++ b/sos/report/plugins/openstack_ironic.py
@@ -20,41 +20,95 @@ class OpenStackIronic(Plugin):
profiles = ('openstack', 'openstack_undercloud')
var_puppet_gen = "/var/lib/config-data/puppet-generated/ironic"
+ ins_puppet_gen = var_puppet_gen + "_inspector"
def setup(self):
- self.conf_list = [
- "/etc/ironic/*",
- self.var_puppet_gen + "/etc/ironic/*",
- self.var_puppet_gen + "_api/etc/ironic/*"
- ]
- self.add_copy_spec([
- "/etc/ironic/",
- self.var_puppet_gen + "/etc/xinetd.conf",
- self.var_puppet_gen + "/etc/xinetd.d/",
- self.var_puppet_gen + "/etc/ironic/",
- self.var_puppet_gen + "/etc/httpd/conf/",
- self.var_puppet_gen + "/etc/httpd/conf.d/",
- self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",
- self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",
- self.var_puppet_gen + "_api/etc/ironic/",
- self.var_puppet_gen + "_api/etc/httpd/conf/",
- self.var_puppet_gen + "_api/etc/httpd/conf.d/",
- self.var_puppet_gen + "_api/etc/httpd/conf.modules.d/*.conf",
- self.var_puppet_gen + "_api/etc/my.cnf.d/tripleo.cnf"
- ])
-
- if self.get_option("all_logs"):
+
+ in_container = self.container_exists('.*ironic_api')
+
+ if in_container:
+ self.conf_list = [
+ self.var_puppet_gen + "/etc/ironic/*",
+ self.var_puppet_gen + "/etc/ironic-inspector/*",
+ self.var_puppet_gen + "_api/etc/ironic/*",
+ self.ins_puppet_gen + "/etc/ironic-inspector/*",
+ self.ins_puppet_gen + "/var/lib/httpboot/inspector.ipxe"
+ ]
self.add_copy_spec([
- "/var/log/ironic/",
+ "/var/lib/ironic-inspector/",
+ "/var/log/containers/ironic-inspector/ramdisk/",
+ self.var_puppet_gen + "/etc/xinetd.conf",
+ self.var_puppet_gen + "/etc/xinetd.d/",
+ self.var_puppet_gen + "/etc/ironic/",
+ self.var_puppet_gen + "/etc/ironic-inspector/",
+ self.var_puppet_gen + "/etc/httpd/conf/",
+ self.var_puppet_gen + "/etc/httpd/conf.d/",
+ self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",
+ self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",
+ self.var_puppet_gen + "_api/etc/ironic/",
+ self.var_puppet_gen + "_api/etc/httpd/conf/",
+ self.var_puppet_gen + "_api/etc/httpd/conf.d/",
+ self.var_puppet_gen + "_api/etc/httpd/conf.modules.d/*.conf",
+ self.var_puppet_gen + "_api/etc/my.cnf.d/tripleo.cnf",
+ self.ins_puppet_gen + "/etc/ironic-inspector/*",
+ self.ins_puppet_gen + "/var/lib/httpboot/inspector.ipxe"
])
+
+ if self.get_option("all_logs"):
+ self.add_copy_spec([
+ "/var/log/containers/ironic/",
+ "/var/log/containers/ironic-inspector/"
+ ])
+ else:
+ self.add_copy_spec([
+ "/var/log/containers/ironic/*.log",
+ "/var/log/containers/ironic-inspector/*.log",
+ ])
+
+ for path in ['/var/lib/ironic', '/httpboot', '/tftpboot',
+ self.ins_puppet_gen + '/var/lib/httpboot/',
+ self.ins_puppet_gen + '/var/lib/tftpboot/']:
+ self.add_cmd_output('ls -laRt %s' % path)
+ self.add_cmd_output('ls -laRt %s' %
+ (self.var_puppet_gen + path))
+
+ # Let's get the packages from the containers, always helpful when
+ # troubleshooting.
+ for container_name in ['ironic_inspector_dnsmasq',
+ 'ironic_inspector', 'ironic_pxe_http',
+ 'ironic_pxe_tftp', 'ironic_neutron_agent',
+ 'ironic_conductor', 'ironic_api']:
+ if self.container_exists('.*' + container_name):
+ self.add_cmd_output(self.fmt_container_cmd(container_name,
+ 'rpm -qa'))
+
else:
+ self.conf_list = [
+ "/etc/ironic/*",
+ "/etc/ironic-inspector/*",
+ ]
self.add_copy_spec([
- "/var/log/ironic/*.log",
+ "/etc/ironic/",
+ "/etc/ironic-inspector/",
+ "/var/lib/ironic-inspector/",
+ "/var/log/ironic-inspector/ramdisk/",
+ "/etc/my.cnf.d/tripleo.cnf",
+ "/var/lib/httpboot/inspector.ipxe"
])
- for path in ['/var/lib/ironic', '/httpboot', '/tftpboot']:
- self.add_cmd_output('ls -laRt %s' % path)
- self.add_cmd_output('ls -laRt %s' % (self.var_puppet_gen + path))
+ if self.get_option("all_logs"):
+ self.add_copy_spec([
+ "/var/log/ironic/",
+ "/var/log/ironic-inspector/",
+ ])
+ else:
+ self.add_copy_spec([
+ "/var/log/ironic/*.log",
+ "/var/log/ironic-inspector/*.log",
+ ])
+
+ for path in ['/var/lib/ironic', '/httpboot', '/tftpboot']:
+ self.add_cmd_output('ls -laRt %s' % path)
vars_all = [p in os.environ for p in [
'OS_USERNAME', 'OS_PASSWORD']]
@@ -136,6 +190,7 @@ class RedHatIronic(OpenStackIronic, RedHatPlugin):
def setup(self):
super(RedHatIronic, self).setup()
+ # ironic-discoverd was renamed to ironic-inspector in Liberty
# is the optional ironic-discoverd service installed?
if any([self.is_installed(p) for p in self.discoverd_packages]):
self.conf_list.append('/etc/ironic-discoverd/*')
@@ -146,18 +201,6 @@ class RedHatIronic(OpenStackIronic, RedHatPlugin):
self.add_journal(units="openstack-ironic-discoverd")
self.add_journal(units="openstack-ironic-discoverd-dnsmasq")
- # ironic-discoverd was renamed to ironic-inspector in Liberty
- self.conf_list.append('/etc/ironic-inspector/*')
- self.conf_list.append(self.var_puppet_gen + '/etc/ironic-inspector/*')
- self.add_copy_spec('/etc/ironic-inspector/')
- self.add_copy_spec(self.var_puppet_gen + '/etc/ironic-inspector/')
- self.add_copy_spec('/var/lib/ironic-inspector/')
- if self.get_option("all_logs"):
- self.add_copy_spec('/var/log/ironic-inspector/')
- else:
- self.add_copy_spec('/var/log/ironic-inspector/*.log')
- self.add_copy_spec('/var/log/ironic-inspector/ramdisk/')
-
self.add_journal(units="openstack-ironic-inspector-dnsmasq")
if self.osc_available: