diff options
author | David Vallee Delisle <dvd@redhat.com> | 2020-08-31 18:58:42 -0400 |
---|---|---|
committer | Jake Hunsaker <jhunsake@redhat.com> | 2020-09-16 13:17:40 -0400 |
commit | 4e46e0c8db3e2ecea7279ae7a781ae2e22a81b69 (patch) | |
tree | b4e1c19aaccb0bc484dbd8d860b2faa1dfe50d7a | |
parent | af5891786ff8c4e33c341fe9cca690fc77ac768f (diff) | |
download | sos-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.py | 121 |
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: |