)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":19991,"name":"Arne Recknagel","email":"arne.recknagel@hotmail.com","username":"arecknag"},"change_message_id":"de25924a325a0e03db61f74e08272bf3bd2b6cbb","unresolved":false,"context_lines":[{"line_number":16989,"context_line":"        libvirt_volume_drivers_copy.append("},{"line_number":16990,"context_line":"            \u0027invalid\u003dnova.tests.unit.virt.libvirt.test_driver.\u0027"},{"line_number":16991,"context_line":"            \u0027FakeInvalidVolumeDriver\u0027"},{"line_number":16992,"context_line":"        )"},{"line_number":16993,"context_line":"        with mock.patch.object(libvirt_driver, \u0027libvirt_volume_drivers\u0027,"},{"line_number":16994,"context_line":"                               libvirt_volume_drivers_copy):"},{"line_number":16995,"context_line":"            drvr \u003d libvirt_driver.LibvirtDriver("}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_fdab36d4","line":16992,"updated":"2016-11-09 08:08:02.000000000","message":"The assert only tests for the absence of the fake driver, so is there a reason to include the whole driver list in the test?","commit_id":"e9fe202aeae261f57493a36e8798b459b39b1b5c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fc4a810935da46da0f4638e2702852bf988eb22d","unresolved":false,"context_lines":[{"line_number":16989,"context_line":"        libvirt_volume_drivers_copy.append("},{"line_number":16990,"context_line":"            \u0027invalid\u003dnova.tests.unit.virt.libvirt.test_driver.\u0027"},{"line_number":16991,"context_line":"            \u0027FakeInvalidVolumeDriver\u0027"},{"line_number":16992,"context_line":"        )"},{"line_number":16993,"context_line":"        with mock.patch.object(libvirt_driver, \u0027libvirt_volume_drivers\u0027,"},{"line_number":16994,"context_line":"                               libvirt_volume_drivers_copy):"},{"line_number":16995,"context_line":"            drvr \u003d libvirt_driver.LibvirtDriver("}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_ad4a5924","line":16992,"in_reply_to":"9a629dbe_fdab36d4","updated":"2016-11-09 16:05:35.000000000","message":"I wanted to avoid any issue with globally mocking that list since we run tests concurrently. It might not be an issue, but I wanted to be safe.","commit_id":"e9fe202aeae261f57493a36e8798b459b39b1b5c"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f89ba760b4e7c0f1ef233b80a3df84e0609d526b","unresolved":false,"context_lines":[{"line_number":413,"context_line":"            try:"},{"line_number":414,"context_line":"                driver_registry[driver_type] \u003d driver_class(self._host)"},{"line_number":415,"context_line":"            except brick_exception.InvalidConnectorProtocol as e:"},{"line_number":416,"context_line":"                LOG.debug(\u0027Unable to load volume driver %s. Error: %s\u0027,"},{"line_number":417,"context_line":"                          driver, six.text_type(e))"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"        return driver_registry"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_45627bae","line":416,"updated":"2016-11-09 14:28:07.000000000","message":"Not convinced we should just log a debug here, that is going to happen only when the service is starting, a warning would be more helpful tor the operator to handle the issue.","commit_id":"e9fe202aeae261f57493a36e8798b459b39b1b5c"},{"author":{"_account_id":19991,"name":"Arne Recknagel","email":"arne.recknagel@hotmail.com","username":"arecknag"},"change_message_id":"5f754cad8c381a95cfb4bf0017fa143964f7aa21","unresolved":false,"context_lines":[{"line_number":413,"context_line":"            try:"},{"line_number":414,"context_line":"                driver_registry[driver_type] \u003d driver_class(self._host)"},{"line_number":415,"context_line":"            except brick_exception.InvalidConnectorProtocol as e:"},{"line_number":416,"context_line":"                LOG.debug(\u0027Unable to load volume driver %s. Error: %s\u0027,"},{"line_number":417,"context_line":"                          driver, six.text_type(e))"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"        return driver_registry"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_4030a99e","line":416,"in_reply_to":"9a629dbe_25902743","updated":"2016-11-09 14:51:12.000000000","message":"I\u0027m inclined to agree with Markus. The message would be displayed for any unsupported drivers, and at the very least for the s390 and ISER combination. A warning implies something is wrong, which does not really apply in this case.","commit_id":"e9fe202aeae261f57493a36e8798b459b39b1b5c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"e2beb76592f588e649af1141ccc2ddd1322d7fda","unresolved":false,"context_lines":[{"line_number":413,"context_line":"            try:"},{"line_number":414,"context_line":"                driver_registry[driver_type] \u003d driver_class(self._host)"},{"line_number":415,"context_line":"            except brick_exception.InvalidConnectorProtocol as e:"},{"line_number":416,"context_line":"                LOG.debug(\u0027Unable to load volume driver %s. Error: %s\u0027,"},{"line_number":417,"context_line":"                          driver, six.text_type(e))"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"        return driver_registry"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_ea4997b8","line":416,"in_reply_to":"9a629dbe_4030a99e","updated":"2016-11-09 15:53:13.000000000","message":"Yes it\u0027s true, just wondering how operator is supposed to understand the \u0027Error\u0027 in the message...","commit_id":"e9fe202aeae261f57493a36e8798b459b39b1b5c"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"aac2c5a7b12741231ea309ec9e793b91ed23196d","unresolved":false,"context_lines":[{"line_number":413,"context_line":"            try:"},{"line_number":414,"context_line":"                driver_registry[driver_type] \u003d driver_class(self._host)"},{"line_number":415,"context_line":"            except brick_exception.InvalidConnectorProtocol as e:"},{"line_number":416,"context_line":"                LOG.debug(\u0027Unable to load volume driver %s. Error: %s\u0027,"},{"line_number":417,"context_line":"                          driver, six.text_type(e))"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"        return driver_registry"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_25902743","line":416,"in_reply_to":"9a629dbe_45627bae","updated":"2016-11-09 14:34:01.000000000","message":"@sahid: I\u0027m not sure if the ops can do anything here. If there are not, we would log warnings without any chance to resolve them. Nova provides a list of wanted drivers and os-brick delivers (or doesn\u0027t). Are there any ways the host of the nova-compute service can be changed?","commit_id":"e9fe202aeae261f57493a36e8798b459b39b1b5c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b7273a6c06860f1f11c330a7d71251f9df728b75","unresolved":false,"context_lines":[{"line_number":413,"context_line":"            try:"},{"line_number":414,"context_line":"                driver_registry[driver_type] \u003d driver_class(self._host)"},{"line_number":415,"context_line":"            except brick_exception.InvalidConnectorProtocol as e:"},{"line_number":416,"context_line":"                LOG.debug(\u0027Unable to load volume driver %s. Error: %s\u0027,"},{"line_number":417,"context_line":"                          driver, six.text_type(e))"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"        return driver_registry"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_50b23207","line":416,"in_reply_to":"9a629dbe_8de915e9","updated":"2016-11-09 16:25:23.000000000","message":"Yes the message from osbrick is not so understable for an operator in context of Nova. Matt I would say your message is the one we need, if you can update it that would be nice.","commit_id":"e9fe202aeae261f57493a36e8798b459b39b1b5c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fc4a810935da46da0f4638e2702852bf988eb22d","unresolved":false,"context_lines":[{"line_number":413,"context_line":"            try:"},{"line_number":414,"context_line":"                driver_registry[driver_type] \u003d driver_class(self._host)"},{"line_number":415,"context_line":"            except brick_exception.InvalidConnectorProtocol as e:"},{"line_number":416,"context_line":"                LOG.debug(\u0027Unable to load volume driver %s. Error: %s\u0027,"},{"line_number":417,"context_line":"                          driver, six.text_type(e))"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"        return driver_registry"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_8de915e9","line":416,"in_reply_to":"9a629dbe_ea4997b8","updated":"2016-11-09 16:05:35.000000000","message":"It\u0027s a fair point about the error message being in the debug log. This is the error you\u0027d get from os-brick:\n\nhttps://review.openstack.org/#/c/393941/1/os_brick/initiator/connector.py@283\n\nSo it\u0027s an invalid combination, but it\u0027s hard-coded in nova and not something the operator can control. So I definitely don\u0027t think it\u0027s a warning. I\u0027m open to opinions on whether or not we should log the error from os-brick.\n\nRather than log the error from os-brick, we could say something like:\n\n\"Unable to load volume driver foo. It is not supported on this host.\"","commit_id":"e9fe202aeae261f57493a36e8798b459b39b1b5c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"783ce9f0a393edb32542a4ea6b9b4a77c8723608","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        self.vif_driver \u003d libvirt_vif.LibvirtGenericVIFDriver()"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        self.volume_drivers \u003d self._get_volume_drivers()"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        self._disk_cachemode \u003d None"},{"line_number":360,"context_line":"        self.image_cache_manager \u003d imagecache.ImageCacheManager()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a77a97e_8d36e7e5","line":357,"updated":"2016-11-21 14:02:29.000000000","message":"Can you add a TODO note here to explain the next step which is what Daniel proposed ?","commit_id":"cdfdb759b4b4c669a377dc6e8cd1c02253f831de"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"edd951693485d12d58dbd65393591afae2dea0ad","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        self.vif_driver \u003d libvirt_vif.LibvirtGenericVIFDriver()"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        self.volume_drivers \u003d self._get_volume_drivers()"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        self._disk_cachemode \u003d None"},{"line_number":360,"context_line":"        self.image_cache_manager \u003d imagecache.ImageCacheManager()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a77a97e_4151e50d","line":357,"in_reply_to":"7a77a97e_8d36e7e5","updated":"2016-11-21 22:23:16.000000000","message":"Sure I\u0027ll add a TODO.","commit_id":"cdfdb759b4b4c669a377dc6e8cd1c02253f831de"}]}
