)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a0e519cdf603d9c7ea9ec22467a137e9614801e6","unresolved":false,"context_lines":[{"line_number":18,"context_line":"* VIFHostDevice with an OVS Representor port profile can be used"},{"line_number":19,"context_line":"  to plug/unplug accelerated OVS ports in future patches."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* TODO: when dev_type is \"generic\", the object describes describes a generic"},{"line_number":22,"context_line":"  PCI passthrough device as described in:"},{"line_number":23,"context_line":"  https://libvirt.org/formatdomain.html#elementsHostDevSubsys"},{"line_number":24,"context_line":"  Currently this mode is unimplemented and requires possible changes to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ff346bd7_e970fdde","line":21,"range":{"start_line":21,"start_character":47,"end_line":21,"end_character":66},"updated":"2017-07-25 18:24:05.000000000","message":"describes","commit_id":"6ca286c9eb240da0f226cdda510d2330fa1ced0b"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"c3866197ee46df0e2c9d5bc5e12d54060dfb01cb","unresolved":false,"context_lines":[{"line_number":18,"context_line":"* VIFHostDevice with an OVS Representor port profile can be used"},{"line_number":19,"context_line":"  to plug/unplug accelerated OVS ports in future patches."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* TODO: when dev_type is \"generic\", the object describes describes a generic"},{"line_number":22,"context_line":"  PCI passthrough device as described in:"},{"line_number":23,"context_line":"  https://libvirt.org/formatdomain.html#elementsHostDevSubsys"},{"line_number":24,"context_line":"  Currently this mode is unimplemented and requires possible changes to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ff346bd7_acffa332","line":21,"range":{"start_line":21,"start_character":47,"end_line":21,"end_character":66},"in_reply_to":"ff346bd7_e970fdde","updated":"2017-07-25 19:13:17.000000000","message":"slightly less descriptive now","commit_id":"6ca286c9eb240da0f226cdda510d2330fa1ced0b"}],"nova/tests/unit/virt/libvirt/test_vif.py":[{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"2cd5aff8e52a3735b23a6683228410ae7c948259","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        self.os_vif_hostdevice \u003d osv_objects.vif.VIFHostDevice("},{"line_number":402,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":403,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":404,"context_line":"            unplugin\u003d\"linux_bridge\","},{"line_number":405,"context_line":"            vif_name\u003d\"nicdc065497-3c\","},{"line_number":406,"context_line":"            dev_type\u003d\u0027ethernet\u0027,"},{"line_number":407,"context_line":"            dev_address\u003d\u00270000:0a:00.1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff346bd7_3447bc4e","line":404,"range":{"start_line":404,"start_character":12,"end_line":404,"end_character":36},"updated":"2017-07-24 08:10:40.000000000","message":"what the difference with plugin (line 361) and unplugin\nmaybe you should change it to openvswitch","commit_id":"fd782ff1193f31e656f514e7b65e5f3d5c1c9336"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"b2a4523d22763999685a1acfc16896fd8f944130","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        self.os_vif_hostdevice \u003d osv_objects.vif.VIFHostDevice("},{"line_number":402,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":403,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":404,"context_line":"            unplugin\u003d\"linux_bridge\","},{"line_number":405,"context_line":"            vif_name\u003d\"nicdc065497-3c\","},{"line_number":406,"context_line":"            dev_type\u003d\u0027ethernet\u0027,"},{"line_number":407,"context_line":"            dev_address\u003d\u00270000:0a:00.1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff346bd7_edcb7350","line":404,"range":{"start_line":404,"start_character":12,"end_line":404,"end_character":36},"in_reply_to":"ff346bd7_2dccdbba","updated":"2017-07-25 14:07:57.000000000","message":"done","commit_id":"fd782ff1193f31e656f514e7b65e5f3d5c1c9336"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"bdf1f5462e9bfa8254095c310d3114367beee330","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        self.os_vif_hostdevice \u003d osv_objects.vif.VIFHostDevice("},{"line_number":402,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":403,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":404,"context_line":"            unplugin\u003d\"linux_bridge\","},{"line_number":405,"context_line":"            vif_name\u003d\"nicdc065497-3c\","},{"line_number":406,"context_line":"            dev_type\u003d\u0027ethernet\u0027,"},{"line_number":407,"context_line":"            dev_address\u003d\u00270000:0a:00.1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff346bd7_37c69e69","line":404,"range":{"start_line":404,"start_character":12,"end_line":404,"end_character":36},"in_reply_to":"ff346bd7_3447bc4e","updated":"2017-07-24 08:58:08.000000000","message":"I copied that from the object in L384. I _think_ it\u0027s to show that this VIF object isn\u0027t tied to a specific os-vif plugin. This test is merely to check if the VIF object will render the correct xml.","commit_id":"fd782ff1193f31e656f514e7b65e5f3d5c1c9336"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"8a28de5888d78583f2e822abacaa433f09c45bcb","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        self.os_vif_hostdevice \u003d osv_objects.vif.VIFHostDevice("},{"line_number":402,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":403,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":404,"context_line":"            unplugin\u003d\"linux_bridge\","},{"line_number":405,"context_line":"            vif_name\u003d\"nicdc065497-3c\","},{"line_number":406,"context_line":"            dev_type\u003d\u0027ethernet\u0027,"},{"line_number":407,"context_line":"            dev_address\u003d\u00270000:0a:00.1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff346bd7_f7c01653","line":404,"range":{"start_line":404,"start_character":12,"end_line":404,"end_character":36},"in_reply_to":"ff346bd7_3447bc4e","updated":"2017-07-24 08:57:23.000000000","message":"it is not a blocker here","commit_id":"fd782ff1193f31e656f514e7b65e5f3d5c1c9336"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e21bf45d208f594cd4f2d23cecf79e1d13c7d1b4","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        self.os_vif_hostdevice \u003d osv_objects.vif.VIFHostDevice("},{"line_number":402,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":403,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":404,"context_line":"            unplugin\u003d\"linux_bridge\","},{"line_number":405,"context_line":"            vif_name\u003d\"nicdc065497-3c\","},{"line_number":406,"context_line":"            dev_type\u003d\u0027ethernet\u0027,"},{"line_number":407,"context_line":"            dev_address\u003d\u00270000:0a:00.1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff346bd7_7c187f1c","line":404,"range":{"start_line":404,"start_character":12,"end_line":404,"end_character":36},"in_reply_to":"ff346bd7_37c69e69","updated":"2017-07-24 15:23:48.000000000","message":"i think you can just remove this line\ni don\u0027t think it will be used in the test\nbut it is more for clarity then anything else\nso i also dont think this is a blocker.\nremove if you respin and it causes no errors.","commit_id":"fd782ff1193f31e656f514e7b65e5f3d5c1c9336"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f0be8e6f57a116bb855040755426c523b44558e1","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        self.os_vif_hostdevice \u003d osv_objects.vif.VIFHostDevice("},{"line_number":402,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":403,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":404,"context_line":"            unplugin\u003d\"linux_bridge\","},{"line_number":405,"context_line":"            vif_name\u003d\"nicdc065497-3c\","},{"line_number":406,"context_line":"            dev_type\u003d\u0027ethernet\u0027,"},{"line_number":407,"context_line":"            dev_address\u003d\u00270000:0a:00.1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff346bd7_2dccdbba","line":404,"range":{"start_line":404,"start_character":12,"end_line":404,"end_character":36},"in_reply_to":"ff346bd7_7c187f1c","updated":"2017-07-25 14:00:19.000000000","message":"\"unplugin\" is not an attribute of any os-vif objects. Please replace with the correct attribute \"plugin\". Don\u0027t change the existing incorrect \"unplugin\" attributes for the other objects.","commit_id":"fd782ff1193f31e656f514e7b65e5f3d5c1c9336"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f0be8e6f57a116bb855040755426c523b44558e1","unresolved":false,"context_lines":[{"line_number":1587,"context_line":"            \u003cinterface type\u003d\"hostdev\" managed\u003d\"yes\"\u003e"},{"line_number":1588,"context_line":"              \u003cmac address\u003d\"22:52:25:62:e2:aa\"/\u003e"},{"line_number":1589,"context_line":"              \u003csource\u003e"},{"line_number":1590,"context_line":"                \u003caddress type\u003d\"pci\" domain\u003d\"0x0000\" \"\"\" +"},{"line_number":1591,"context_line":"                \"\"\"bus\u003d\"0x0a\" slot\u003d\"0x00\" function\u003d\"0x1\"/\u003e"},{"line_number":1592,"context_line":"              \u003c/source\u003e"},{"line_number":1593,"context_line":"            \u003c/interface\u003e\"\"\", cfg.to_xml())"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff346bd7_2d285b32","line":1591,"range":{"start_line":1590,"start_character":52,"end_line":1591,"end_character":19},"updated":"2017-07-25 14:00:19.000000000","message":"this can be removed...","commit_id":"fd782ff1193f31e656f514e7b65e5f3d5c1c9336"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"b2a4523d22763999685a1acfc16896fd8f944130","unresolved":false,"context_lines":[{"line_number":1587,"context_line":"            \u003cinterface type\u003d\"hostdev\" managed\u003d\"yes\"\u003e"},{"line_number":1588,"context_line":"              \u003cmac address\u003d\"22:52:25:62:e2:aa\"/\u003e"},{"line_number":1589,"context_line":"              \u003csource\u003e"},{"line_number":1590,"context_line":"                \u003caddress type\u003d\"pci\" domain\u003d\"0x0000\" \"\"\" +"},{"line_number":1591,"context_line":"                \"\"\"bus\u003d\"0x0a\" slot\u003d\"0x00\" function\u003d\"0x1\"/\u003e"},{"line_number":1592,"context_line":"              \u003c/source\u003e"},{"line_number":1593,"context_line":"            \u003c/interface\u003e\"\"\", cfg.to_xml())"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff346bd7_6d2b03eb","line":1591,"range":{"start_line":1590,"start_character":52,"end_line":1591,"end_character":19},"in_reply_to":"ff346bd7_2d285b32","updated":"2017-07-25 14:07:57.000000000","message":"done","commit_id":"fd782ff1193f31e656f514e7b65e5f3d5c1c9336"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a0e519cdf603d9c7ea9ec22467a137e9614801e6","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            port_profile\u003dself.os_vif_ovs_prof,"},{"line_number":400,"context_line":"            network\u003dself.os_vif_network)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"        self.os_vif_hostdevice_e \u003d osv_objects.vif.VIFHostDevice("},{"line_number":403,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":404,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":405,"context_line":"            plugin\u003d\"linux_bridge\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_c9609904","line":402,"range":{"start_line":402,"start_character":31,"end_line":402,"end_character":32},"updated":"2017-07-25 18:24:05.000000000","message":"ethernet would be more clear","commit_id":"6ca286c9eb240da0f226cdda510d2330fa1ced0b"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"c3866197ee46df0e2c9d5bc5e12d54060dfb01cb","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            port_profile\u003dself.os_vif_ovs_prof,"},{"line_number":400,"context_line":"            network\u003dself.os_vif_network)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"        self.os_vif_hostdevice_e \u003d osv_objects.vif.VIFHostDevice("},{"line_number":403,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":404,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":405,"context_line":"            plugin\u003d\"linux_bridge\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_eca24b4b","line":402,"range":{"start_line":402,"start_character":31,"end_line":402,"end_character":32},"in_reply_to":"ff346bd7_c9609904","updated":"2017-07-25 19:13:17.000000000","message":"fixed","commit_id":"6ca286c9eb240da0f226cdda510d2330fa1ced0b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a0e519cdf603d9c7ea9ec22467a137e9614801e6","unresolved":false,"context_lines":[{"line_number":1569,"context_line":""},{"line_number":1570,"context_line":"    @mock.patch(\"nova.network.os_vif_util.nova_to_osvif_instance\")"},{"line_number":1571,"context_line":"    @mock.patch(\"nova.network.os_vif_util.nova_to_osvif_vif\")"},{"line_number":1572,"context_line":"    def test_config_os_vif_hostdevice_e(self, mock_convert_vif,"},{"line_number":1573,"context_line":"                                        mock_convert_inst):"},{"line_number":1574,"context_line":"        mock_convert_vif.return_value \u003d self.os_vif_hostdevice_e"},{"line_number":1575,"context_line":"        mock_convert_inst.return_value \u003d self.os_vif_inst_info"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_69552d1d","line":1572,"range":{"start_line":1572,"start_character":37,"end_line":1572,"end_character":39},"updated":"2017-07-25 18:24:05.000000000","message":"same","commit_id":"6ca286c9eb240da0f226cdda510d2330fa1ced0b"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"c3866197ee46df0e2c9d5bc5e12d54060dfb01cb","unresolved":false,"context_lines":[{"line_number":1569,"context_line":""},{"line_number":1570,"context_line":"    @mock.patch(\"nova.network.os_vif_util.nova_to_osvif_instance\")"},{"line_number":1571,"context_line":"    @mock.patch(\"nova.network.os_vif_util.nova_to_osvif_vif\")"},{"line_number":1572,"context_line":"    def test_config_os_vif_hostdevice_e(self, mock_convert_vif,"},{"line_number":1573,"context_line":"                                        mock_convert_inst):"},{"line_number":1574,"context_line":"        mock_convert_vif.return_value \u003d self.os_vif_hostdevice_e"},{"line_number":1575,"context_line":"        mock_convert_inst.return_value \u003d self.os_vif_inst_info"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_ac8443b2","line":1572,"range":{"start_line":1572,"start_character":37,"end_line":1572,"end_character":39},"in_reply_to":"ff346bd7_69552d1d","updated":"2017-07-25 19:13:17.000000000","message":"fixed","commit_id":"6ca286c9eb240da0f226cdda510d2330fa1ced0b"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"475f11cd8ab89a98b993b39bf247344e6df1bea0","unresolved":false,"context_lines":[{"line_number":1613,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict({})"},{"line_number":1614,"context_line":"        d \u003d vif.LibvirtGenericVIFDriver()"},{"line_number":1615,"context_line":""},{"line_number":1616,"context_line":"        self.assertRaises(exception.NovaException,"},{"line_number":1617,"context_line":"                          d.get_config, self.instance, self.vif_bridge,"},{"line_number":1618,"context_line":"                          image_meta, flavor, CONF.libvirt.virt_type,"},{"line_number":1619,"context_line":"                          hostimpl)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff346bd7_d5ccaa6b","line":1616,"range":{"start_line":1616,"start_character":26,"end_line":1616,"end_character":49},"updated":"2017-07-25 20:31:16.000000000","message":"you can assert on the InternalError exeception","commit_id":"a16f81910804a8d629a5ff08f2febdbefe4c617a"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"9488cc66f90a51fd8af9194149c506856e969a28","unresolved":false,"context_lines":[{"line_number":1613,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict({})"},{"line_number":1614,"context_line":"        d \u003d vif.LibvirtGenericVIFDriver()"},{"line_number":1615,"context_line":""},{"line_number":1616,"context_line":"        self.assertRaises(exception.NovaException,"},{"line_number":1617,"context_line":"                          d.get_config, self.instance, self.vif_bridge,"},{"line_number":1618,"context_line":"                          image_meta, flavor, CONF.libvirt.virt_type,"},{"line_number":1619,"context_line":"                          hostimpl)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff346bd7_7b5f2f0e","line":1616,"range":{"start_line":1616,"start_character":26,"end_line":1616,"end_character":49},"in_reply_to":"ff346bd7_d5ccaa6b","updated":"2017-07-25 21:16:16.000000000","message":"thanks, fixed","commit_id":"a16f81910804a8d629a5ff08f2febdbefe4c617a"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"18cd88d1e486e700657f16a73e5bafa799224dce","unresolved":false,"context_lines":[{"line_number":472,"context_line":"        # This sets the required fields for an \u003cinterface type\u003d\u0027hostdev\u0027\u003e"},{"line_number":473,"context_line":"        # section in a libvirt domain (by using a subset of hw_veb\u0027s options)."},{"line_number":474,"context_line":"        designer.set_vif_host_backend_hw_veb("},{"line_number":475,"context_line":"            conf, \u0027hostdev\u0027, vif.dev_address, None)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _set_config_VIFPortProfileOpenVSwitch(self, profile, conf):"},{"line_number":478,"context_line":"        conf.vporttype \u003d \"openvswitch\""}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_c272b949","line":475,"range":{"start_line":475,"start_character":18,"end_line":475,"end_character":27},"updated":"2017-07-25 14:53:51.000000000","message":"Shouldn\u0027t this code check the vif.dev_type to determine if it\u0027s ethernet or generic?\n\nhttps://github.com/openstack/os-vif/blob/master/os_vif/objects/vif.py#L153-L157","commit_id":"50df9e1bb3067d181672789dabf530c5fc1a41ef"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"7b9a7e66b6a7399a7f17e6fd43a46fcd7e7f3958","unresolved":false,"context_lines":[{"line_number":472,"context_line":"        # This sets the required fields for an \u003cinterface type\u003d\u0027hostdev\u0027\u003e"},{"line_number":473,"context_line":"        # section in a libvirt domain (by using a subset of hw_veb\u0027s options)."},{"line_number":474,"context_line":"        designer.set_vif_host_backend_hw_veb("},{"line_number":475,"context_line":"            conf, \u0027hostdev\u0027, vif.dev_address, None)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _set_config_VIFPortProfileOpenVSwitch(self, profile, conf):"},{"line_number":478,"context_line":"        conf.vporttype \u003d \"openvswitch\""}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_a646a220","line":475,"range":{"start_line":475,"start_character":18,"end_line":475,"end_character":27},"in_reply_to":"ff346bd7_c272b949","updated":"2017-07-25 17:35:37.000000000","message":"Good catch. Turns out supporting \"generic\" is slightly non-trivial, and not currently used in os-vif either. Added a note and throwing an exception if we ever reach here with dev_type\u003d\"generic\".","commit_id":"50df9e1bb3067d181672789dabf530c5fc1a41ef"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a0e519cdf603d9c7ea9ec22467a137e9614801e6","unresolved":false,"context_lines":[{"line_number":476,"context_line":"            # options)."},{"line_number":477,"context_line":"            designer.set_vif_host_backend_hw_veb("},{"line_number":478,"context_line":"                conf, \u0027hostdev\u0027, vif.dev_address, None)"},{"line_number":479,"context_line":"        else:"},{"line_number":480,"context_line":"            # TODO(jangutter): dev_type \u003d\u003d VIFHostDeviceDevType.GENERIC"},{"line_number":481,"context_line":"            # is currently unsupported under os-vif. The corresponding conf"},{"line_number":482,"context_line":"            # class would be: LibvirtConfigGuestHostdevPCI"},{"line_number":483,"context_line":"            # but os-vif only returns a LibvirtConfigGuestInterface object"},{"line_number":484,"context_line":"            raise exception.InternalError("},{"line_number":485,"context_line":"                _(\"Unsupported os-vif VIFHostDevice dev_type %(type)s\") %"},{"line_number":486,"context_line":"                {\u0027type\u0027: vif.dev_type})"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"    def _set_config_VIFPortProfileOpenVSwitch(self, profile, conf):"},{"line_number":489,"context_line":"        conf.vporttype \u003d \"openvswitch\""}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_2935e5f7","line":486,"range":{"start_line":479,"start_character":8,"end_line":486,"end_character":39},"updated":"2017-07-25 18:24:05.000000000","message":"Can you provide a unit test for this case please?","commit_id":"6ca286c9eb240da0f226cdda510d2330fa1ced0b"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"c3866197ee46df0e2c9d5bc5e12d54060dfb01cb","unresolved":false,"context_lines":[{"line_number":476,"context_line":"            # options)."},{"line_number":477,"context_line":"            designer.set_vif_host_backend_hw_veb("},{"line_number":478,"context_line":"                conf, \u0027hostdev\u0027, vif.dev_address, None)"},{"line_number":479,"context_line":"        else:"},{"line_number":480,"context_line":"            # TODO(jangutter): dev_type \u003d\u003d VIFHostDeviceDevType.GENERIC"},{"line_number":481,"context_line":"            # is currently unsupported under os-vif. The corresponding conf"},{"line_number":482,"context_line":"            # class would be: LibvirtConfigGuestHostdevPCI"},{"line_number":483,"context_line":"            # but os-vif only returns a LibvirtConfigGuestInterface object"},{"line_number":484,"context_line":"            raise exception.InternalError("},{"line_number":485,"context_line":"                _(\"Unsupported os-vif VIFHostDevice dev_type %(type)s\") %"},{"line_number":486,"context_line":"                {\u0027type\u0027: vif.dev_type})"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"    def _set_config_VIFPortProfileOpenVSwitch(self, profile, conf):"},{"line_number":489,"context_line":"        conf.vporttype \u003d \"openvswitch\""}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_acd683c2","line":486,"range":{"start_line":479,"start_character":8,"end_line":486,"end_character":39},"in_reply_to":"ff346bd7_2935e5f7","updated":"2017-07-25 19:13:17.000000000","message":"added","commit_id":"6ca286c9eb240da0f226cdda510d2330fa1ced0b"}]}
