Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 32 additions & 5 deletions sos/report/plugins/openstack_edpm.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,52 @@ class OpenStackEDPM(Plugin, RedHatPlugin):

plugin_name = 'openstack_edpm'
profiles = ('openstack', 'openstack_edpm')
services = 'edpm-container-shutdown'
services = ('edpm-container-shutdown',)
edpm_log_paths = []

def setup(self):
# Notes: recursion is max 2 for edpm-config
# Those directories are present on all OpenStack nodes
# These directories are present on OpenStack EDPM nodes and are
# collected recursively.
self.edpm_log_paths = [
'/etc/os-net-config/',
'/var/lib/config-data/',
'/var/lib/edpm-config/',
'/var/lib/openstack/',
]
self.add_copy_spec(self.edpm_log_paths)
self.add_forbidden_path([
"/var/lib/openstack/**/ssh-privatekey",
"/var/lib/openstack/certs",
"/var/lib/openstack/cacerts",
])

def postproc(self):
# Ensures we do not leak passwords from the edpm related locations
# Other locations don't have sensitive data.
# Ensures we do not leak passwords from the EDPM related locations.
regexp = r'(".*(key|password|pass|secret|database_connection))' \
r'([":\s]+)(.*[^"])([",]+)'
for path in self.edpm_log_paths:
self.do_path_regex_sub(path, regexp, r'\1\3*********\5')

protect_keys = [
".*_key",
".*_pass(wd|word)?",
"password",
"metadata_proxy_shared_secret",
"rbd_secret_uuid",
]
connection_keys = ["connection", "sql_connection", "transport_url"]

join_con_keys = "|".join(connection_keys)

self.do_path_regex_sub(
r"/var/lib/openstack/.*",
fr"(^\s*({'|'.join(protect_keys)})\s*=\s*)(.*)",
r"\1*********"
)
self.do_path_regex_sub(
r"/var/lib/openstack/.*",
fr"(^\s*({join_con_keys})\s*=\s*(.*)://(\w*):)(.*)(@(.*))",
r"\1*********\6"
)

# vim: set et ts=4 sw=4 :
2 changes: 2 additions & 0 deletions sos/report/plugins/openstack_nova.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,8 @@ class RedHatNova(OpenStackNova, RedHatPlugin):
apachepkg = "httpd"
nova = False
packages = ('openstack-selinux',)
# Pre-FR5 deployments stored containerized nova config under
# /var/lib/openstack/config/nova.
postproc_dirs = ["/etc/nova/", "/var/lib/openstack/config/nova"]

def setup(self):
Expand Down
Loading