aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Jeanneret <cjeanner@redhat.com>2020-01-15 16:45:22 +0100
committerJake Hunsaker <jhunsake@redhat.com>2020-01-27 12:57:03 -0500
commit0169be60e46fe0c25ef93717d9209cb28064b911 (patch)
tree05cc76977348e6e6a5ff666c09a3ac5fb092965b
parente044b64c5ccc6e19b319c08f73e4242b3a178aaa (diff)
downloadsos-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.py47
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 :