)]}'
{"nova/network/linux_net.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"75d089ea8f415264f8cd51830ac06d13fbf41bd5","unresolved":false,"context_lines":[{"line_number":1170,"context_line":"            _execute(\u0027ip\u0027, \u0027link\u0027, \u0027set\u0027, bridge, \u0027up\u0027, run_as_root\u003dTrue)"},{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":"        if interface:"},{"line_number":1173,"context_line":"            LOG.debug(_(\u0027Adding interface %s\u0027), interface)"},{"line_number":1174,"context_line":"            out, err \u003d _execute(\u0027brctl\u0027, \u0027addif\u0027, bridge, interface,"},{"line_number":1175,"context_line":"                                check_exit_code\u003dFalse, run_as_root\u003dTrue)"},{"line_number":1176,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALn%2F%2F6JY%3D","line":1173,"updated":"2012-10-29 13:54:56.000000000","message":"It is more helpful to add information about a target bridge.","commit_id":"e87bd603f52733f0dbfdf7846bcaf8f6948949ee"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"48c98f0fc7e56777c28865837c18bf055b6b9f54","unresolved":false,"context_lines":[{"line_number":1170,"context_line":"            _execute(\u0027ip\u0027, \u0027link\u0027, \u0027set\u0027, bridge, \u0027up\u0027, run_as_root\u003dTrue)"},{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":"        if interface:"},{"line_number":1173,"context_line":"            LOG.debug(_(\u0027Adding interface %s\u0027), interface)"},{"line_number":1174,"context_line":"            out, err \u003d _execute(\u0027brctl\u0027, \u0027addif\u0027, bridge, interface,"},{"line_number":1175,"context_line":"                                check_exit_code\u003dFalse, run_as_root\u003dTrue)"},{"line_number":1176,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALn%2F%2F6A8%3D","line":1173,"in_reply_to":"AAAALn%2F%2F6JY%3D","updated":"2012-10-29 16:24:20.000000000","message":"Sure, I\u0027ll add it.\nThanks\nGary","commit_id":"e87bd603f52733f0dbfdf7846bcaf8f6948949ee"},{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"5926d8ec8b0057c40049815ff888322a8c1f9f91","unresolved":false,"context_lines":[{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        if interface:"},{"line_number":1175,"context_line":"            msg \u003d _(\u0027Adding interface %(interface)s to bridge %(bridge)s\u0027)"},{"line_number":1176,"context_line":"            LOG.debug(msg % {\u0027interface\u0027: interface, \u0027bridge\u0027: bridge})"},{"line_number":1177,"context_line":"            out, err \u003d _execute(\u0027brctl\u0027, \u0027addif\u0027, bridge, interface,"},{"line_number":1178,"context_line":"                                check_exit_code\u003dFalse, run_as_root\u003dTrue)"},{"line_number":1179,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAALn%2F%2F5OI%3D","line":1176,"updated":"2012-10-30 11:12:51.000000000","message":"LOG.debug(msg % locals()) is a more concise way, used elsewhere","commit_id":"e92ab98c3bfc1c6b1e464a8e3af7440864bbf11d"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"fd3108c50dd511bab9f5326151bd74075588823b","unresolved":false,"context_lines":[{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        if interface:"},{"line_number":1175,"context_line":"            msg \u003d _(\u0027Adding interface %(interface)s to bridge %(bridge)s\u0027)"},{"line_number":1176,"context_line":"            LOG.debug(msg % {\u0027interface\u0027: interface, \u0027bridge\u0027: bridge})"},{"line_number":1177,"context_line":"            out, err \u003d _execute(\u0027brctl\u0027, \u0027addif\u0027, bridge, interface,"},{"line_number":1178,"context_line":"                                check_exit_code\u003dFalse, run_as_root\u003dTrue)"},{"line_number":1179,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAALn%2F%2F5JY%3D","line":1176,"in_reply_to":"AAAALn%2F%2F5OI%3D","updated":"2012-10-30 13:31:28.000000000","message":"Done","commit_id":"e92ab98c3bfc1c6b1e464a8e3af7440864bbf11d"},{"author":{"_account_id":3217,"name":"Ian Wells","username":"ijw-ubuntu"},"change_message_id":"d3f1d615c79851169b7d0b5719b54349cae8c508","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"        \"\"\"Create a bridge unless it already exists."},{"line_number":1151,"context_line":""},{"line_number":1152,"context_line":"        :param interface: the interface to create the bridge on."},{"line_number":1153,"context_line":"        :param net_attrs: dictionary with  attributes used to create bridge."},{"line_number":1154,"context_line":""},{"line_number":1155,"context_line":"        If net_attrs is set, it will add the net_attrs[\u0027gateway\u0027] to the bridge"},{"line_number":1156,"context_line":"        using net_attrs[\u0027broadcast\u0027] and net_attrs[\u0027cidr\u0027].  It will also add"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAALn%2F%2F2sU%3D","line":1153,"updated":"2012-11-01 09:49:57.000000000","message":"All right, no-one\u0027s documented \u0027gateway\u0027 but you could document what \u0027filtering\u0027 is for...","commit_id":"70ce548c3be9489f8fd7d5860870f5178a98a709"}],"nova/virt/libvirt/config.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"d36223f74d694f873977ce7c357abcbba2979ef0","unresolved":false,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        if self.target_dev is not None:"},{"line_number":470,"context_line":"            dev.append(etree.Element(\"target\", dev\u003dself.target_dev))"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        if self.vporttype is not None:"},{"line_number":473,"context_line":"            vport \u003d etree.Element(\"virtualport\", type\u003dself.vporttype)"},{"line_number":474,"context_line":"            for p in self.vportparams:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALn%2F%2F6Rg%3D","line":471,"updated":"2012-10-29 10:38:53.000000000","message":"It would be nice to extend test_libvirt_config.py to validate the fact that \u0027target\u0027 is allowed for all types of netdev.","commit_id":"e87bd603f52733f0dbfdf7846bcaf8f6948949ee"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c17bc66f9f1c2ad450b8fb09cd87f76d13032705","unresolved":false,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        if self.target_dev is not None:"},{"line_number":470,"context_line":"            dev.append(etree.Element(\"target\", dev\u003dself.target_dev))"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        if self.vporttype is not None:"},{"line_number":473,"context_line":"            vport \u003d etree.Element(\"virtualport\", type\u003dself.vporttype)"},{"line_number":474,"context_line":"            for p in self.vportparams:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALn%2F%2F6RA%3D","line":471,"in_reply_to":"AAAALn%2F%2F6Rg%3D","updated":"2012-10-29 10:46:29.000000000","message":"ok, i\u0027ll add this.\nthanks\ngary","commit_id":"e87bd603f52733f0dbfdf7846bcaf8f6948949ee"}]}
