diff options
author | Cédric Jeanneret <cjeanner@redhat.com> | 2020-01-15 16:45:22 +0100 |
---|---|---|
committer | Jake Hunsaker <jhunsake@redhat.com> | 2020-01-27 12:57:03 -0500 |
commit | 0169be60e46fe0c25ef93717d9209cb28064b911 (patch) | |
tree | 05cc76977348e6e6a5ff666c09a3ac5fb092965b | |
parent | e044b64c5ccc6e19b319c08f73e4242b3a178aaa (diff) | |
download | sos-0169be60e46fe0c25ef93717d9209cb28064b911.tar.gz |
[openstack_tripleo] Fetch all installer related content
This plugin allows to fetch the installation-related content, precisely
the configuration being launched at some point by the OpenStack
installer, known as "TripleO" or "Director".
Content of this plugin:
- paunch.log containers container configuration and startup information
- tripleo-config contains per-step configuration
- container-puppet contains per-step puppet related configuration, as well
as puppet facts cache.
- hierdata contains all the relevant configurations being applied by
puppet
Resolves: #1918
Signed-off-by: Cédric Jeanneret <cjeanner@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
-rw-r--r-- | sos/plugins/openstack_tripleo.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/sos/plugins/openstack_tripleo.py b/sos/plugins/openstack_tripleo.py new file mode 100644 index 00000000..652d132f --- /dev/null +++ b/sos/plugins/openstack_tripleo.py @@ -0,0 +1,47 @@ +# Copyright (C) 2020 Red Hat, Inc., Cedric Jeanneret <cjeanner@redhat.com> + +# This file is part of the sos project: https://github.com/sosreport/sos +# +# This copyrighted material is made available to anyone wishing to use, +# modify, copy, or redistribute it subject to the terms and conditions of +# version 2 of the GNU General Public License. +# +# See the LICENSE file in the source distribution for further information. + +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +import re + + +class OpenStackTripleO(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): + """Fetch installation informations from OpenStack Installer + """ + + plugin_name = 'openstack_tripleo' + profiles = ('openstack', 'openstack_controller', 'openstack_compute') + packages = ('openstack-selinux',) + + def setup(self): + # Notes: recursion is max 2 for container-puppet and tripleo-config + # Those directories are present on all OpenStack nodes + self.add_copy_spec([ + '/var/log/paunch.log', + '/var/lib/container-puppet/', + '/var/lib/tripleo-config/', + '/etc/puppet/hieradata/' + ]) + + def postproc(self): + # Ensures we do not leak passwords from the tripleo-config and + # hieradata locations. + # Other locations don't have sensitive data. + secrets = r'(".*(key|password|pass|secret|database_connection))' \ + r'([":\s]+)(.*[^"])([",]+)' + rgxp = re.compile(secrets, re.IGNORECASE) + + self.do_path_regex_sub('/var/lib/tripleo-config/', + rgxp, r'\1\3*********\5') + self.do_path_regex_sub('/etc/puppet/hieradata/', + rgxp, r'\1\3*********\5') + + +# vim: set et ts=4 sw=4 : |