)]}'
{"etc/ironic/ironic.conf.sample":[{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"2f39b720813b2d2d7db5ae838afcc7f414726eaf","unresolved":false,"context_lines":[{"line_number":563,"context_line":""},{"line_number":564,"context_line":"# Timeout (seconds) to wait for a callback from the ramdisk"},{"line_number":565,"context_line":"# doing the cleaning. Set to 0 to disable timeout. (integer"},{"line_number":566,"context_line":"# value)"},{"line_number":567,"context_line":"#clean_callback_timeout\u003d1800"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":6,"id":"fa1b9901_1ef05866","line":566,"updated":"2015-08-20 15:59:00.000000000","message":"Maybe it\u0027s good to mention here what will happen when this timeout is reached.","commit_id":"cb714fc09dca38696053a14be6c4718358c848d5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"923af2699bfda96b208f5b5a169b70b4264c4aae","unresolved":false,"context_lines":[{"line_number":563,"context_line":""},{"line_number":564,"context_line":"# Timeout (seconds) to wait for a callback from the ramdisk"},{"line_number":565,"context_line":"# doing the cleaning. Set to 0 to disable timeout. (integer"},{"line_number":566,"context_line":"# value)"},{"line_number":567,"context_line":"#clean_callback_timeout\u003d1800"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":6,"id":"fa1b9901_d64f9cbc","line":566,"in_reply_to":"fa1b9901_1ef05866","updated":"2015-08-24 13:34:33.000000000","message":"Done","commit_id":"cb714fc09dca38696053a14be6c4718358c848d5"}],"ironic/conductor/manager.py":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3f2d51c00b0dafd6f1c25e8a005f051002138857","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"                   \u0027provision_state\u0027: states.CLEANWAIT,"},{"line_number":1277,"context_line":"                   \u0027maintenance\u0027: False,"},{"line_number":1278,"context_line":"                   \u0027provisioned_before\u0027: callback_timeout}"},{"line_number":1279,"context_line":"        last_error \u003d _(\"timeout reached while cleaning the node\")"},{"line_number":1280,"context_line":"        self._fail_if_in_state(context, filters, states.CLEANWAIT,"},{"line_number":1281,"context_line":"                               \u0027provision_updated_at\u0027,"},{"line_number":1282,"context_line":"                               err_handler\u003dprovisioning_error_handler,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_58ff4b34","line":1279,"updated":"2015-08-24 07:15:18.000000000","message":"I am not sure if we should provide little more information on what has timed out.  It could be\n\n1. Agent ramdisk never booted on the node and hence cleaning never started actually.\n2. Cleaning started, but agent didn\u0027t heartbeat in x seconds.\n\nWe can figure that out by checking node.clean_step, but we might need to call self._fail_if_in_state two times like:\n\n- one with the filter node.clean_step is None and last_error as \"timeout reached while booting ramdisk on the node for cleaning\"\n- another one with filter node.clean_step is not None and last_error as \"timeout reached while cleaning the node\"\n\nNow this is can be deduced if you check node.clean_step manually, but \"hey, aren\u0027t we here to make life of the operator easy\" ?","commit_id":"cb714fc09dca38696053a14be6c4718358c848d5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"923af2699bfda96b208f5b5a169b70b4264c4aae","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"                   \u0027provision_state\u0027: states.CLEANWAIT,"},{"line_number":1277,"context_line":"                   \u0027maintenance\u0027: False,"},{"line_number":1278,"context_line":"                   \u0027provisioned_before\u0027: callback_timeout}"},{"line_number":1279,"context_line":"        last_error \u003d _(\"timeout reached while cleaning the node\")"},{"line_number":1280,"context_line":"        self._fail_if_in_state(context, filters, states.CLEANWAIT,"},{"line_number":1281,"context_line":"                               \u0027provision_updated_at\u0027,"},{"line_number":1282,"context_line":"                               err_handler\u003dprovisioning_error_handler,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_361298b5","line":1279,"in_reply_to":"fa1b9901_58ff4b34","updated":"2015-08-24 13:34:33.000000000","message":"Right, it\u0027s a good idea. Tho I wonder if we could keep it simple and have a generic message for both cases? Since the problem is essentially the same: The agent running on the node is not running.","commit_id":"cb714fc09dca38696053a14be6c4718358c848d5"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3f2d51c00b0dafd6f1c25e8a005f051002138857","unresolved":false,"context_lines":[{"line_number":1279,"context_line":"        last_error \u003d _(\"timeout reached while cleaning the node\")"},{"line_number":1280,"context_line":"        self._fail_if_in_state(context, filters, states.CLEANWAIT,"},{"line_number":1281,"context_line":"                               \u0027provision_updated_at\u0027,"},{"line_number":1282,"context_line":"                               err_handler\u003dprovisioning_error_handler,"},{"line_number":1283,"context_line":"                               last_error\u003dlast_error)"},{"line_number":1284,"context_line":""},{"line_number":1285,"context_line":"    @periodic_task.periodic_task("}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_98eba3b0","line":1282,"updated":"2015-08-24 07:15:18.000000000","message":"No need to pass provisioning_error_handler as there is no callback method.","commit_id":"cb714fc09dca38696053a14be6c4718358c848d5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"923af2699bfda96b208f5b5a169b70b4264c4aae","unresolved":false,"context_lines":[{"line_number":1279,"context_line":"        last_error \u003d _(\"timeout reached while cleaning the node\")"},{"line_number":1280,"context_line":"        self._fail_if_in_state(context, filters, states.CLEANWAIT,"},{"line_number":1281,"context_line":"                               \u0027provision_updated_at\u0027,"},{"line_number":1282,"context_line":"                               err_handler\u003dprovisioning_error_handler,"},{"line_number":1283,"context_line":"                               last_error\u003dlast_error)"},{"line_number":1284,"context_line":""},{"line_number":1285,"context_line":"    @periodic_task.periodic_task("}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_f65740c8","line":1282,"in_reply_to":"fa1b9901_98eba3b0","updated":"2015-08-24 13:34:33.000000000","message":"Done","commit_id":"cb714fc09dca38696053a14be6c4718358c848d5"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8e97a0afe187ec42b2f9d351018ea1f204927f08","unresolved":false,"context_lines":[{"line_number":1265,"context_line":"        \"\"\"Periodically checks for nodes being cleaned."},{"line_number":1266,"context_line":""},{"line_number":1267,"context_line":"        If a node doing cleaning is unresponsive, the operation should"},{"line_number":1268,"context_line":"        be aborted."},{"line_number":1269,"context_line":""},{"line_number":1270,"context_line":"        :param context: request context."},{"line_number":1271,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_42229153","line":1268,"updated":"2015-08-25 22:00:22.000000000","message":"I think it would be useful to add more here. unresponsive \u003d\u003d ? I think it is if the node is doing a clean step (ie, not the start of cleaning), and hasn\u0027t finished/communicated within the timeout period?","commit_id":"efed9acf505be353a67c3a5f6ed0aeb772d32c46"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8e97a0afe187ec42b2f9d351018ea1f204927f08","unresolved":false,"context_lines":[{"line_number":1278,"context_line":"                   \u0027maintenance\u0027: False,"},{"line_number":1279,"context_line":"                   \u0027provisioned_before\u0027: callback_timeout}"},{"line_number":1280,"context_line":"        last_error \u003d _(\"Timeout reached while cleaning the node. Please \""},{"line_number":1281,"context_line":"                       \"check if the ironic-python-agent is running on the \""},{"line_number":1282,"context_line":"                       \"node.\")"},{"line_number":1283,"context_line":"        self._fail_if_in_state(context, filters, states.CLEANWAIT,"},{"line_number":1284,"context_line":"                               \u0027provision_updated_at\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_826bc9b8","line":1281,"updated":"2015-08-25 22:00:22.000000000","message":"Can we assume that it is ironic-python-agent? I don\u0027t like having that string hardcoded here. Sigh.","commit_id":"efed9acf505be353a67c3a5f6ed0aeb772d32c46"}]}
