)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef6715729838b455a74087ed84cf88778c353f72","unresolved":false,"context_lines":[{"line_number":1461,"context_line":"    @mock.patch.object(host.Host,"},{"line_number":1462,"context_line":"                       \u0027has_min_version\u0027, return_value\u003dTrue)"},{"line_number":1463,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.host.Host.get_guest\u0027)"},{"line_number":1464,"context_line":"    def test_set_admin_password_error(self, mock_get_guest, ver, mock_image):"},{"line_number":1465,"context_line":"        self.flags(virt_type\u003d\u0027kvm\u0027, group\u003d\u0027libvirt\u0027)"},{"line_number":1466,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":1467,"context_line":"        mock_image.return_value \u003d {\"properties\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff6b8bd7_f3d7eb22","line":1464,"range":{"start_line":1464,"start_character":8,"end_line":1464,"end_character":37},"updated":"2018-03-06 22:08:06.000000000","message":"This test should assert that _save_instance_password_if_sshkey_present isn\u0027t called.","commit_id":"34a0abc5f7b279296659909ab3b302f1511559d5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef6715729838b455a74087ed84cf88778c353f72","unresolved":false,"context_lines":[{"line_number":1472,"context_line":"        mock_get_guest.return_value \u003d mock_guest"},{"line_number":1473,"context_line":""},{"line_number":1474,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1475,"context_line":"        self.assertRaises(exception.NovaException,"},{"line_number":1476,"context_line":"                          drvr.set_admin_password, instance, \"123\")"},{"line_number":1477,"context_line":""},{"line_number":1478,"context_line":"    @mock.patch(\u0027nova.utils.get_image_from_system_metadata\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff6b8bd7_93dc6f47","line":1475,"range":{"start_line":1475,"start_character":36,"end_line":1475,"end_character":49},"updated":"2018-03-06 22:08:06.000000000","message":"Yuck this should be InternalError.","commit_id":"34a0abc5f7b279296659909ab3b302f1511559d5"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"14a3d975d81a1e05bb78c818ee316f83e4234618","unresolved":false,"context_lines":[{"line_number":1983,"context_line":"            # anything with the context argument, so we can pass None."},{"line_number":1984,"context_line":"            instance.system_metadata.update("},{"line_number":1985,"context_line":"                password.convert_password(None, base64.encode_as_text(enc)))"},{"line_number":1986,"context_line":"            instance.save()"},{"line_number":1987,"context_line":""},{"line_number":1988,"context_line":"    def set_admin_password(self, instance, new_pass):"},{"line_number":1989,"context_line":"        self._can_set_admin_password(instance.image_meta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_7ec6d46a","line":1986,"updated":"2018-02-21 15:38:49.000000000","message":"Heh, this is basically identical to the xenapi one, so we might as well pull it out to a utility routine I think.","commit_id":"34a0abc5f7b279296659909ab3b302f1511559d5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"ab47b805c1f542d0f73d5715b0d5edf1adad967f","unresolved":false,"context_lines":[{"line_number":1983,"context_line":"            # anything with the context argument, so we can pass None."},{"line_number":1984,"context_line":"            instance.system_metadata.update("},{"line_number":1985,"context_line":"                password.convert_password(None, base64.encode_as_text(enc)))"},{"line_number":1986,"context_line":"            instance.save()"},{"line_number":1987,"context_line":""},{"line_number":1988,"context_line":"    def set_admin_password(self, instance, new_pass):"},{"line_number":1989,"context_line":"        self._can_set_admin_password(instance.image_meta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_f65f643e","line":1986,"in_reply_to":"3fa0c359_7ec6d46a","updated":"2018-02-21 20:43:11.000000000","message":"Yeah ... for whatever reason, I wasn\u0027t thinking to add a util method. I\u0027ll do that if I have to respin.","commit_id":"34a0abc5f7b279296659909ab3b302f1511559d5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"14a3d975d81a1e05bb78c818ee316f83e4234618","unresolved":false,"context_lines":[{"line_number":2009,"context_line":"                     \u0027\"%(user)s\": [Error Code %(error_code)s] %(ex)s\u0027)"},{"line_number":2010,"context_line":"                   % {\u0027user\u0027: user, \u0027error_code\u0027: error_code, \u0027ex\u0027: err_msg})"},{"line_number":2011,"context_line":"            raise exception.InternalError(msg)"},{"line_number":2012,"context_line":"        else:"},{"line_number":2013,"context_line":"            # Save the password in sysmeta so it may be retrieved from the"},{"line_number":2014,"context_line":"            # metadata service."},{"line_number":2015,"context_line":"            self._save_instance_password_if_sshkey_present(instance, new_pass)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_3ea28caf","line":2012,"updated":"2018-02-21 15:38:49.000000000","message":"I\u0027m not sure you need the else here...","commit_id":"34a0abc5f7b279296659909ab3b302f1511559d5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"ab47b805c1f542d0f73d5715b0d5edf1adad967f","unresolved":false,"context_lines":[{"line_number":2009,"context_line":"                     \u0027\"%(user)s\": [Error Code %(error_code)s] %(ex)s\u0027)"},{"line_number":2010,"context_line":"                   % {\u0027user\u0027: user, \u0027error_code\u0027: error_code, \u0027ex\u0027: err_msg})"},{"line_number":2011,"context_line":"            raise exception.InternalError(msg)"},{"line_number":2012,"context_line":"        else:"},{"line_number":2013,"context_line":"            # Save the password in sysmeta so it may be retrieved from the"},{"line_number":2014,"context_line":"            # metadata service."},{"line_number":2015,"context_line":"            self._save_instance_password_if_sshkey_present(instance, new_pass)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_961f006b","line":2012,"in_reply_to":"3fa0c359_3ea28caf","updated":"2018-02-21 20:43:11.000000000","message":"Yeah, not necessary. I thought it might make it more obvious: \"do this if no exception was raised by set_user_password\".","commit_id":"34a0abc5f7b279296659909ab3b302f1511559d5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef6715729838b455a74087ed84cf88778c353f72","unresolved":false,"context_lines":[{"line_number":2009,"context_line":"                     \u0027\"%(user)s\": [Error Code %(error_code)s] %(ex)s\u0027)"},{"line_number":2010,"context_line":"                   % {\u0027user\u0027: user, \u0027error_code\u0027: error_code, \u0027ex\u0027: err_msg})"},{"line_number":2011,"context_line":"            raise exception.InternalError(msg)"},{"line_number":2012,"context_line":"        else:"},{"line_number":2013,"context_line":"            # Save the password in sysmeta so it may be retrieved from the"},{"line_number":2014,"context_line":"            # metadata service."},{"line_number":2015,"context_line":"            self._save_instance_password_if_sshkey_present(instance, new_pass)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff6b8bd7_131b7f1b","line":2012,"in_reply_to":"3fa0c359_961f006b","updated":"2018-03-06 22:08:06.000000000","message":"Hmm, do we have any existing unit tests that handle set_user_password raising a libvirtError? If we did, we should assert that _save_instance_password_if_sshkey_present isn\u0027t called.","commit_id":"34a0abc5f7b279296659909ab3b302f1511559d5"}]}
