)]}'
{"nova/tests/test_libvirt_vif.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"b7873e255f3263137e524b2abfaf6150db348f64","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        d \u003d vif.LibvirtOpenVswitchDriver()"},{"line_number":329,"context_line":"        self._check_ovs_ethernet_driver(d,"},{"line_number":330,"context_line":"                                        self.net_ovs,"},{"line_number":331,"context_line":"                                        self.mapping_ovs_legacy)"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    def test_ovs_ethernet_driver(self):"},{"line_number":334,"context_line":"        d \u003d vif.LibvirtGenericVIFDriver()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FX0Q%3D","line":331,"updated":"2013-01-25 00:52:22.000000000","message":"Duplicate method name here so the upper test is not running at all.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6cff0493af618732d1792afc6fb8690aea760daf","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        d \u003d vif.LibvirtOpenVswitchDriver()"},{"line_number":329,"context_line":"        self._check_ovs_ethernet_driver(d,"},{"line_number":330,"context_line":"                                        self.net_ovs,"},{"line_number":331,"context_line":"                                        self.mapping_ovs_legacy)"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    def test_ovs_ethernet_driver(self):"},{"line_number":334,"context_line":"        d \u003d vif.LibvirtGenericVIFDriver()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW48%3D","line":331,"in_reply_to":"AAAAM3%2F%2FW9c%3D","updated":"2013-01-25 18:27:11.000000000","message":"Doh, introduced in my latest rebase","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"change_message_id":"31741a78a6cc7f2abce93402af2e10943be3b06e","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        d \u003d vif.LibvirtOpenVswitchDriver()"},{"line_number":329,"context_line":"        self._check_ovs_ethernet_driver(d,"},{"line_number":330,"context_line":"                                        self.net_ovs,"},{"line_number":331,"context_line":"                                        self.mapping_ovs_legacy)"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    def test_ovs_ethernet_driver(self):"},{"line_number":334,"context_line":"        d \u003d vif.LibvirtGenericVIFDriver()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW9c%3D","line":331,"in_reply_to":"AAAAM3%2F%2FX0Q%3D","updated":"2013-01-25 17:51:30.000000000","message":"awesome catch here. Definitely needs fixing","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"b7873e255f3263137e524b2abfaf6150db348f64","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        return conf"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def get_config_ovs_ethernet(self, instance, network, mapping):"},{"line_number":123,"context_line":"        conf \u003d super(LibvirtGenericVIFDriver,"},{"line_number":124,"context_line":"                     self).get_config(instance,"},{"line_number":125,"context_line":"                                      network,"},{"line_number":126,"context_line":"                                      mapping)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FX0I%3D","line":123,"updated":"2013-01-25 00:52:22.000000000","message":"I think this would be easier to read as\n        conf \u003d super(LibvirtGenericVifDriver, self).get_config(\n            instance, network, mapping)\n\nwhich is also PEP8 ok.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6cff0493af618732d1792afc6fb8690aea760daf","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        return conf"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def get_config_ovs_ethernet(self, instance, network, mapping):"},{"line_number":123,"context_line":"        conf \u003d super(LibvirtGenericVIFDriver,"},{"line_number":124,"context_line":"                     self).get_config(instance,"},{"line_number":125,"context_line":"                                      network,"},{"line_number":126,"context_line":"                                      mapping)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW44%3D","line":123,"in_reply_to":"AAAAM3%2F%2FX0I%3D","updated":"2013-01-25 18:27:11.000000000","message":"This particular line may still be PEP8 ok, but this pattern is repeated throughout this file for cases where PEP8 would not pass. I think it is preferrable to use the same line wrapping style throughout, so don\u0027t want to change this.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"b7873e255f3263137e524b2abfaf6150db348f64","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":134,"context_line":"        return self.get_config_ovs_ethernet(instance, network,"},{"line_number":135,"context_line":"                                            mapping)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def get_config(self, instance, network, mapping):"},{"line_number":138,"context_line":"        vif_type \u003d mapping.get(\u0027vif_type\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FX0A%3D","line":135,"updated":"2013-01-25 00:52:22.000000000","message":"If this is just passing through, another simple way you can do it is\n\ndef foo(self, ...)\n    stufff\n\nbar \u003d foo\n\nto make calling bar be the same as calling foo.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"change_message_id":"31741a78a6cc7f2abce93402af2e10943be3b06e","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":134,"context_line":"        return self.get_config_ovs_ethernet(instance, network,"},{"line_number":135,"context_line":"                                            mapping)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def get_config(self, instance, network, mapping):"},{"line_number":138,"context_line":"        vif_type \u003d mapping.get(\u0027vif_type\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW9U%3D","line":135,"in_reply_to":"AAAAM3%2F%2FX0A%3D","updated":"2013-01-25 17:51:30.000000000","message":"I disagree with this change, if only because I feel this is more explicit","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6cff0493af618732d1792afc6fb8690aea760daf","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":134,"context_line":"        return self.get_config_ovs_ethernet(instance, network,"},{"line_number":135,"context_line":"                                            mapping)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def get_config(self, instance, network, mapping):"},{"line_number":138,"context_line":"        vif_type \u003d mapping.get(\u0027vif_type\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW4s%3D","line":135,"in_reply_to":"AAAAM3%2F%2FX0A%3D","updated":"2013-01-25 18:27:11.000000000","message":"You have to consider this code in the context of the following patches - the \u0027get_config_ovs\u0027 method will expand in scope / complexity in following patches. So this suggestion is not applicable here.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"b7873e255f3263137e524b2abfaf6150db348f64","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            raise exception.NovaException("},{"line_number":146,"context_line":"                _(\"vif_type parameter must be present \""},{"line_number":147,"context_line":"                  \"for this vif_driver implementation\"))"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        if vif_type \u003d\u003d network_model.VIF_TYPE_BRIDGE:"},{"line_number":150,"context_line":"            return self.get_config_bridge(instance, network, mapping)"},{"line_number":151,"context_line":"        elif vif_type \u003d\u003d network_model.VIF_TYPE_OVS:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FXz4%3D","line":148,"updated":"2013-01-25 00:52:22.000000000","message":"This looks like it is turning into a dispatcher: can we factor out a sideways class (a strategy) and avoid the conditional code?","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"change_message_id":"31741a78a6cc7f2abce93402af2e10943be3b06e","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            raise exception.NovaException("},{"line_number":146,"context_line":"                _(\"vif_type parameter must be present \""},{"line_number":147,"context_line":"                  \"for this vif_driver implementation\"))"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        if vif_type \u003d\u003d network_model.VIF_TYPE_BRIDGE:"},{"line_number":150,"context_line":"            return self.get_config_bridge(instance, network, mapping)"},{"line_number":151,"context_line":"        elif vif_type \u003d\u003d network_model.VIF_TYPE_OVS:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW9Q%3D","line":148,"in_reply_to":"AAAAM3%2F%2FXz4%3D","updated":"2013-01-25 17:51:30.000000000","message":"I don\u0027t think this is necessary yet, personally. In fact, you can just remove the else and unindent and it will look a little less branch-y :-)","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6cff0493af618732d1792afc6fb8690aea760daf","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            raise exception.NovaException("},{"line_number":146,"context_line":"                _(\"vif_type parameter must be present \""},{"line_number":147,"context_line":"                  \"for this vif_driver implementation\"))"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        if vif_type \u003d\u003d network_model.VIF_TYPE_BRIDGE:"},{"line_number":150,"context_line":"            return self.get_config_bridge(instance, network, mapping)"},{"line_number":151,"context_line":"        elif vif_type \u003d\u003d network_model.VIF_TYPE_OVS:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW4k%3D","line":148,"in_reply_to":"AAAAM3%2F%2FXz4%3D","updated":"2013-01-25 18:27:11.000000000","message":"This would essentially be reversing pretty much everything this patch series is doing. I don\u0027t think we need to use a design pattern here just for the sake it of - the conditional code is perfectly ok.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"b7873e255f3263137e524b2abfaf6150db348f64","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                                        self.get_bridge_name(network),"},{"line_number":181,"context_line":"                                        iface)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def plug_ovs_ethernet(self, instance, vif):"},{"line_number":184,"context_line":"        super(LibvirtGenericVIFDriver,"},{"line_number":185,"context_line":"              self).plug(instance, vif)"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FXzw%3D","line":183,"updated":"2013-01-25 00:52:22.000000000","message":"That fits on one line, no need to wrap.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6cff0493af618732d1792afc6fb8690aea760daf","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                                        self.get_bridge_name(network),"},{"line_number":181,"context_line":"                                        iface)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def plug_ovs_ethernet(self, instance, vif):"},{"line_number":184,"context_line":"        super(LibvirtGenericVIFDriver,"},{"line_number":185,"context_line":"              self).plug(instance, vif)"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW4Y%3D","line":183,"in_reply_to":"AAAAM3%2F%2FXzw%3D","updated":"2013-01-25 18:27:11.000000000","message":"As with the previous example, this line wrapping is just about having consistent style throughout the file.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"b7873e255f3263137e524b2abfaf6150db348f64","unresolved":false,"context_lines":[{"line_number":282,"context_line":""},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"class LibvirtOpenVswitchDriver(LibvirtGenericVIFDriver):"},{"line_number":285,"context_line":"    \"\"\"Deprecated in favour of LibvirtGenericVIFDriver."},{"line_number":286,"context_line":"       Retained in Grizzly for compatibility with Quantum"},{"line_number":287,"context_line":"       drivers which do not yet report \u0027vif_type\u0027 port binding."},{"line_number":288,"context_line":"       To be removed in Hxxxx.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FXzs%3D","line":285,"updated":"2013-01-25 00:52:22.000000000","message":"Newline between the summary line and the rest of the docstring (PEP254 or something, I forget :)).","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6cff0493af618732d1792afc6fb8690aea760daf","unresolved":false,"context_lines":[{"line_number":282,"context_line":""},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"class LibvirtOpenVswitchDriver(LibvirtGenericVIFDriver):"},{"line_number":285,"context_line":"    \"\"\"Deprecated in favour of LibvirtGenericVIFDriver."},{"line_number":286,"context_line":"       Retained in Grizzly for compatibility with Quantum"},{"line_number":287,"context_line":"       drivers which do not yet report \u0027vif_type\u0027 port binding."},{"line_number":288,"context_line":"       To be removed in Hxxxx.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW4A%3D","line":285,"in_reply_to":"AAAAM3%2F%2FXzs%3D","updated":"2013-01-25 18:27:11.000000000","message":"I can add a blank line, but if we really care about this, it be being validated by the pep8 check, rather than relying on developers to remember random rules.","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"b7873e255f3263137e524b2abfaf6150db348f64","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    \"\"\"Deprecated in favour of LibvirtGenericVIFDriver."},{"line_number":286,"context_line":"       Retained in Grizzly for compatibility with Quantum"},{"line_number":287,"context_line":"       drivers which do not yet report \u0027vif_type\u0027 port binding."},{"line_number":288,"context_line":"       To be removed in Hxxxx.\"\"\""},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def __init__(self):"},{"line_number":291,"context_line":"        LOG.deprecated("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FXzo%3D","line":288,"updated":"2013-01-25 00:52:22.000000000","message":"And a trailing newline - like:\n\n        To be removed in Hxxxxx.\n        \"\"\"","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6cff0493af618732d1792afc6fb8690aea760daf","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    \"\"\"Deprecated in favour of LibvirtGenericVIFDriver."},{"line_number":286,"context_line":"       Retained in Grizzly for compatibility with Quantum"},{"line_number":287,"context_line":"       drivers which do not yet report \u0027vif_type\u0027 port binding."},{"line_number":288,"context_line":"       To be removed in Hxxxx.\"\"\""},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def __init__(self):"},{"line_number":291,"context_line":"        LOG.deprecated("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FW4Q%3D","line":288,"in_reply_to":"AAAAM3%2F%2FXzo%3D","updated":"2013-01-25 18:27:11.000000000","message":"Done","commit_id":"31f8b3cfa091092d164d9e9271f65aeda9204075"}]}
