summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-03-28 17:47:07 +0000
committerGerrit Code Review <review@openstack.org>2018-03-28 17:47:07 +0000
commit5a5269d1e27aab7efedb608d484f0e6a0147978a (patch)
tree507b9602ae01c557041d7f5f1f91ae42c497a213
parent221f20670f5025192de1b1a0db916b005d3925ed (diff)
parent088bf6df8ee332f1c24493430003a5bf1b77b2ce (diff)
downloadnova-5a5269d1e27aab7efedb608d484f0e6a0147978a.tar.gz
Merge "libvirt: mask InjectionInfo.admin_pass" into stable/queens
-rw-r--r--nova/tests/unit/virt/libvirt/test_driver.py8
-rw-r--r--nova/virt/libvirt/driver.py10
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 156ddef630..431e46d406 100644
--- a/nova/tests/unit/virt/libvirt/test_driver.py
+++ b/nova/tests/unit/virt/libvirt/test_driver.py
@@ -11853,6 +11853,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 a4141ddfc3..2ffcb1666a 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=<SANITIZED>)') % (self.network_info, self.files)
libvirt_volume_drivers = [
'iscsi=nova.virt.libvirt.volume.iscsi.LibvirtISCSIVolumeDriver',