)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e74bad1c4f3169f603def7d1bfb267def02bdfce","unresolved":false,"context_lines":[{"line_number":9943,"context_line":"        drvr._detach_sriov_ports(self.context, instance, guest)"},{"line_number":9944,"context_line":"        mock_get_image_metadata.assert_called_once_with("},{"line_number":9945,"context_line":"            instance.system_metadata)"},{"line_number":9946,"context_line":"        self.assertTrue(mock_detachDeviceFlags.called)"},{"line_number":9947,"context_line":""},{"line_number":9948,"context_line":"    def test_resume(self):"},{"line_number":9949,"context_line":"        dummyxml \u003d (\"\u003cdomain type\u003d\u0027kvm\u0027\u003e\u003cname\u003einstance-0000000a\u003c/name\u003e\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_c037d8ae","line":9946,"range":{"start_line":9946,"start_character":24,"end_line":9946,"end_character":53},"updated":"2016-02-10 14:11:15.000000000","message":"So this test does not actually check that we called detach the right way. This surely needs a separate test I would say.","commit_id":"ade9d648d6e6fb700683f9af7da6e392fe2e86ac"},{"author":{"_account_id":15427,"name":"David Edery","email":"david.edery@gmail.com","username":"dedery"},"change_message_id":"ec42387eba06656b9b8c323b55d0e14a233d32e4","unresolved":false,"context_lines":[{"line_number":9943,"context_line":"        drvr._detach_sriov_ports(self.context, instance, guest)"},{"line_number":9944,"context_line":"        mock_get_image_metadata.assert_called_once_with("},{"line_number":9945,"context_line":"            instance.system_metadata)"},{"line_number":9946,"context_line":"        self.assertTrue(mock_detachDeviceFlags.called)"},{"line_number":9947,"context_line":""},{"line_number":9948,"context_line":"    def test_resume(self):"},{"line_number":9949,"context_line":"        dummyxml \u003d (\"\u003cdomain type\u003d\u0027kvm\u0027\u003e\u003cname\u003einstance-0000000a\u003c/name\u003e\""}],"source_content_type":"text/x-python","patch_set":6,"id":"dae33548_8dc7b211","line":9946,"range":{"start_line":9946,"start_character":24,"end_line":9946,"end_character":53},"in_reply_to":"3a57f1b5_c037d8ae","updated":"2016-02-15 21:36:25.000000000","message":"Done","commit_id":"ade9d648d6e6fb700683f9af7da6e392fe2e86ac"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6d2b5e2d0e8e4e087bc5ba5451cc5096eb513a28","unresolved":false,"context_lines":[{"line_number":3151,"context_line":"                    sriov_dev \u003d dict(instance_uuid\u003dinstance.uuid,"},{"line_number":3152,"context_line":"                                     address\u003dcfg.source_dev)"},{"line_number":3153,"context_line":"                    self._detach_pci_devices(guest,"},{"line_number":3154,"context_line":"                                             [objects.PciDevice(**sriov_dev)])"},{"line_number":3155,"context_line":""},{"line_number":3156,"context_line":"    def _set_host_enabled(self, enabled,"},{"line_number":3157,"context_line":"                          disable_reason\u003dDISABLE_REASON_UNDEFINED):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba63e191_643163a2","line":3154,"range":{"start_line":3154,"start_character":46,"end_line":3154,"end_character":76},"updated":"2016-01-19 10:44:25.000000000","message":"We should really use pci.manager.get_instance_pci_devs instead of hacking in the object like this.","commit_id":"a90f4a743ef7e4bd829cb1f01c5b9f6ae49d4b24"},{"author":{"_account_id":15427,"name":"David Edery","email":"david.edery@gmail.com","username":"dedery"},"change_message_id":"4df0e54cc697d770b82585b1b3a82c45f73940a4","unresolved":false,"context_lines":[{"line_number":3151,"context_line":"                    sriov_dev \u003d dict(instance_uuid\u003dinstance.uuid,"},{"line_number":3152,"context_line":"                                     address\u003dcfg.source_dev)"},{"line_number":3153,"context_line":"                    self._detach_pci_devices(guest,"},{"line_number":3154,"context_line":"                                             [objects.PciDevice(**sriov_dev)])"},{"line_number":3155,"context_line":""},{"line_number":3156,"context_line":"    def _set_host_enabled(self, enabled,"},{"line_number":3157,"context_line":"                          disable_reason\u003dDISABLE_REASON_UNDEFINED):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba63e191_5155d44d","line":3154,"range":{"start_line":3154,"start_character":46,"end_line":3154,"end_character":76},"in_reply_to":"ba63e191_643163a2","updated":"2016-01-19 22:51:32.000000000","message":"Done","commit_id":"a90f4a743ef7e4bd829cb1f01c5b9f6ae49d4b24"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e74bad1c4f3169f603def7d1bfb267def02bdfce","unresolved":false,"context_lines":[{"line_number":3281,"context_line":""},{"line_number":3282,"context_line":"        if self._has_sriov_port(network_info):"},{"line_number":3283,"context_line":"            for vif in network_info:"},{"line_number":3284,"context_line":"                if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":3285,"context_line":"                    cfg \u003d self.vif_driver.get_config(instance,"},{"line_number":3286,"context_line":"                                                     vif,"},{"line_number":3287,"context_line":"                                                     instance.image_meta,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_1a49df5f","line":3284,"range":{"start_line":3284,"start_character":53,"end_line":3284,"end_character":69},"updated":"2016-02-10 14:11:15.000000000","message":"hmmm so this might be a bug... I imagine we want to include macvtap in this as well - there is a convenient SRIOV_VNIC_TYPES (or something similar) we should use here maybe?\n\nNot related though","commit_id":"ade9d648d6e6fb700683f9af7da6e392fe2e86ac"},{"author":{"_account_id":15427,"name":"David Edery","email":"david.edery@gmail.com","username":"dedery"},"change_message_id":"ec42387eba06656b9b8c323b55d0e14a233d32e4","unresolved":false,"context_lines":[{"line_number":3281,"context_line":""},{"line_number":3282,"context_line":"        if self._has_sriov_port(network_info):"},{"line_number":3283,"context_line":"            for vif in network_info:"},{"line_number":3284,"context_line":"                if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":3285,"context_line":"                    cfg \u003d self.vif_driver.get_config(instance,"},{"line_number":3286,"context_line":"                                                     vif,"},{"line_number":3287,"context_line":"                                                     instance.image_meta,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dae33548_8d7972ff","line":3284,"range":{"start_line":3284,"start_character":53,"end_line":3284,"end_character":69},"in_reply_to":"3a57f1b5_1a49df5f","updated":"2016-02-15 21:36:25.000000000","message":"Done","commit_id":"ade9d648d6e6fb700683f9af7da6e392fe2e86ac"},{"author":{"_account_id":15427,"name":"David Edery","email":"david.edery@gmail.com","username":"dedery"},"change_message_id":"ec42387eba06656b9b8c323b55d0e14a233d32e4","unresolved":false,"context_lines":[{"line_number":3318,"context_line":"                                           CONF.libvirt.virt_type,"},{"line_number":3319,"context_line":"                                           self._host).source_dev"},{"line_number":3320,"context_line":"                for vif in network_info"},{"line_number":3321,"context_line":"                if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT"},{"line_number":3322,"context_line":"            ]"},{"line_number":3323,"context_line":""},{"line_number":3324,"context_line":"            # use detach_pci_devices to avoid failure in case of"}],"source_content_type":"text/x-python","patch_set":6,"id":"dae33548_2def86e9","line":3321,"range":{"start_line":3321,"start_character":53,"end_line":3321,"end_character":69},"updated":"2016-02-15 21:36:25.000000000","message":"Same as above.\nThe relevant list is network_model.VNIC_TYPES_SRIOV","commit_id":"ade9d648d6e6fb700683f9af7da6e392fe2e86ac"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e74bad1c4f3169f603def7d1bfb267def02bdfce","unresolved":false,"context_lines":[{"line_number":3326,"context_line":"            # (protection use-case, ports are on different physical"},{"line_number":3327,"context_line":"            # interfaces)"},{"line_number":3328,"context_line":"            pci_devs \u003d pci_manager.get_instance_pci_devs(instance, \u0027all\u0027)"},{"line_number":3329,"context_line":"            sriov_devs \u003d filter(lambda pci_dev:"},{"line_number":3330,"context_line":"                                pci_dev.address in sriov_pci_addresses,"},{"line_number":3331,"context_line":"                                pci_devs)"},{"line_number":3332,"context_line":"            self._detach_pci_devices(guest, sriov_devs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_dd6821f8","line":3329,"range":{"start_line":3329,"start_character":25,"end_line":3329,"end_character":32},"updated":"2016-02-10 14:11:15.000000000","message":"stupid style nit - list comprehension is slightly nicer.","commit_id":"ade9d648d6e6fb700683f9af7da6e392fe2e86ac"},{"author":{"_account_id":15427,"name":"David Edery","email":"david.edery@gmail.com","username":"dedery"},"change_message_id":"ec42387eba06656b9b8c323b55d0e14a233d32e4","unresolved":false,"context_lines":[{"line_number":3326,"context_line":"            # (protection use-case, ports are on different physical"},{"line_number":3327,"context_line":"            # interfaces)"},{"line_number":3328,"context_line":"            pci_devs \u003d pci_manager.get_instance_pci_devs(instance, \u0027all\u0027)"},{"line_number":3329,"context_line":"            sriov_devs \u003d filter(lambda pci_dev:"},{"line_number":3330,"context_line":"                                pci_dev.address in sriov_pci_addresses,"},{"line_number":3331,"context_line":"                                pci_devs)"},{"line_number":3332,"context_line":"            self._detach_pci_devices(guest, sriov_devs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dae33548_2d75c6f8","line":3329,"range":{"start_line":3329,"start_character":25,"end_line":3329,"end_character":32},"in_reply_to":"3a57f1b5_dd6821f8","updated":"2016-02-15 21:36:25.000000000","message":"Done","commit_id":"ade9d648d6e6fb700683f9af7da6e392fe2e86ac"}]}
