)]}'
{"nova/tests/virt/libvirt/test_libvirt_volume.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0a7a031476e54345fb91a7448eecfcd5d4904ccc","unresolved":false,"context_lines":[{"line_number":262,"context_line":"                              \u0027-p\u0027, self.location, \u0027--login\u0027),"},{"line_number":263,"context_line":"                             (\u0027iscsiadm\u0027, \u0027-m\u0027, \u0027node\u0027, \u0027-T\u0027, self.iqn,"},{"line_number":264,"context_line":"                              \u0027-p\u0027, self.location, \u0027--op\u0027, \u0027update\u0027,"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"                              \u0027-n\u0027, \u0027node.startup\u0027, \u0027-v\u0027, \u0027automatic\u0027),"},{"line_number":267,"context_line":"                             (\u0027iscsiadm\u0027, \u0027-m\u0027, \u0027node\u0027, \u0027-T\u0027, self.iqn,"},{"line_number":268,"context_line":"                              \u0027-p\u0027, self.location, \u0027--rescan\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_032e1bfb","line":265,"updated":"2014-05-16 12:31:55.000000000","message":"Remove this unrelated whitespace change.","commit_id":"ad1d65c49fe41258ecab5ffed5a90848982f9ba5"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"63455339bc3372faf4b77820837a13203529f9ad","unresolved":false,"context_lines":[{"line_number":262,"context_line":"                              \u0027-p\u0027, self.location, \u0027--login\u0027),"},{"line_number":263,"context_line":"                             (\u0027iscsiadm\u0027, \u0027-m\u0027, \u0027node\u0027, \u0027-T\u0027, self.iqn,"},{"line_number":264,"context_line":"                              \u0027-p\u0027, self.location, \u0027--op\u0027, \u0027update\u0027,"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"                              \u0027-n\u0027, \u0027node.startup\u0027, \u0027-v\u0027, \u0027automatic\u0027),"},{"line_number":267,"context_line":"                             (\u0027iscsiadm\u0027, \u0027-m\u0027, \u0027node\u0027, \u0027-T\u0027, self.iqn,"},{"line_number":268,"context_line":"                              \u0027-p\u0027, self.location, \u0027--rescan\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_0fdf0e0e","line":265,"in_reply_to":"7adec928_032e1bfb","updated":"2014-05-18 18:47:30.000000000","message":"Done","commit_id":"ad1d65c49fe41258ecab5ffed5a90848982f9ba5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0a7a031476e54345fb91a7448eecfcd5d4904ccc","unresolved":false,"context_lines":[{"line_number":353,"context_line":"            self.assertNotIn(\u0027scrubme\u0027, args[0])"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        libvirt_driver \u003d volume.LibvirtISCSIVolumeDriver(self.fake_conn)"},{"line_number":356,"context_line":"        conf \u003d mock.Mock()"},{"line_number":357,"context_line":"        connection_info \u003d self.iscsi_connection(self.vol, self.location,"},{"line_number":358,"context_line":"                                                self.iqn)"},{"line_number":359,"context_line":"        iscsi_properties \u003d connection_info[\u0027data\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_23331764","line":356,"updated":"2014-05-16 12:31:55.000000000","message":"Remove unused var.","commit_id":"ad1d65c49fe41258ecab5ffed5a90848982f9ba5"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"63455339bc3372faf4b77820837a13203529f9ad","unresolved":false,"context_lines":[{"line_number":353,"context_line":"            self.assertNotIn(\u0027scrubme\u0027, args[0])"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        libvirt_driver \u003d volume.LibvirtISCSIVolumeDriver(self.fake_conn)"},{"line_number":356,"context_line":"        conf \u003d mock.Mock()"},{"line_number":357,"context_line":"        connection_info \u003d self.iscsi_connection(self.vol, self.location,"},{"line_number":358,"context_line":"                                                self.iqn)"},{"line_number":359,"context_line":"        iscsi_properties \u003d connection_info[\u0027data\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_2fe4cadf","line":356,"in_reply_to":"7adec928_23331764","updated":"2014-05-18 18:47:30.000000000","message":"Done","commit_id":"ad1d65c49fe41258ecab5ffed5a90848982f9ba5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0a7a031476e54345fb91a7448eecfcd5d4904ccc","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        connection_info \u003d self.iscsi_connection(self.vol, self.location,"},{"line_number":358,"context_line":"                                                self.iqn)"},{"line_number":359,"context_line":"        iscsi_properties \u003d connection_info[\u0027data\u0027]"},{"line_number":360,"context_line":"        with contextlib.nested("},{"line_number":361,"context_line":"            mock.patch.object(volume.LOG, \u0027debug\u0027,"},{"line_number":362,"context_line":"                              side_effect\u003dfake_debug)"},{"line_number":363,"context_line":"        ) as ("}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_63399f40","line":360,"updated":"2014-05-16 12:31:55.000000000","message":"You don\u0027t need a nested context if you\u0027re only using one mock, just do:\n\nwith mock.patch.object(...):","commit_id":"ad1d65c49fe41258ecab5ffed5a90848982f9ba5"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"63455339bc3372faf4b77820837a13203529f9ad","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        connection_info \u003d self.iscsi_connection(self.vol, self.location,"},{"line_number":358,"context_line":"                                                self.iqn)"},{"line_number":359,"context_line":"        iscsi_properties \u003d connection_info[\u0027data\u0027]"},{"line_number":360,"context_line":"        with contextlib.nested("},{"line_number":361,"context_line":"            mock.patch.object(volume.LOG, \u0027debug\u0027,"},{"line_number":362,"context_line":"                              side_effect\u003dfake_debug)"},{"line_number":363,"context_line":"        ) as ("}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_4fe596da","line":360,"in_reply_to":"7adec928_63399f40","updated":"2014-05-18 18:47:30.000000000","message":"Done","commit_id":"ad1d65c49fe41258ecab5ffed5a90848982f9ba5"}],"nova/tests/virt/libvirt/test_volume.py":[{"author":{"_account_id":8430,"name":"Christopher Lefelhocz","email":"christopher.lefelhoc@rackspace.com","username":"leif"},"change_message_id":"b1e4a16f714194a0e70276c13522d7bac51cf815","unresolved":false,"context_lines":[{"line_number":347,"context_line":"        # Tests that the parameters to the _run_iscsiadm function are sanitized"},{"line_number":348,"context_line":"        # for passwords when logged."},{"line_number":349,"context_line":"        def fake_debug(*args, **kwargs):"},{"line_number":350,"context_line":"            self.assertNotIn(\u0027scrubme\u0027, args[0])"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        libvirt_driver \u003d volume.LibvirtISCSIVolumeDriver(self.fake_conn)"},{"line_number":353,"context_line":"        connection_info \u003d self.iscsi_connection(self.vol, self.location,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_cfdbaceb","line":350,"updated":"2014-07-02 14:22:08.000000000","message":"We had a case recently where this test was passing even though \u0027scrubme\u0027 was included.  This was in https://review.openstack.org/#/c/94821.  \n\nA naive change to the code where the \u0027scrubme\u0027 is included as an args[1+] can still pass this test and avoid being scrubbed.  I don\u0027t think anyone would do this intentionally, but since it\u0027s about the password, we should include a assertIn(\u0027node.session.auth.password\u0027, args[0]) check or something like it.\n\nThat way if the log message code gets changed and the args move, we\u0027ll modify here to move the check and appropriately pass.","commit_id":"13b9a583c460595742ce6f26891c7a2967e3c256"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"e156e53529950b4a62d0538f4c777432743f0fd2","unresolved":false,"context_lines":[{"line_number":347,"context_line":"        # Tests that the parameters to the _run_iscsiadm function are sanitized"},{"line_number":348,"context_line":"        # for passwords when logged."},{"line_number":349,"context_line":"        def fake_debug(*args, **kwargs):"},{"line_number":350,"context_line":"            self.assertNotIn(\u0027scrubme\u0027, args[0])"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        libvirt_driver \u003d volume.LibvirtISCSIVolumeDriver(self.fake_conn)"},{"line_number":353,"context_line":"        connection_info \u003d self.iscsi_connection(self.vol, self.location,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_b2f3299d","line":350,"in_reply_to":"baada198_cfdbaceb","updated":"2014-07-02 22:05:23.000000000","message":"Good point, Chris.  I added another check in the next PS.","commit_id":"13b9a583c460595742ce6f26891c7a2967e3c256"}],"nova/virt/libvirt/volume.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0a7a031476e54345fb91a7448eecfcd5d4904ccc","unresolved":false,"context_lines":[{"line_number":246,"context_line":"                                   check_exit_code\u003dcheck_exit_code)"},{"line_number":247,"context_line":"        msg \u003d (\u0027iscsiadm %(command)s: stdout\u003d%(out)s stderr\u003d%(err)s\u0027 %"},{"line_number":248,"context_line":"               {\u0027command\u0027: iscsi_command, \u0027out\u0027: out, \u0027err\u0027: err})"},{"line_number":249,"context_line":"        # NOTE(bpokorny): block_device_info can contain passwords so we need to"},{"line_number":250,"context_line":"        # sanitize the password in the message."},{"line_number":251,"context_line":"        LOG.debug(logging.mask_password(msg))"},{"line_number":252,"context_line":"        return (out, err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_0307fb82","line":249,"updated":"2014-05-16 12:31:55.000000000","message":"There is no block_device_info, I think you mean the command.","commit_id":"ad1d65c49fe41258ecab5ffed5a90848982f9ba5"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"63455339bc3372faf4b77820837a13203529f9ad","unresolved":false,"context_lines":[{"line_number":246,"context_line":"                                   check_exit_code\u003dcheck_exit_code)"},{"line_number":247,"context_line":"        msg \u003d (\u0027iscsiadm %(command)s: stdout\u003d%(out)s stderr\u003d%(err)s\u0027 %"},{"line_number":248,"context_line":"               {\u0027command\u0027: iscsi_command, \u0027out\u0027: out, \u0027err\u0027: err})"},{"line_number":249,"context_line":"        # NOTE(bpokorny): block_device_info can contain passwords so we need to"},{"line_number":250,"context_line":"        # sanitize the password in the message."},{"line_number":251,"context_line":"        LOG.debug(logging.mask_password(msg))"},{"line_number":252,"context_line":"        return (out, err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_6fea52ad","line":249,"in_reply_to":"7adec928_0307fb82","updated":"2014-05-18 18:47:30.000000000","message":"Done","commit_id":"ad1d65c49fe41258ecab5ffed5a90848982f9ba5"}]}
