)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"39cf3f97cb19b66c0d3e19c7e23811a87f8a13a9","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Implements blueprint libvirt-virtlogd"},{"line_number":19,"context_line":"Closes-Bug: 832507"},{"line_number":20,"context_line":"Change-Id: Ia412f55bd988f6e11cd78c4c5a50a86389e648b0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a71b18c_61b9e4cb","line":20,"updated":"2016-12-06 10:44:09.000000000","message":"Please note that this is a counter-proposal to the change https://review.openstack.org/#/c/323765/33 \nBoth changes do the very same thing.\nIf this change here is the way we want to go forward, we should use the change-id of https://review.openstack.org/#/c/323765/33 here. Just let me know which way you prefer.","commit_id":"93695d74a107ef21b02a440276f17ef230527ab8"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1fe2cf22c951c83f45c849b5810267864e5a8c8","unresolved":false,"context_lines":[{"line_number":4456,"context_line":"                # so do I. I\u0027m certain that this is *not* needed in any"},{"line_number":4457,"context_line":"                # real use case. It is, however, useful if you want to"},{"line_number":4458,"context_line":"                # pypass the Nova API and use \"virsh console \u003cguest\u003e\" on"},{"line_number":4459,"context_line":"                # an hypervisor, as this CLI command doesn\u0027t work with TCP"},{"line_number":4460,"context_line":"                # devices (like the serial console is)."},{"line_number":4461,"context_line":"                #     https://bugzilla.redhat.com/show_bug.cgi?id\u003d781467"},{"line_number":4462,"context_line":"                # Pypassing the Nova API however is a thing we don\u0027t want."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_9d181cd5","line":4459,"updated":"2016-12-06 13:33:24.000000000","message":"s/an hypervisor/a hypervisor/ :)","commit_id":"93695d74a107ef21b02a440276f17ef230527ab8"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1fe2cf22c951c83f45c849b5810267864e5a8c8","unresolved":false,"context_lines":[{"line_number":4462,"context_line":"                # Pypassing the Nova API however is a thing we don\u0027t want."},{"line_number":4463,"context_line":"                # Future changes should remove this and fix the unit tests"},{"line_number":4464,"context_line":"                # which ask for the existence."},{"line_number":4465,"context_line":"                guest_cfg.add_device(_create_base_dev())"},{"line_number":4466,"context_line":"        else:"},{"line_number":4467,"context_line":"            if self._is_virtlogd_available():"},{"line_number":4468,"context_line":"                guest_cfg.add_device(_create_logd_dev())"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_fd42f0ac","line":4465,"updated":"2016-12-06 13:33:24.000000000","message":"femto-nit: you can de-indent this and the code comment above and remove the else: on line 4454.","commit_id":"93695d74a107ef21b02a440276f17ef230527ab8"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1fe2cf22c951c83f45c849b5810267864e5a8c8","unresolved":false,"context_lines":[{"line_number":4504,"context_line":"            listen_port \u003d (serial_console.acquire_port(console.listen_host))"},{"line_number":4505,"context_line":"            console.listen_port \u003d listen_port"},{"line_number":4506,"context_line":"            # NOTE: only the first serial console gets the boot messages,"},{"line_number":4507,"context_line":"            # that\u0027s why we attach the logd subdevice only to that."},{"line_number":4508,"context_line":"            if port \u003d\u003d 0 and self._is_virtlogd_available():"},{"line_number":4509,"context_line":"                log \u003d vconfig.LibvirtConfigGuestCharDeviceLog()"},{"line_number":4510,"context_line":"                log.file \u003d log_path"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_5d1be4c9","line":4507,"updated":"2016-12-06 13:33:24.000000000","message":"++ for this added code comment.","commit_id":"93695d74a107ef21b02a440276f17ef230527ab8"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"c6c5f6bf367b7af4fec7966d219f4bed8b929ec2","unresolved":false,"context_lines":[{"line_number":4434,"context_line":"        self._create_pty_device(guest_cfg, char_dev_cls, \"sclp\", log_path)"},{"line_number":4435,"context_line":""},{"line_number":4436,"context_line":"    def _create_pty_device(self, guest_cfg, char_dev_cls, target_type\u003dNone,"},{"line_number":4437,"context_line":"                           log_path\u003dNone):"},{"line_number":4438,"context_line":"        def _create_base_dev():"},{"line_number":4439,"context_line":"            consolepty \u003d char_dev_cls()"},{"line_number":4440,"context_line":"            consolepty.target_type \u003d target_type"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_1c4765bc","line":4437,"range":{"start_line":4437,"start_character":27,"end_line":4437,"end_character":40},"updated":"2017-03-17 14:44:44.000000000","message":"For historical reasons: This line screwed libvirt+xen, see https://bugs.launchpad.net/nova/+bug/1670522 This got discovered during Pike and fixed with https://review.openstack.org/#/c/442209/ and https://review.openstack.org/#/c/442550/","commit_id":"1f659251c7509cab045024044a6b8d642ad85aef"}]}
