diff options
author | Zuul <zuul@review.openstack.org> | 2018-03-28 17:47:07 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2018-03-28 17:47:07 +0000 |
commit | 5a5269d1e27aab7efedb608d484f0e6a0147978a (patch) | |
tree | 507b9602ae01c557041d7f5f1f91ae42c497a213 | |
parent | 221f20670f5025192de1b1a0db916b005d3925ed (diff) | |
parent | 088bf6df8ee332f1c24493430003a5bf1b77b2ce (diff) | |
download | nova-5a5269d1e27aab7efedb608d484f0e6a0147978a.tar.gz |
Merge "libvirt: mask InjectionInfo.admin_pass" into stable/queens
-rw-r--r-- | nova/tests/unit/virt/libvirt/test_driver.py | 8 | ||||
-rw-r--r-- | 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 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', |