)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":2506,"name":"devdatta-kulkarni","email":"kulkarni.devdatta@gmail.com","username":"devdatta-kulkarni"},"change_message_id":"1d70f1c980a2451d6d9b368ec2134255c52c509e","unresolved":false,"context_lines":[{"line_number":2911,"context_line":"        # dynamic_ownership\u003d0 are not affected because libvirt will always"},{"line_number":2912,"context_line":"        # correctly configure permissions regardless of initial ownership."},{"line_number":2913,"context_line":"        #"},{"line_number":2914,"context_line":"        # Setting dymanic_ownership\u003d0 is dubious and potentially broken in"},{"line_number":2915,"context_line":"        # more ways than console.log (see comment #22 on the above bug), so"},{"line_number":2916,"context_line":"        # Future Maintainer who finds this code problematic should check to see"},{"line_number":2917,"context_line":"        # if we still support it."}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_5592c44c","line":2914,"updated":"2016-08-01 15:47:02.000000000","message":"dynamic","commit_id":"f76e75ccba4af737081f70340ab1e1fdd34e09a9"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"4287c585949b7cea29613c514faccfbfc91f7f75","unresolved":false,"context_lines":[{"line_number":2911,"context_line":"        # dynamic_ownership\u003d0 are not affected because libvirt will always"},{"line_number":2912,"context_line":"        # correctly configure permissions regardless of initial ownership."},{"line_number":2913,"context_line":"        #"},{"line_number":2914,"context_line":"        # Setting dymanic_ownership\u003d0 is dubious and potentially broken in"},{"line_number":2915,"context_line":"        # more ways than console.log (see comment #22 on the above bug), so"},{"line_number":2916,"context_line":"        # Future Maintainer who finds this code problematic should check to see"},{"line_number":2917,"context_line":"        # if we still support it."}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_46b97ccb","line":2914,"in_reply_to":"bacf61ea_26056810","updated":"2016-08-01 16:31:02.000000000","message":"However, I do need to update it for the test failures :( So...\n\nDone.","commit_id":"f76e75ccba4af737081f70340ab1e1fdd34e09a9"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"f821f7ea202921cc14991d66fc1c682c46461291","unresolved":false,"context_lines":[{"line_number":2911,"context_line":"        # dynamic_ownership\u003d0 are not affected because libvirt will always"},{"line_number":2912,"context_line":"        # correctly configure permissions regardless of initial ownership."},{"line_number":2913,"context_line":"        #"},{"line_number":2914,"context_line":"        # Setting dymanic_ownership\u003d0 is dubious and potentially broken in"},{"line_number":2915,"context_line":"        # more ways than console.log (see comment #22 on the above bug), so"},{"line_number":2916,"context_line":"        # Future Maintainer who finds this code problematic should check to see"},{"line_number":2917,"context_line":"        # if we still support it."}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_26056810","line":2914,"in_reply_to":"bacf61ea_5592c44c","updated":"2016-08-01 16:19:46.000000000","message":"Whoops. However, given that I just rebased 29 patches on top of this one I\u0027m not changing it for just this!","commit_id":"f76e75ccba4af737081f70340ab1e1fdd34e09a9"},{"author":{"_account_id":2506,"name":"devdatta-kulkarni","email":"kulkarni.devdatta@gmail.com","username":"devdatta-kulkarni"},"change_message_id":"1d70f1c980a2451d6d9b368ec2134255c52c509e","unresolved":false,"context_lines":[{"line_number":2918,"context_line":"        console_file \u003d self._get_console_log_path(instance)"},{"line_number":2919,"context_line":"        LOG.debug(\u0027Ensure instance console log exists: %s\u0027, console_file,"},{"line_number":2920,"context_line":"                  instance\u003dinstance)"},{"line_number":2921,"context_line":"        libvirt_utils.file_open(console_file, \u0027a\u0027).close()"},{"line_number":2922,"context_line":""},{"line_number":2923,"context_line":"    @staticmethod"},{"line_number":2924,"context_line":"    def _get_disk_config_path(instance, suffix\u003d\u0027\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_758548cd","line":2921,"updated":"2016-08-01 15:47:02.000000000","message":"Should we check first if dynamic_ownership\u003d0, or that is not required?","commit_id":"f76e75ccba4af737081f70340ab1e1fdd34e09a9"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"f821f7ea202921cc14991d66fc1c682c46461291","unresolved":false,"context_lines":[{"line_number":2918,"context_line":"        console_file \u003d self._get_console_log_path(instance)"},{"line_number":2919,"context_line":"        LOG.debug(\u0027Ensure instance console log exists: %s\u0027, console_file,"},{"line_number":2920,"context_line":"                  instance\u003dinstance)"},{"line_number":2921,"context_line":"        libvirt_utils.file_open(console_file, \u0027a\u0027).close()"},{"line_number":2922,"context_line":""},{"line_number":2923,"context_line":"    @staticmethod"},{"line_number":2924,"context_line":"    def _get_disk_config_path(instance, suffix\u003d\u0027\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_db28a59c","line":2921,"in_reply_to":"bacf61ea_758548cd","updated":"2016-08-01 16:19:46.000000000","message":"It\u0027s not required, because libvirt will just do the right thing when dymanic_ownership !\u003d 0. Which is good, because it\u0027s also not possible :)","commit_id":"f76e75ccba4af737081f70340ab1e1fdd34e09a9"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"1154e35cc364d825d00a57a973fff4abb9fd3b63","unresolved":false,"context_lines":[{"line_number":2656,"context_line":"                           files\u003dinjected_files,"},{"line_number":2657,"context_line":"                           admin_pass\u003dadmin_password)"},{"line_number":2658,"context_line":""},{"line_number":2659,"context_line":"        # Required by Quobyte CI"},{"line_number":2660,"context_line":"        self._ensure_console_log_for_instance(instance)"},{"line_number":2661,"context_line":""},{"line_number":2662,"context_line":"        xml \u003d self._get_guest_xml(context, instance, network_info,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_53a555b3","line":2659,"updated":"2016-08-03 10:37:46.000000000","message":"Actually this is not required by the Quobyte CI itself (which i could run in Cinder default mode (insecure)) but by the Quobyte Drivers if run in Cinders secure mode (nas_secure_file_operations\u003dtrue).\n\nThus, what about e.g.:\n# Required by Quobyte Driver in Cinder nas_secure mode","commit_id":"ec6ed24cb844dcdf834d283d496c9b920ff1db83"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"57e0a84afa6d58725bf56423033f5738a334bb14","unresolved":false,"context_lines":[{"line_number":2656,"context_line":"                           files\u003dinjected_files,"},{"line_number":2657,"context_line":"                           admin_pass\u003dadmin_password)"},{"line_number":2658,"context_line":""},{"line_number":2659,"context_line":"        # Required by Quobyte CI"},{"line_number":2660,"context_line":"        self._ensure_console_log_for_instance(instance)"},{"line_number":2661,"context_line":""},{"line_number":2662,"context_line":"        xml \u003d self._get_guest_xml(context, instance, network_info,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_a711eb5f","line":2659,"in_reply_to":"bacf61ea_53a555b3","updated":"2016-08-03 12:00:08.000000000","message":"Well it\u0027s required because libvirt is configured with dynamic_ownership\u003d0. The driver doesn\u0027t do that itself, right? It was done specifically by whoever configured the CI.\n\nI guess if this is the only configuration in which the driver would work, we could write:\n\n# Required when libvirt is configured with dynamic_ownership\u003d0 for Quobyte cinder driver in nas_secure mode\n\nBut that\u0027s getting a bit verbose, and I already put a big comment in. TBH the only purpose is to point the maintainer at the big comment, but as it\u0027s right there in the function call I guess it\u0027s redundant: we could just remove it. Could you do me a favour, though? I\u0027d prefer not to rebase this mini-series again just for this. Could you instead submit a change as a patch on top of this one and I\u0027ll happily +1 it.","commit_id":"ec6ed24cb844dcdf834d283d496c9b920ff1db83"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"a5d4a45b67dae0801f7ab8d7ec0e3213b0d85200","unresolved":false,"context_lines":[{"line_number":2656,"context_line":"                           files\u003dinjected_files,"},{"line_number":2657,"context_line":"                           admin_pass\u003dadmin_password)"},{"line_number":2658,"context_line":""},{"line_number":2659,"context_line":"        # Required by Quobyte CI"},{"line_number":2660,"context_line":"        self._ensure_console_log_for_instance(instance)"},{"line_number":2661,"context_line":""},{"line_number":2662,"context_line":"        xml \u003d self._get_guest_xml(context, instance, network_info,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_02d8a51c","line":2659,"in_reply_to":"bacf61ea_a711eb5f","updated":"2016-08-03 12:09:42.000000000","message":"For clarification: No, the driver does work without dynamic_ownership\u003d0 if Cinder is run with nas_secure_file_ownership\u003dfalse. In that case ops are run with root permissions. The CI uses the secure setting in order to test the more complex scenario.\n\nHaving said that, i\u0027ll add the new patch as you proposed to prevent the rebase-mess. :)","commit_id":"ec6ed24cb844dcdf834d283d496c9b920ff1db83"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e9786b6dd2841d7845bc5825a002e96b1ceba011","unresolved":false,"context_lines":[{"line_number":2656,"context_line":"                           files\u003dinjected_files,"},{"line_number":2657,"context_line":"                           admin_pass\u003dadmin_password)"},{"line_number":2658,"context_line":""},{"line_number":2659,"context_line":"        # Required by Quobyte CI"},{"line_number":2660,"context_line":"        self._ensure_console_log_for_instance(instance)"},{"line_number":2661,"context_line":""},{"line_number":2662,"context_line":"        xml \u003d self._get_guest_xml(context, instance, network_info,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_42d45d46","line":2659,"in_reply_to":"bacf61ea_a711eb5f","updated":"2016-08-03 12:03:31.000000000","message":"I honestly don\u0027t think we need to bikeshed over the precise wording. This wording makes it clear enough what\u0027s going on to serve as a reminder for future readers, which is all that\u0027s needed.","commit_id":"ec6ed24cb844dcdf834d283d496c9b920ff1db83"}]}
