From 6839630e86d958dcda8585664586754d419363a7 Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Fri, 8 Dec 2017 16:02:44 -0500 Subject: [PATCH] libvirt: mask InjectionInfo.admin_pass Logging network information and the admin password for guest instances is not ideal, so let's not do it. Change-Id: I328ba88b128c6c125e65d850ed7a6e57049dc7e2 Closes-Bug: #1737207 --- nova/tests/unit/virt/libvirt/test_driver.py | 8 ++++++++ nova/virt/libvirt/driver.py | 10 ++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index 3cd945cbc8..77bba1fd62 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -11772,6 +11772,14 @@ class LibvirtConnTestCase(test.NoDBTestCase, ] self.assertEqual(wantFiles, gotFiles) + def test_injection_info_is_sanitized(self): + info = get_injection_info( + network_info=mock.sentinel.network_info, + files=mock.sentinel.files, + admin_pass='verybadpass') + self.assertNotIn('verybadpass', str(info)) + self.assertNotIn('verybadpass', repr(info)) + @mock.patch( 'nova.virt.libvirt.driver.LibvirtDriver._build_device_metadata') @mock.patch('nova.api.metadata.base.InstanceMetadata') diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index ca9256392b..f9b49ac6fe 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -146,8 +146,14 @@ CONSOLE = "console=tty0 console=ttyS0 console=hvc0" GuestNumaConfig = collections.namedtuple( 'GuestNumaConfig', ['cpuset', 'cputune', 'numaconfig', 'numatune']) -InjectionInfo = collections.namedtuple( - 'InjectionInfo', ['network_info', 'files', 'admin_pass']) + +class InjectionInfo(collections.namedtuple( + 'InjectionInfo', ['network_info', 'files', 'admin_pass'])): + __slots__ = () + + def __repr__(self): + return ('InjectionInfo(network_info=%r, files=%r, ' + 'admin_pass=)') % (self.network_info, self.files) libvirt_volume_drivers = [ 'iscsi=nova.virt.libvirt.volume.iscsi.LibvirtISCSIVolumeDriver',