)]}'
{"ironic/common/exception.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f182c8486dda149b5c2d0d4aa4bc132b10eab4e5","unresolved":false,"context_lines":[{"line_number":441,"context_line":"                \u0027response_code: %(response_code)s\u0027)"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"class DracOperationFailedError(IronicException):"},{"line_number":445,"context_line":"    message \u003d _(\u0027DRAC operation failed. Message: %(message)s\u0027)"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_92496e90","line":444,"updated":"2015-01-15 14:40:34.000000000","message":"s/Error//\n\nFailed is enough :)","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"2f18fb730a3099522b7049a24f60ced77d2f56df","unresolved":false,"context_lines":[{"line_number":441,"context_line":"                \u0027response_code: %(response_code)s\u0027)"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"class DracOperationFailedError(IronicException):"},{"line_number":445,"context_line":"    message \u003d _(\u0027DRAC operation failed. Message: %(message)s\u0027)"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_78ddc3dc","line":444,"in_reply_to":"3a961159_92496e90","updated":"2015-01-15 16:13:57.000000000","message":"Done","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f182c8486dda149b5c2d0d4aa4bc132b10eab4e5","unresolved":false,"context_lines":[{"line_number":445,"context_line":"    message \u003d _(\u0027DRAC operation failed. Message: %(message)s\u0027)"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"class DracUnexpectedReturnValueError(IronicException):"},{"line_number":449,"context_line":"    message \u003d _(\u0027DRAC operation yielded unexpected return value. \u0027"},{"line_number":450,"context_line":"                \u0027Expected: %(expected_return_value)s. \u0027"},{"line_number":451,"context_line":"                \u0027Got: %(actual_return_value)s.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_32219ab4","line":448,"updated":"2015-01-15 14:40:34.000000000","message":"I would suggest s/Error// here and below as well. Most of our exceptions do not use Error suffix","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"2f18fb730a3099522b7049a24f60ced77d2f56df","unresolved":false,"context_lines":[{"line_number":445,"context_line":"    message \u003d _(\u0027DRAC operation failed. Message: %(message)s\u0027)"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"class DracUnexpectedReturnValueError(IronicException):"},{"line_number":449,"context_line":"    message \u003d _(\u0027DRAC operation yielded unexpected return value. \u0027"},{"line_number":450,"context_line":"                \u0027Expected: %(expected_return_value)s. \u0027"},{"line_number":451,"context_line":"                \u0027Got: %(actual_return_value)s.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_98ed0f91","line":448,"in_reply_to":"3a961159_32219ab4","updated":"2015-01-15 16:13:57.000000000","message":"Done","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f182c8486dda149b5c2d0d4aa4bc132b10eab4e5","unresolved":false,"context_lines":[{"line_number":448,"context_line":"class DracUnexpectedReturnValueError(IronicException):"},{"line_number":449,"context_line":"    message \u003d _(\u0027DRAC operation yielded unexpected return value. \u0027"},{"line_number":450,"context_line":"                \u0027Expected: %(expected_return_value)s. \u0027"},{"line_number":451,"context_line":"                \u0027Got: %(actual_return_value)s.\u0027)"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"class DracConfigJobCreationError(IronicException):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_350fc42f","line":451,"updated":"2015-01-15 14:40:34.000000000","message":"A bit clearer would be smth like\n\n DRAC operation yielded return value %(actual_return_value)s that is neither error, not expected %(expected_return_value)s","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"2f18fb730a3099522b7049a24f60ced77d2f56df","unresolved":false,"context_lines":[{"line_number":448,"context_line":"class DracUnexpectedReturnValueError(IronicException):"},{"line_number":449,"context_line":"    message \u003d _(\u0027DRAC operation yielded unexpected return value. \u0027"},{"line_number":450,"context_line":"                \u0027Expected: %(expected_return_value)s. \u0027"},{"line_number":451,"context_line":"                \u0027Got: %(actual_return_value)s.\u0027)"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"class DracConfigJobCreationError(IronicException):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_d83f97dd","line":451,"in_reply_to":"3a961159_350fc42f","updated":"2015-01-15 16:13:57.000000000","message":"Done","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2bc7ddab14b9f3a5479c2b4248a00d3a6d6ec72c","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \u0027that is neither error nor expected %(expected_return_value)s\u0027)"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"class DracConfigJobCreationError(IronicException):"},{"line_number":454,"context_line":"    message \u003d _(\u0027DRAC failed to create a configuration job. \u0027"},{"line_number":455,"context_line":"                \u0027Reason: %(error)s\u0027)"},{"line_number":456,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_203a00cd","line":453,"updated":"2015-01-16 12:57:08.000000000","message":"nit: maybe s/Error/Failed/","commit_id":"8ee4a764ee4f13ca13be98d6698c812ac0d79849"}],"ironic/drivers/modules/drac/client.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2bc7ddab14b9f3a5479c2b4248a00d3a6d6ec72c","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        :param resource_uri: URI of the resource."},{"line_number":119,"context_line":"        :param method: name of the method to invoke."},{"line_number":120,"context_line":"        :param selectors: dictionary of selectors."},{"line_number":121,"context_line":"        :param properties: dictionary of properties."},{"line_number":122,"context_line":"        :raises: DracClientError on an error from pywsman library."},{"line_number":123,"context_line":"        :raises: DracOperationFailed on error reported back by DRAC."},{"line_number":124,"context_line":"        :raises: DracUnexpectedReturnValue on return value mismatch."}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_40354cd9","line":121,"updated":"2015-01-16 12:57:08.000000000","message":":param expected_return_value:","commit_id":"8ee4a764ee4f13ca13be98d6698c812ac0d79849"}],"ironic/drivers/modules/drac/management.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f182c8486dda149b5c2d0d4aa4bc132b10eab4e5","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    except (exception.DracClientError,"},{"line_number":130,"context_line":"            exception.DracOperationFailedError,"},{"line_number":131,"context_line":"            exception.DracUnexpectedReturnValueError) as exc:"},{"line_number":132,"context_line":"        raise exception.DracConfigJobCreationError(error\u003dexc)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"def _check_for_config_job(node):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_f56e1cc7","line":132,"updated":"2015-01-15 14:40:34.000000000","message":"I don\u0027t think we need to convert exception here. I suggest some logging with excutils.save_and_reraise_exception()","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"2f18fb730a3099522b7049a24f60ced77d2f56df","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    except (exception.DracClientError,"},{"line_number":130,"context_line":"            exception.DracOperationFailedError,"},{"line_number":131,"context_line":"            exception.DracUnexpectedReturnValueError) as exc:"},{"line_number":132,"context_line":"        raise exception.DracConfigJobCreationError(error\u003dexc)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"def _check_for_config_job(node):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_fb09ad2b","line":132,"in_reply_to":"3a961159_f56e1cc7","updated":"2015-01-15 16:13:57.000000000","message":"Done","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0f6b8c371296e129836e115da8e14f1b971e4412","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                            drac_client.RET_CREATED)"},{"line_number":130,"context_line":"    except (exception.DracClientError,"},{"line_number":131,"context_line":"            exception.DracOperationFailed,"},{"line_number":132,"context_line":"            exception.DracUnexpectedReturnValue) as exc:"},{"line_number":133,"context_line":"        with excutils.save_and_reraise_exception():"},{"line_number":134,"context_line":"            LOG.error(_LE(\u0027DRAC driver failed to create config job for node \u0027"},{"line_number":135,"context_line":"                          \u0027%(node_uuid)s. The changes are not applied. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_ec227500","line":132,"updated":"2015-01-21 11:13:49.000000000","message":"as I see this pattern in a couple of places already, I\u0027m wondering, if we should have just one base class for these classes.","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"4683923403e7ac0135760790e52710461d70d61a","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                            drac_client.RET_CREATED)"},{"line_number":130,"context_line":"    except (exception.DracClientError,"},{"line_number":131,"context_line":"            exception.DracOperationFailed,"},{"line_number":132,"context_line":"            exception.DracUnexpectedReturnValue) as exc:"},{"line_number":133,"context_line":"        with excutils.save_and_reraise_exception():"},{"line_number":134,"context_line":"            LOG.error(_LE(\u0027DRAC driver failed to create config job for node \u0027"},{"line_number":135,"context_line":"                          \u0027%(node_uuid)s. The changes are not applied. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_9f3cac95","line":132,"in_reply_to":"1a930d6b_ec227500","updated":"2015-01-21 14:13:21.000000000","message":"Done","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0f6b8c371296e129836e115da8e14f1b971e4412","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    \"\"\""},{"line_number":148,"context_line":"    client \u003d drac_client.get_wsman_client(node)"},{"line_number":149,"context_line":"    target_device \u003d \u0027BIOS.Setup.1-1\u0027"},{"line_number":150,"context_line":"    try:"},{"line_number":151,"context_line":"        doc \u003d client.wsman_enumerate(resource_uris.DCIM_LifecycleJob)"},{"line_number":152,"context_line":"    except exception.DracClientError as exc:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_cc6cd939","line":149,"updated":"2015-01-21 11:13:49.000000000","message":"nit: this better be a top-level constant","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"4683923403e7ac0135760790e52710461d70d61a","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    \"\"\""},{"line_number":148,"context_line":"    client \u003d drac_client.get_wsman_client(node)"},{"line_number":149,"context_line":"    target_device \u003d \u0027BIOS.Setup.1-1\u0027"},{"line_number":150,"context_line":"    try:"},{"line_number":151,"context_line":"        doc \u003d client.wsman_enumerate(resource_uris.DCIM_LifecycleJob)"},{"line_number":152,"context_line":"    except exception.DracClientError as exc:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_1fcefc5a","line":149,"in_reply_to":"1a930d6b_cc6cd939","updated":"2015-01-21 14:13:21.000000000","message":"Done","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0f6b8c371296e129836e115da8e14f1b971e4412","unresolved":false,"context_lines":[{"line_number":262,"context_line":"                                properties)"},{"line_number":263,"context_line":"        except (exception.DracClientError,"},{"line_number":264,"context_line":"                exception.DracOperationFailed,"},{"line_number":265,"context_line":"                exception.DracUnexpectedReturnValue) as exc:"},{"line_number":266,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":267,"context_line":"                LOG.error(_LE(\u0027DRAC driver failed to set the boot device for \u0027"},{"line_number":268,"context_line":"                              \u0027node %(node_uuid)s to %(target_boot_device)s. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_0c77c103","line":265,"updated":"2015-01-21 11:13:49.000000000","message":"ditto about base class","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"4683923403e7ac0135760790e52710461d70d61a","unresolved":false,"context_lines":[{"line_number":262,"context_line":"                                properties)"},{"line_number":263,"context_line":"        except (exception.DracClientError,"},{"line_number":264,"context_line":"                exception.DracOperationFailed,"},{"line_number":265,"context_line":"                exception.DracUnexpectedReturnValue) as exc:"},{"line_number":266,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":267,"context_line":"                LOG.error(_LE(\u0027DRAC driver failed to set the boot device for \u0027"},{"line_number":268,"context_line":"                              \u0027node %(node_uuid)s to %(target_boot_device)s. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_bf5888fb","line":265,"in_reply_to":"1a930d6b_0c77c103","updated":"2015-01-21 14:13:21.000000000","message":"Done","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"}],"ironic/drivers/modules/drac/power.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f182c8486dda149b5c2d0d4aa4bc132b10eab4e5","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        :param task: a TaskManager instance containing the node to act on."},{"line_number":132,"context_line":"        :param power_state: Any power state from :mod:`ironic.common.states`."},{"line_number":133,"context_line":"        :raises: DracClientError if the client received unexpected response."},{"line_number":134,"context_line":"        \"\"\""},{"line_number":135,"context_line":"        return _set_power_state(task.node, power_state)"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_15ae48e7","line":133,"updated":"2015-01-15 14:40:34.000000000","message":"these functions can still return DracOperationFailed and DracUnexpectedReturnValue","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"2f18fb730a3099522b7049a24f60ced77d2f56df","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        :param task: a TaskManager instance containing the node to act on."},{"line_number":132,"context_line":"        :param power_state: Any power state from :mod:`ironic.common.states`."},{"line_number":133,"context_line":"        :raises: DracClientError if the client received unexpected response."},{"line_number":134,"context_line":"        \"\"\""},{"line_number":135,"context_line":"        return _set_power_state(task.node, power_state)"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_c1216250","line":133,"in_reply_to":"3a961159_15ae48e7","updated":"2015-01-15 16:13:57.000000000","message":"Done","commit_id":"ec75e71de1615c69d4d9ed30800b59a411b827c3"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0f6b8c371296e129836e115da8e14f1b971e4412","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                            \u0027RequestStateChange\u0027, selectors, properties)"},{"line_number":87,"context_line":"    except (exception.DracClientError,"},{"line_number":88,"context_line":"            exception.DracOperationFailed,"},{"line_number":89,"context_line":"            exception.DracUnexpectedReturnValue) as exc:"},{"line_number":90,"context_line":"        with excutils.save_and_reraise_exception():"},{"line_number":91,"context_line":"            LOG.error(_LE(\u0027DRAC driver failed to set power state for node \u0027"},{"line_number":92,"context_line":"                          \u0027%(node_uuid)s to %(target_power_state)s. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_6c65a544","line":89,"updated":"2015-01-21 11:13:49.000000000","message":"ditto about base class","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"4683923403e7ac0135760790e52710461d70d61a","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                            \u0027RequestStateChange\u0027, selectors, properties)"},{"line_number":87,"context_line":"    except (exception.DracClientError,"},{"line_number":88,"context_line":"            exception.DracOperationFailed,"},{"line_number":89,"context_line":"            exception.DracUnexpectedReturnValue) as exc:"},{"line_number":90,"context_line":"        with excutils.save_and_reraise_exception():"},{"line_number":91,"context_line":"            LOG.error(_LE(\u0027DRAC driver failed to set power state for node \u0027"},{"line_number":92,"context_line":"                          \u0027%(node_uuid)s to %(target_power_state)s. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_3f6c989c","line":89,"in_reply_to":"1a930d6b_6c65a544","updated":"2015-01-21 14:13:21.000000000","message":"Done","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"}],"ironic/tests/drivers/drac/test_client.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0f6b8c371296e129836e115da8e14f1b971e4412","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                          filter_dialect\u003d\u0027invalid\u0027)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def test_wsman_invoke(self, mock_client_pywsman):"},{"line_number":106,"context_line":"        resource_uri \u003d \u0027https://foo/wsman\u0027"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        result_xml \u003d test_utils.build_soap_xml("},{"line_number":109,"context_line":"            [{\u0027ReturnValue\u0027: drac_client.RET_SUCCESS}], resource_uri)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_cc53f96a","line":106,"updated":"2015-01-21 11:13:49.000000000","message":"nit: maybe set this as self.resource_uri in setUp?","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"4683923403e7ac0135760790e52710461d70d61a","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                          filter_dialect\u003d\u0027invalid\u0027)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def test_wsman_invoke(self, mock_client_pywsman):"},{"line_number":106,"context_line":"        resource_uri \u003d \u0027https://foo/wsman\u0027"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        result_xml \u003d test_utils.build_soap_xml("},{"line_number":109,"context_line":"            [{\u0027ReturnValue\u0027: drac_client.RET_SUCCESS}], resource_uri)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_9fe2ecd3","line":106,"in_reply_to":"1a930d6b_cc53f96a","updated":"2015-01-21 14:13:21.000000000","message":"Done","commit_id":"dff93460bdf24a16543b9f77515d35a0431d5381"}]}
