)]}'
{"nova/virt/libvirt/host.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ff08146d5040bee39c2293f92afbd3fb3508298a","unresolved":false,"context_lines":[{"line_number":127,"context_line":"    @staticmethod"},{"line_number":128,"context_line":"    def _get_libvirt_proxy_classes(libvirt_module):"},{"line_number":129,"context_line":"        \"\"\"Return a tuple for tpool.Proxy\u0027s autowrap argument containing all"},{"line_number":130,"context_line":"        classes defined by the libvirt module except libvirtError."},{"line_number":131,"context_line":"        \"\"\""},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        # Get a list of (name, class) tuples of libvirt classes"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f65232a_8398a51b","line":130,"range":{"start_line":130,"start_character":46,"end_line":130,"end_character":66},"updated":"2020-10-27 09:30:49.000000000","message":"... and the other private globals pointing at classes.","commit_id":"a1542ed95d6678471a072bbcab60b78cb68c5ac1"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ff08146d5040bee39c2293f92afbd3fb3508298a","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        # Return a list of just the vir* classes, filtering out libvirtError"},{"line_number":137,"context_line":"        # and any private globals pointing at classes."},{"line_number":138,"context_line":"        return tuple([cls[1] for cls in classes if cls[0].startswith(\"vir\")])"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def _wrap_libvirt_proxy(self, obj):"},{"line_number":141,"context_line":"        \"\"\"Return an object wrapped in a tpool.Proxy using autowrap appropriate"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f65232a_c3bbbd6f","line":138,"range":{"start_line":138,"start_character":58,"end_line":138,"end_character":75},"updated":"2020-10-27 09:30:49.000000000","message":"eek, I do understand this but are we sure it\u0027s the best verification ? Wouldn\u0027t it be better to look whether it\u0027s a private class or not ?\nAt least, maybe looking at the underscore ?","commit_id":"a1542ed95d6678471a072bbcab60b78cb68c5ac1"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4206e13ecbca4cf3a0c22654fec9e75172b3adaf","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        # Return a list of just the vir* classes, filtering out libvirtError"},{"line_number":137,"context_line":"        # and any private globals pointing at classes."},{"line_number":138,"context_line":"        return tuple([cls[1] for cls in classes if cls[0].startswith(\"vir\")])"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def _wrap_libvirt_proxy(self, obj):"},{"line_number":141,"context_line":"        \"\"\"Return an object wrapped in a tpool.Proxy using autowrap appropriate"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f65232a_a684cf5f","line":138,"range":{"start_line":138,"start_character":58,"end_line":138,"end_character":75},"in_reply_to":"3f65232a_661d9765","updated":"2020-10-27 09:42:29.000000000","message":"Yup, but how can we be sure it won\u0027t change later in years, like by adding new public methods that would have not this prefix ?\n\nOf course, the python-libvirt API is public so hopefully new methods not having a \"vir\" prefix should be only supported by a major release, but maybe we should document it, or verifying that the other private classes are just \u0027libvirtException\u0027 and just provide an exception if not ?","commit_id":"a1542ed95d6678471a072bbcab60b78cb68c5ac1"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b6361a5f405d9ba9af6ae2cc6afea8903ac7fce4","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        # Return a list of just the vir* classes, filtering out libvirtError"},{"line_number":137,"context_line":"        # and any private globals pointing at classes."},{"line_number":138,"context_line":"        return tuple([cls[1] for cls in classes if cls[0].startswith(\"vir\")])"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def _wrap_libvirt_proxy(self, obj):"},{"line_number":141,"context_line":"        \"\"\"Return an object wrapped in a tpool.Proxy using autowrap appropriate"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f65232a_661d9765","line":138,"range":{"start_line":138,"start_character":58,"end_line":138,"end_character":75},"in_reply_to":"3f65232a_c3bbbd6f","updated":"2020-10-27 09:37:16.000000000","message":"Yes, as documented by danpb in the bug we only care about the public vir* classes in the libvirt module so while odd this is enough:\n\nhttps://bugs.launchpad.net/nova/+bug/1901383/comments/4","commit_id":"a1542ed95d6678471a072bbcab60b78cb68c5ac1"}]}
