)]}'
{"ironic/drivers/modules/fake.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"94badc9e9fb52ccfa16a3797500a02ecd8e3c3f1","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    def validate(self, task):"},{"line_number":197,"context_line":"        # TODO(dtantsur): remove when snmp hardware type no longer supports the"},{"line_number":198,"context_line":"        # fake management."},{"line_number":199,"context_line":"        if task.node.driver \u003d\u003d \u0027snmp\u0027:"},{"line_number":200,"context_line":"            LOG.warning(\u0027Using \"fake\" management with \"snmp\" hardware type \u0027"},{"line_number":201,"context_line":"                        \u0027is deprecated, use \"noop\" instead for node %s\u0027,"},{"line_number":202,"context_line":"                        task.node.uuid)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_7e6393dd","line":199,"range":{"start_line":199,"start_character":8,"end_line":199,"end_character":38},"updated":"2018-08-07 13:46:11.000000000","message":"Oh, this feels almost like the tail is wagging the dog. ;-)\n\nAn alternative could be to subclass `FakeManagement` in `snmp.py` and override `validate` there. This would keep legacy code all together at one place (which is easy to spot) and won\u0027t pollute the more abstract layer e.g. `FakeManagement` with implementation specifics.","commit_id":"20d089c378b1b3e9c1306176bfab6b6d2a246f29"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"bb5cbc3495fd5d5d2f71aa6c279dd9ce0a7048a5","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    def validate(self, task):"},{"line_number":197,"context_line":"        # TODO(dtantsur): remove when snmp hardware type no longer supports the"},{"line_number":198,"context_line":"        # fake management."},{"line_number":199,"context_line":"        if task.node.driver \u003d\u003d \u0027snmp\u0027:"},{"line_number":200,"context_line":"            LOG.warning(\u0027Using \"fake\" management with \"snmp\" hardware type \u0027"},{"line_number":201,"context_line":"                        \u0027is deprecated, use \"noop\" instead for node %s\u0027,"},{"line_number":202,"context_line":"                        task.node.uuid)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_be760bd8","line":199,"range":{"start_line":199,"start_character":8,"end_line":199,"end_character":38},"in_reply_to":"3f79a3b5_7e6393dd","updated":"2018-08-07 14:09:37.000000000","message":"+1, we do explicitly try to avoid this.... :( but for what it is doing, it makes sense to me for now.","commit_id":"20d089c378b1b3e9c1306176bfab6b6d2a246f29"}],"ironic/drivers/snmp.py":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"d8eaa068b5e3319e80dedfb6a04e71cee73c3046","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    @property"},{"line_number":34,"context_line":"    def supported_management_interfaces(self):"},{"line_number":35,"context_line":"        \"\"\"List of supported management interfaces.\"\"\""},{"line_number":36,"context_line":"        return [noop_mgmt.NoopManagement, fake.FakeManagement]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_73674c4f","line":36,"updated":"2018-08-07 13:31:43.000000000","message":"Maybe add a todo to remove fake here?","commit_id":"20d089c378b1b3e9c1306176bfab6b6d2a246f29"}],"releasenotes/notes/snmp-noop-mgmt-53e93ac3b6dd8517.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"51c01a37ebc406e51bf6dda99bee3c58bad1aa49","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    The ``snmp`` hardware type now uses the ``noop`` management interface"},{"line_number":5,"context_line":"    instead of ``fake`` used previously. Support for ``fake`` is left for"},{"line_number":6,"context_line":"    backward compatibility."},{"line_number":7,"context_line":"deprecations:"},{"line_number":8,"context_line":"  - |"},{"line_number":9,"context_line":"    Using the ``fake`` management interfaces with the ``snmp`` hardware type"},{"line_number":10,"context_line":"    is now deprecated, please use ``noop`` instead."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_5efa6942","line":10,"range":{"start_line":7,"start_character":0,"end_line":10,"end_character":51},"updated":"2018-08-06 18:06:59.000000000","message":"Seems like this should wait until Stein? Thoughts?","commit_id":"20d089c378b1b3e9c1306176bfab6b6d2a246f29"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"a6060aeccec551214e334432bc65fb4fd5ef26a6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    The ``snmp`` hardware type now uses the ``noop`` management interface"},{"line_number":5,"context_line":"    instead of ``fake`` used previously. Support for ``fake`` is left for"},{"line_number":6,"context_line":"    backward compatibility."},{"line_number":7,"context_line":"deprecations:"},{"line_number":8,"context_line":"  - |"},{"line_number":9,"context_line":"    Using the ``fake`` management interfaces with the ``snmp`` hardware type"},{"line_number":10,"context_line":"    is now deprecated, please use ``noop`` instead."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_3388f4e5","line":10,"range":{"start_line":7,"start_character":0,"end_line":10,"end_character":51},"in_reply_to":"3f79a3b5_5efa6942","updated":"2018-08-07 13:30:44.000000000","message":"I don\u0027t see any reason not to deprecate it now, but we can wait til T to remove it if we want.","commit_id":"20d089c378b1b3e9c1306176bfab6b6d2a246f29"}]}
