)]}'
{"ironic/common/driver_factory.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dd5314f512da6cae4a69db7aef34a5dc3372f4ab","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"def _warn_if_unsupported(ext):"},{"line_number":215,"context_line":"    if not ext.obj.supported:"},{"line_number":216,"context_line":"        LOG.warning(_LW(\u0027Driver %s is unsupported and deprecated. This driver \u0027"},{"line_number":217,"context_line":"                        \u0027may be removed in a future release.\u0027), ext.name)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_2a76fed6","line":216,"updated":"2016-09-07 14:04:07.000000000","message":"s/%s/\"%s\"/\n\nHow about \u0027Driver .. is UNSUPPORTED. It has been deprecated and may be removed in a future release.\u0027","commit_id":"e87d1664895ae579451cf1fd738048fcf8424780"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f4ceee22dca9935d88849bda3a7fd8a75b9d7fcc","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"def _warn_if_unsupported(ext):"},{"line_number":215,"context_line":"    if not ext.obj.supported:"},{"line_number":216,"context_line":"        LOG.warning(_LW(\u0027Driver \"%s\" is UNSUPPORTED. It has been deprecated \u0027"},{"line_number":217,"context_line":"                        \u0027and may be removed in a future release.\u0027), ext.name)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_0885c205","line":216,"updated":"2016-09-07 14:24:23.000000000","message":"Sorry, I didn\u0027t notice this before. Do we want to distinguish \u0027driver\u0027 from \u0027interface\u0027?","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"f879d8196a1587db45e0fa7dd41879fff234919b","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"def _warn_if_unsupported(ext):"},{"line_number":215,"context_line":"    if not ext.obj.supported:"},{"line_number":216,"context_line":"        LOG.warning(_LW(\u0027Driver \"%s\" is UNSUPPORTED. It has been deprecated \u0027"},{"line_number":217,"context_line":"                        \u0027and may be removed in a future release.\u0027), ext.name)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_5ee5c035","line":216,"in_reply_to":"9a89bdaa_0885c205","updated":"2016-09-07 14:46:32.000000000","message":"Let\u0027s leave it until driver composition is done (like Dmitry said in IRC). If at that point we want to distinguish, we can do it then.","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"}],"ironic/drivers/base.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"9e6f6059a1d3c94b6fb0027e23ea5492d8c8c282","unresolved":false,"context_lines":[{"line_number":169,"context_line":"class BaseInterface(object):"},{"line_number":170,"context_line":"    \"\"\"A base interface implementing common functions for Driver Interfaces.\"\"\""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    supported \u003d True"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    interface_type \u003d \u0027base\u0027"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_b8c36d88","line":172,"updated":"2016-09-06 22:57:37.000000000","message":"Maybe add a comment:\n\n # Indicates if a driver is supported. Drivers which are\n # in the process of being deprecated will be set to False\n\nOr something like that.","commit_id":"414b00baa3f200b1f5f691ebb4d5be36bbd53d4f"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"502e5cbbf4455d89bacd94abeb3f9efade2062d2","unresolved":false,"context_lines":[{"line_number":169,"context_line":"class BaseInterface(object):"},{"line_number":170,"context_line":"    \"\"\"A base interface implementing common functions for Driver Interfaces.\"\"\""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    supported \u003d True"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    interface_type \u003d \u0027base\u0027"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_cd0dbee9","line":172,"in_reply_to":"9a89bdaa_7b51cd35","updated":"2016-09-07 09:37:05.000000000","message":"Done","commit_id":"414b00baa3f200b1f5f691ebb4d5be36bbd53d4f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6d7e7ca99320528c5307ee59fab8e7500b95e1b2","unresolved":false,"context_lines":[{"line_number":169,"context_line":"class BaseInterface(object):"},{"line_number":170,"context_line":"    \"\"\"A base interface implementing common functions for Driver Interfaces.\"\"\""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    supported \u003d True"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    interface_type \u003d \u0027base\u0027"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_7b51cd35","line":172,"in_reply_to":"9a89bdaa_b8c36d88","updated":"2016-09-07 09:05:38.000000000","message":"+1","commit_id":"414b00baa3f200b1f5f691ebb4d5be36bbd53d4f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f4ceee22dca9935d88849bda3a7fd8a75b9d7fcc","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    \"\"\"Indicates if a driver is supported."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    Drivers which are untested in first- or third-party CI, or in the process"},{"line_number":55,"context_line":"    of being deprecated, will be set to False."},{"line_number":56,"context_line":"    \"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    core_interfaces \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_c8c03a53","line":55,"updated":"2016-09-07 14:24:23.000000000","message":"This is a bit awkward.  Drivers will be unsupported, \u0027supported will be set to False\u0027, not the driver.\n\nMaybe \u0027This will be set to False for drivers which...\u0027","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"f879d8196a1587db45e0fa7dd41879fff234919b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    \"\"\"Indicates if a driver is supported."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    Drivers which are untested in first- or third-party CI, or in the process"},{"line_number":55,"context_line":"    of being deprecated, will be set to False."},{"line_number":56,"context_line":"    \"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    core_interfaces \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_dec71096","line":55,"in_reply_to":"9a89bdaa_23438943","updated":"2016-09-07 14:46:32.000000000","message":"Done","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"c22cf7c9dedc2a200ceb731ac15785b9f49eca42","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    \"\"\"Indicates if a driver is supported."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    Drivers which are untested in first- or third-party CI, or in the process"},{"line_number":55,"context_line":"    of being deprecated, will be set to False."},{"line_number":56,"context_line":"    \"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    core_interfaces \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_23438943","line":55,"in_reply_to":"9a89bdaa_c8c03a53","updated":"2016-09-07 14:29:55.000000000","message":"Actually, might be better as \u0027This is set to False...\u0027 (not \u0027will be\u0027). Or maybe it doesn\u0027t matter. blah blah.","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f8cde885085ca55259903ffbe39508457568ee9e","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    \"\"\"A base interface implementing common functions for Driver Interfaces.\"\"\""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    supported \u003d True"},{"line_number":178,"context_line":"    \"\"\"Indicates if a driver is supported."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    Drivers which are untested in first- or third-party CI, or in the process"},{"line_number":181,"context_line":"    of being deprecated, will be set to False."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_4876ead7","line":178,"updated":"2016-09-07 14:28:10.000000000","message":"maybe s/driver/interface/","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"f879d8196a1587db45e0fa7dd41879fff234919b","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    \"\"\"A base interface implementing common functions for Driver Interfaces.\"\"\""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    supported \u003d True"},{"line_number":178,"context_line":"    \"\"\"Indicates if a driver is supported."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    Drivers which are untested in first- or third-party CI, or in the process"},{"line_number":181,"context_line":"    of being deprecated, will be set to False."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_feccd4bc","line":178,"in_reply_to":"9a89bdaa_4876ead7","updated":"2016-09-07 14:46:32.000000000","message":"Done","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f8cde885085ca55259903ffbe39508457568ee9e","unresolved":false,"context_lines":[{"line_number":177,"context_line":"    supported \u003d True"},{"line_number":178,"context_line":"    \"\"\"Indicates if a driver is supported."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    Drivers which are untested in first- or third-party CI, or in the process"},{"line_number":181,"context_line":"    of being deprecated, will be set to False."},{"line_number":182,"context_line":"    \"\"\""},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_e8389ef0","line":180,"updated":"2016-09-07 14:28:10.000000000","message":"s/Drivers/Interfaces/..\n\nsimilar comment as above for drivers.","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"f879d8196a1587db45e0fa7dd41879fff234919b","unresolved":false,"context_lines":[{"line_number":177,"context_line":"    supported \u003d True"},{"line_number":178,"context_line":"    \"\"\"Indicates if a driver is supported."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    Drivers which are untested in first- or third-party CI, or in the process"},{"line_number":181,"context_line":"    of being deprecated, will be set to False."},{"line_number":182,"context_line":"    \"\"\""},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_3ec39c8a","line":180,"in_reply_to":"9a89bdaa_e8389ef0","updated":"2016-09-07 14:46:32.000000000","message":"Done","commit_id":"4263664990d5f9fca569211f74e2accd64f43949"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"37c534d79709e2f921908fa3d09b41804f9e296f","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    \"\"\"Indicates if a driver is supported."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    This will be set to False for drivers which are untested in first- or"},{"line_number":55,"context_line":"    third-party CI, or in the proces of being deprecated."},{"line_number":56,"context_line":"    \"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    core_interfaces \u003d []"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_f206c0cc","line":55,"updated":"2016-09-07 17:03:11.000000000","message":"nit s/proces/process/","commit_id":"0f0743686134898b8a4e6025dc2a1e981fc59fee"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"37c534d79709e2f921908fa3d09b41804f9e296f","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    \"\"\"Indicates if an interface is supported."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    This will be set to False for interfaces which are untested in first- or"},{"line_number":181,"context_line":"    third-party CI, or in the proces of being deprecated."},{"line_number":182,"context_line":"    \"\"\""},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    interface_type \u003d \u0027base\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_72fb90c1","line":181,"updated":"2016-09-07 17:03:11.000000000","message":"s/proces/process/","commit_id":"0f0743686134898b8a4e6025dc2a1e981fc59fee"}],"ironic/tests/unit/common/test_driver_factory.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"589b2bdffbca99e29a499e66871eacf3731762b5","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        driver_factory.DriverFactory._init_extension_manager()"},{"line_number":82,"context_line":"        self.assertEqual("},{"line_number":83,"context_line":"            [\u0027fake\u0027], driver_factory.DriverFactory._extension_manager.names())"},{"line_number":84,"context_line":"        self.assertTrue(mock_log.called)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"class GetDriverTestCase(base.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_58aee181","line":84,"updated":"2016-09-06 23:00:57.000000000","message":"Seems like there should also be a check for a supported driver. That the log is not called.\n\nUnless I\u0027m missing it.","commit_id":"414b00baa3f200b1f5f691ebb4d5be36bbd53d4f"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"502e5cbbf4455d89bacd94abeb3f9efade2062d2","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        driver_factory.DriverFactory._init_extension_manager()"},{"line_number":82,"context_line":"        self.assertEqual("},{"line_number":83,"context_line":"            [\u0027fake\u0027], driver_factory.DriverFactory._extension_manager.names())"},{"line_number":84,"context_line":"        self.assertTrue(mock_log.called)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"class GetDriverTestCase(base.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_8d2e5641","line":84,"in_reply_to":"9a89bdaa_58aee181","updated":"2016-09-07 09:37:05.000000000","message":"Well, this actually ensures that _warn_if_unsupported is called, the check on the supported attribute is done in there. I\u0027ll add tests for that method, though.","commit_id":"414b00baa3f200b1f5f691ebb4d5be36bbd53d4f"}]}
