)]}'
{"ironic/drivers/drac.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b93d6728e3453631403172ce7d186d78e23044c1","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    @property"},{"line_number":39,"context_line":"    def supported_management_interfaces(self):"},{"line_number":40,"context_line":"        \"\"\"List of supported management interfaces.\"\"\""},{"line_number":41,"context_line":"        return [management.DracManagement, management.DracWSManManagement,"},{"line_number":42,"context_line":"                management.DracRedfishManagement]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_062314aa","line":41,"range":{"start_line":41,"start_character":16,"end_line":41,"end_character":43},"updated":"2019-09-11 12:17:59.000000000","message":"If you want the new name to become the default, place it first (ditto below)","commit_id":"c14f9887b3c129cd1be58b4e1b9a8c4c6180ca9d"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"c3b1e5ce87d3c9ced09423b5a3ac8299b8a8f5f6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    @property"},{"line_number":39,"context_line":"    def supported_management_interfaces(self):"},{"line_number":40,"context_line":"        \"\"\"List of supported management interfaces.\"\"\""},{"line_number":41,"context_line":"        return [management.DracManagement, management.DracWSManManagement,"},{"line_number":42,"context_line":"                management.DracRedfishManagement]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_2066dc2b","line":41,"range":{"start_line":41,"start_character":16,"end_line":41,"end_character":43},"in_reply_to":"5faad753_062314aa","updated":"2019-09-16 12:01:04.000000000","message":"Done","commit_id":"c14f9887b3c129cd1be58b4e1b9a8c4c6180ca9d"}],"ironic/drivers/modules/drac/inspect.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b93d6728e3453631403172ce7d186d78e23044c1","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    the legacy \u0027idrac\u0027 entrypoint by emitting a log message and similar."},{"line_number":240,"context_line":"    \"\"\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_a631e0ee","line":242,"updated":"2019-09-11 12:17:59.000000000","message":"Do you want to deprecate the old names? Will probably help avoid confusion. You could issue a warning in __init__ (and add a deprecation release note).","commit_id":"c14f9887b3c129cd1be58b4e1b9a8c4c6180ca9d"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"c3b1e5ce87d3c9ced09423b5a3ac8299b8a8f5f6","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    the legacy \u0027idrac\u0027 entrypoint by emitting a log message and similar."},{"line_number":240,"context_line":"    \"\"\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_a062cc08","line":242,"in_reply_to":"5faad753_a631e0ee","updated":"2019-09-16 12:01:04.000000000","message":"Done","commit_id":"c14f9887b3c129cd1be58b4e1b9a8c4c6180ca9d"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"2c2d6a934075c7d00c113052c48008fd7d7fb56b","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    the legacy \u0027idrac\u0027 entrypoint by emitting a log message and similar."},{"line_number":240,"context_line":"    \"\"\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_7a5ffc0d","line":242,"in_reply_to":"5faad753_a631e0ee","updated":"2019-09-11 13:00:32.000000000","message":"From the commit message (and the specs) seems clear that the idrac entry points are being deprecated in favor of idrac-wsman, that should be reflected in the code.\nI agree with the approach described by Dmitry.","commit_id":"c14f9887b3c129cd1be58b4e1b9a8c4c6180ca9d"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"11873aa372d3b82d2fde970599d139272444fda4","unresolved":false,"context_lines":[{"line_number":35,"context_line":"METRICS \u003d metrics_utils.get_metrics_logger(__name__)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"class DracWSManInspect(base.InspectInterface):"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def get_properties(self):"},{"line_number":41,"context_line":"        \"\"\"Return the properties of the interface."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_a4d622f1","line":38,"range":{"start_line":38,"start_character":45,"end_line":38,"end_character":46},"updated":"2019-09-16 16:57:03.000000000","message":"Don\u0027t we still need drac_inspect.DracInspect as used in https://review.opendev.org/#/c/681046/4/ironic/drivers/drac.py file changes?","commit_id":"03471be1ede078a31ca8e5d993e2f2dff1c07f69"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"bd0c1a2c3189d1cdf3aca86a63dd57a16737fadf","unresolved":false,"context_lines":[{"line_number":35,"context_line":"METRICS \u003d metrics_utils.get_metrics_logger(__name__)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"class DracWSManInspect(base.InspectInterface):"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def get_properties(self):"},{"line_number":41,"context_line":"        \"\"\"Return the properties of the interface."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_be5f090d","line":38,"range":{"start_line":38,"start_character":45,"end_line":38,"end_character":46},"in_reply_to":"3fa7e38b_a4d622f1","updated":"2019-09-16 18:31:45.000000000","message":"Yes, we do. Its definition has moved to the end of this module. Please see https://review.opendev.org/#/c/681046/4/ironic/drivers/modules/drac/inspect.py@226","commit_id":"03471be1ede078a31ca8e5d993e2f2dff1c07f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"8094c53121a90f8902656d79b5d9515b6c6aa801","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def __init__(self):"},{"line_number":239,"context_line":"        LOG.warning(\"Inspect interface \u0027idrac\u0027 is deprecated and may be \""},{"line_number":240,"context_line":"                    \"removed in a future release. Use \u0027idrac-wsman\u0027 instead.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_589aadc5","line":240,"updated":"2019-09-16 16:57:58.000000000","message":"Are we going to see this warning every time a driver object is created? That could quickly add up to a lot of warnings.","commit_id":"03471be1ede078a31ca8e5d993e2f2dff1c07f69"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"bd0c1a2c3189d1cdf3aca86a63dd57a16737fadf","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def __init__(self):"},{"line_number":239,"context_line":"        LOG.warning(\"Inspect interface \u0027idrac\u0027 is deprecated and may be \""},{"line_number":240,"context_line":"                    \"removed in a future release. Use \u0027idrac-wsman\u0027 instead.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_be186975","line":240,"in_reply_to":"3fa7e38b_589aadc5","updated":"2019-09-16 18:31:45.000000000","message":"My understanding is that interface implementations are singletons. The conductor preloads and stores those which are enabled when it starts up. [1] Therefore, I expect a conductor emits this message only once.\n\n[1] https://review.opendev.org/#/c/188370/20/specs/approved/driver-composition-reform.rst@146","commit_id":"03471be1ede078a31ca8e5d993e2f2dff1c07f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b94324992ef0ee2220206b4f0172ed162b3bf08c","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def __init__(self):"},{"line_number":239,"context_line":"        LOG.warning(\"Inspect interface \u0027idrac\u0027 is deprecated and may be \""},{"line_number":240,"context_line":"                    \"removed in a future release. Use \u0027idrac-wsman\u0027 instead.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_96830a57","line":240,"in_reply_to":"3fa7e38b_be186975","updated":"2019-09-17 09:17:53.000000000","message":"Ok, thanks. I was going to check the dell CI logs, but I can\u0027t access them.","commit_id":"03471be1ede078a31ca8e5d993e2f2dff1c07f69"}],"ironic/drivers/modules/drac/management.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1fd75c232c2d5b95e47e8730869d5e131c6346db","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"class DracRedfishManagement(redfish_management.RedfishManagement):"},{"line_number":287,"context_line":"    pass"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5faad753_6dadee2f","line":286,"updated":"2019-09-12 09:41:21.000000000","message":"nit: here and elsewhere - docstring?","commit_id":"8fac0c5a2552570d69f9e65f729a19896f116244"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"c3b1e5ce87d3c9ced09423b5a3ac8299b8a8f5f6","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"class DracRedfishManagement(redfish_management.RedfishManagement):"},{"line_number":287,"context_line":"    pass"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5faad753_a3c896a5","line":286,"in_reply_to":"5faad753_6dadee2f","updated":"2019-09-16 12:01:04.000000000","message":"Done","commit_id":"8fac0c5a2552570d69f9e65f729a19896f116244"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1fd75c232c2d5b95e47e8730869d5e131c6346db","unresolved":false,"context_lines":[{"line_number":437,"context_line":"    the legacy \u0027idrac\u0027 entrypoint by emitting a log message and similar."},{"line_number":438,"context_line":"    \"\"\""},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"5faad753_6d840eb2","line":440,"updated":"2019-09-12 09:41:21.000000000","message":"nit: here and elsewhere, `pass` is not necessary","commit_id":"8fac0c5a2552570d69f9e65f729a19896f116244"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"c3b1e5ce87d3c9ced09423b5a3ac8299b8a8f5f6","unresolved":false,"context_lines":[{"line_number":437,"context_line":"    the legacy \u0027idrac\u0027 entrypoint by emitting a log message and similar."},{"line_number":438,"context_line":"    \"\"\""},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"5faad753_83679ab7","line":440,"in_reply_to":"5faad753_6d840eb2","updated":"2019-09-16 12:01:04.000000000","message":"I believe it is necessary. All of my experimentation without including \u0027pass\u0027 failed to produce working code. And the documentation for an \"empty class\" supports that finding. [1]\n\n[1] https://docs.python.org/3/tutorial/classes.html#odds-and-ends","commit_id":"8fac0c5a2552570d69f9e65f729a19896f116244"}],"ironic/drivers/modules/drac/power.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b93d6728e3453631403172ce7d186d78e23044c1","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"class DracRedfishPower(redfish_power.RedfishPower):"},{"line_number":119,"context_line":"    pass"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"class DracWSManPower(base.PowerInterface):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_861dc467","line":119,"range":{"start_line":118,"start_character":0,"end_line":119,"end_character":8},"updated":"2019-09-11 12:17:59.000000000","message":"Do you actually anticipate iDrac-specific additions to power management? If not, you can just reuse RedfishPower.","commit_id":"c14f9887b3c129cd1be58b4e1b9a8c4c6180ca9d"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"c3b1e5ce87d3c9ced09423b5a3ac8299b8a8f5f6","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"class DracRedfishPower(redfish_power.RedfishPower):"},{"line_number":119,"context_line":"    pass"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"class DracWSManPower(base.PowerInterface):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_03f5eaec","line":119,"range":{"start_line":118,"start_character":0,"end_line":119,"end_character":8},"in_reply_to":"5faad753_861dc467","updated":"2019-09-16 12:01:04.000000000","message":"Yes, it is a possibility. If that occurs and RedfishPower were reused for the \u0027idrac-redfish\u0027 entrypoint, it could cause a breaking change. [1]\n\n[1] https://review.opendev.org/#/c/665576/8/specs/approved/idrac-support-of-redfish-interfaces.rst@215","commit_id":"c14f9887b3c129cd1be58b4e1b9a8c4c6180ca9d"}]}
