)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"8186a61a04a93b18c925dcb8956f16c87305d363","unresolved":false,"context_lines":[{"line_number":11,"context_line":"and it is controlled using image metadata:"},{"line_number":12,"context_line":"hw_vif_mutliqueue_enabled\u003dtrue|false"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"when users want to launch an instance with"},{"line_number":15,"context_line":"a SRIOV port and several normal ports"},{"line_number":16,"context_line":"with multi-queue feature, ERROR can take"},{"line_number":17,"context_line":"place due to wrong driver name for SRIOV"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3a71b18c_41d35a38","line":14,"updated":"2016-12-09 15:38:41.000000000","message":"nit:s/when/When/","commit_id":"926454479256480ea71974e5fe1d95092c0fce45"}],"nova/tests/unit/virt/libvirt/test_vif.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"ea53516044955cda00422ee650b28b50cddcdc5c","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        image_meta \u003d {\u0027properties\u0027: {\u0027os_name\u0027: \u0027fedora22\u0027}}"},{"line_number":687,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(image_meta)"},{"line_number":688,"context_line":"        d.get_base_config(None, \u0027ca:fe:de:ad:be:ef\u0027, image_meta,"},{"line_number":689,"context_line":"                          None, \u0027kvm\u0027, None)"},{"line_number":690,"context_line":"        mock_set.assert_called_once_with(mock.ANY, \u0027ca:fe:de:ad:be:ef\u0027,"},{"line_number":691,"context_line":"                                         \u0027virtio\u0027, None, None)"},{"line_number":692,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_c0541656","line":689,"updated":"2016-11-15 11:11:05.000000000","message":"That is not enough you should add a test which ensure that a SRIOV nic is not going to get a vhost driver if MQ is enabled.","commit_id":"fc7a5299db6ea7d68addab1b7fb624385a5d4c28"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"e323c9bdb59a0062b28969a2de278e52ccb240f1","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        image_meta \u003d {\u0027properties\u0027: {\u0027os_name\u0027: \u0027fedora22\u0027}}"},{"line_number":687,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(image_meta)"},{"line_number":688,"context_line":"        d.get_base_config(None, \u0027ca:fe:de:ad:be:ef\u0027, image_meta,"},{"line_number":689,"context_line":"                          None, \u0027kvm\u0027, None)"},{"line_number":690,"context_line":"        mock_set.assert_called_once_with(mock.ANY, \u0027ca:fe:de:ad:be:ef\u0027,"},{"line_number":691,"context_line":"                                         \u0027virtio\u0027, None, None)"},{"line_number":692,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_0f1a2117","line":689,"in_reply_to":"7a77a97e_a0ed5a8d","updated":"2016-12-06 08:42:28.000000000","message":"Done","commit_id":"fc7a5299db6ea7d68addab1b7fb624385a5d4c28"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b3d0a58a589e008e07add44af72fdaeee0b16371","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        image_meta \u003d {\u0027properties\u0027: {\u0027os_name\u0027: \u0027fedora22\u0027}}"},{"line_number":687,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(image_meta)"},{"line_number":688,"context_line":"        d.get_base_config(None, \u0027ca:fe:de:ad:be:ef\u0027, image_meta,"},{"line_number":689,"context_line":"                          None, \u0027kvm\u0027, None)"},{"line_number":690,"context_line":"        mock_set.assert_called_once_with(mock.ANY, \u0027ca:fe:de:ad:be:ef\u0027,"},{"line_number":691,"context_line":"                                         \u0027virtio\u0027, None, None)"},{"line_number":692,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_a0ed5a8d","line":689,"in_reply_to":"7a77a97e_c0541656","updated":"2016-11-15 11:11:55.000000000","message":"Also for correctness you should not pass pass None here but a valid type.","commit_id":"fc7a5299db6ea7d68addab1b7fb624385a5d4c28"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"e323c9bdb59a0062b28969a2de278e52ccb240f1","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        image_meta \u003d {\u0027properties\u0027: {\u0027os_name\u0027: \u0027fedora22\u0027}}"},{"line_number":687,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(image_meta)"},{"line_number":688,"context_line":"        d.get_base_config(None, \u0027ca:fe:de:ad:be:ef\u0027, image_meta,"},{"line_number":689,"context_line":"                          None, \u0027kvm\u0027, None)"},{"line_number":690,"context_line":"        mock_set.assert_called_once_with(mock.ANY, \u0027ca:fe:de:ad:be:ef\u0027,"},{"line_number":691,"context_line":"                                         \u0027virtio\u0027, None, None)"},{"line_number":692,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_2f151de4","line":689,"in_reply_to":"7a77a97e_c0541656","updated":"2016-12-06 08:42:28.000000000","message":"Done","commit_id":"fc7a5299db6ea7d68addab1b7fb624385a5d4c28"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"a587acfc701f458024db9bf06824fc088e73ae72","unresolved":false,"context_lines":[{"line_number":744,"context_line":"                   virt_type\u003d\u0027kvm\u0027,"},{"line_number":745,"context_line":"                   group\u003d\u0027libvirt\u0027)"},{"line_number":746,"context_line":"        self.useFixture(fixtures.MonkeyPatch("},{"line_number":747,"context_line":"            \u0027nova.virt.osinfo.libosinfo\u0027,"},{"line_number":748,"context_line":"            fakelibosinfo))"},{"line_number":749,"context_line":"        d \u003d vif.LibvirtGenericVIFDriver()"},{"line_number":750,"context_line":"        image_meta \u003d {\u0027properties\u0027: {\u0027os_name\u0027: \u0027fedora22\u0027}}"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a71b18c_ed1cb8c3","line":747,"range":{"start_line":747,"start_character":30,"end_line":747,"end_character":39},"updated":"2016-12-07 19:58:11.000000000","message":"was mocking libosinfo necessary?","commit_id":"926454479256480ea71974e5fe1d95092c0fce45"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6c334763bd71a3d0fa88d351913a30e8590a8970","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                                                virt\u003dvirt_type)"},{"line_number":130,"context_line":"        if (virt_type in (\u0027kvm\u0027, \u0027parallels\u0027) and"},{"line_number":131,"context_line":"            model \u003d\u003d network_model.VIF_MODEL_VIRTIO and"},{"line_number":132,"context_line":"            vnic_type !\u003d network_model.VNIC_TYPE_DIRECT):"},{"line_number":133,"context_line":"            vhost_drv, vhost_queues \u003d self._get_virtio_mq_settings(image_meta,"},{"line_number":134,"context_line":"                                                                   inst_type)"},{"line_number":135,"context_line":"            driver \u003d vhost_drv or driver"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a77a97e_04b629dc","line":132,"updated":"2016-11-15 08:53:44.000000000","message":"Not only VNIC_TYPE_DIRECT is used for SRIOV, please use the defined tuple VNIC_TYPES_SRIOV.","commit_id":"d79e0766368f24998935f99d6c787d0819532153"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8148ca2fb13d1d896a18927c963ff655c97da017","unresolved":false,"context_lines":[{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        # Do the config that\u0027s common to all vif types"},{"line_number":485,"context_line":"        conf \u003d self.get_base_config(instance, vif.address, image_meta,"},{"line_number":486,"context_line":"                                    inst_type, virt_type, None)"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        # Do the VIF type specific config"},{"line_number":489,"context_line":"        viffunc \u003d \"_set_config_\" + vif.obj_name()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_ad0a0324","line":486,"updated":"2016-12-06 15:53:53.000000000","message":"I have difficultly to understand why you don\u0027t pass the type when using os-vif here ?","commit_id":"c6372eac0038d1f63a9e288c32b8c6897156b24a"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"df9d9e5513685e85405cac7a03653fa80f079692","unresolved":false,"context_lines":[{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        # Do the config that\u0027s common to all vif types"},{"line_number":485,"context_line":"        conf \u003d self.get_base_config(instance, vif.address, image_meta,"},{"line_number":486,"context_line":"                                    inst_type, virt_type, None)"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        # Do the VIF type specific config"},{"line_number":489,"context_line":"        viffunc \u003d \"_set_config_\" + vif.obj_name()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_5cc2df85","line":486,"in_reply_to":"3a71b18c_ad0a0324","updated":"2016-12-07 08:13:07.000000000","message":"Done, Thanks, I made some wrong assumption when I fix this.","commit_id":"c6372eac0038d1f63a9e288c32b8c6897156b24a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"41883f0615f68c34110107cfd3d1bfa9223a4e09","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        devname \u003d self.get_vif_devname(vif)"},{"line_number":98,"context_line":"        return prefix + devname[3:]"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def get_base_config(self, instance, mac, image_meta,"},{"line_number":101,"context_line":"                        inst_type, virt_type):"},{"line_number":102,"context_line":"        conf \u003d vconfig.LibvirtConfigGuestInterface()"},{"line_number":103,"context_line":"        # Default to letting libvirt / the hypervisor choose the model"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_4293d55a","side":"PARENT","line":100,"updated":"2016-12-07 10:15:58.000000000","message":"I think it would be more reasonable to pass the whole vif object here.","commit_id":"427e0994dbc58c41fc6fbb5a9bda26ee23717883"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dd7aeeff3a69798316135cd4ca088513268e843a","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                          inst_type, virt_type, host):"},{"line_number":221,"context_line":"        \"\"\"Get VIF configurations for bridge type.\"\"\""},{"line_number":222,"context_line":"        conf \u003d self.get_base_config(instance, vif[\u0027address\u0027], image_meta,"},{"line_number":223,"context_line":"                                    inst_type, virt_type, vif[\u0027vnic_type\u0027])"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        designer.set_vif_host_backend_bridge_config("},{"line_number":226,"context_line":"            conf, self.get_bridge_name(vif),"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba5201f7_ae77fe00","line":223,"range":{"start_line":223,"start_character":58,"end_line":223,"end_character":74},"updated":"2016-12-30 15:28:06.000000000","message":"I was a bit worried about this key not being set but it always is and it defaults to \u0027normal\u0027:\n\nhttps://github.com/openstack/nova/blob/a74d3ae4e815e3727961ef67bd801dada0267a0b/nova/network/model.py#L367\n\nSo we don\u0027t have to worry about KeyErrors.","commit_id":"fb3b2d9eaf8317cec62e52a99f17946610b8cdca"}]}
