)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"9ae6dd02fd21816eb051bdda8c3f6fc66f8cdc97","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Nodes could be stuck on deploying state if the conductor break"},{"line_number":10,"context_line":"and restart. It\u0027s necessary to mark nodes as failed when the"},{"line_number":11,"context_line":"transient(deploying) action timeout. As the conductor restart,"},{"line_number":12,"context_line":"it will clear the reservation of nodes on the host, so in this"},{"line_number":13,"context_line":"case \u0027reservation\u003dNULL\u0027."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"A case without restart (reservation\u003d\u0027fake-reserv\u0027) is addressed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_431e2060","line":12,"updated":"2015-06-09 09:23:36.000000000","message":"It clears reservation for nodes reserved by this conductor.","commit_id":"76a2455d3a73dfdb09377d53765a59f7020a6809"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"9ae6dd02fd21816eb051bdda8c3f6fc66f8cdc97","unresolved":false,"context_lines":[{"line_number":12,"context_line":"it will clear the reservation of nodes on the host, so in this"},{"line_number":13,"context_line":"case \u0027reservation\u003dNULL\u0027."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"A case without restart (reservation\u003d\u0027fake-reserv\u0027) is addressed"},{"line_number":16,"context_line":"in next patch."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Partial Bug: #1461937"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_c856af29","line":15,"updated":"2015-06-09 09:23:36.000000000","message":"What is \u0027fake-reserv\u0027?","commit_id":"76a2455d3a73dfdb09377d53765a59f7020a6809"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c145f7f6f735a465e6f17b111ceeb2e6a3074098","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Check timeout when nodes stuck on deploying state"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Nodes could be stuck on deploying state if the conductor break"},{"line_number":10,"context_line":"and restart. It\u0027s necessary to mark nodes as failed when the"},{"line_number":11,"context_line":"transient(deploying) action timeout. As the conductor restart,"},{"line_number":12,"context_line":"it clears reservation for nodes reserved by this conductor, so"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_ef83e9ca","line":9,"updated":"2015-06-15 21:02:34.000000000","message":"s/break/breaks/","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c145f7f6f735a465e6f17b111ceeb2e6a3074098","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Check timeout when nodes stuck on deploying state"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Nodes could be stuck on deploying state if the conductor break"},{"line_number":10,"context_line":"and restart. It\u0027s necessary to mark nodes as failed when the"},{"line_number":11,"context_line":"transient(deploying) action timeout. As the conductor restart,"},{"line_number":12,"context_line":"it clears reservation for nodes reserved by this conductor, so"},{"line_number":13,"context_line":"in this case \u0027reservation\u003dNULL\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_af6e412d","line":10,"updated":"2015-06-15 21:02:34.000000000","message":"s/restart/restarts/","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c145f7f6f735a465e6f17b111ceeb2e6a3074098","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Nodes could be stuck on deploying state if the conductor break"},{"line_number":10,"context_line":"and restart. It\u0027s necessary to mark nodes as failed when the"},{"line_number":11,"context_line":"transient(deploying) action timeout. As the conductor restart,"},{"line_number":12,"context_line":"it clears reservation for nodes reserved by this conductor, so"},{"line_number":13,"context_line":"in this case \u0027reservation\u003dNULL\u0027."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_ef5a0983","line":11,"updated":"2015-06-15 21:02:34.000000000","message":"s/timeout/times out/\n\ns/restart/restarts/","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"}],"etc/ironic/ironic.conf.sample":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"f377b38c6d939bbd87712bf50481ee4d9e6d82cd","unresolved":false,"context_lines":[{"line_number":467,"context_line":"# ramdisk. Set to 0 to disable timeout. (integer value)"},{"line_number":468,"context_line":"#deploy_callback_timeout\u003d1800"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"# Timeout (seconds) to wait for nodes finish deploy. Set to 0"},{"line_number":471,"context_line":"# to wait unlimited. (integer value)"},{"line_number":472,"context_line":"#deploying_timeout\u003d1800"},{"line_number":473,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":3,"id":"fa32b979_fe3f4523","line":470,"updated":"2015-06-15 06:07:41.000000000","message":"s/finish deploy/to finish deployment/","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"}],"ironic/conductor/manager.py":[{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"61d647169e3500eebb1ef84c84209f5bd45d6462","unresolved":false,"context_lines":[{"line_number":107,"context_line":"               default\u003d1800,"},{"line_number":108,"context_line":"               help\u003d\u0027Timeout (seconds) to wait for a callback from \u0027"},{"line_number":109,"context_line":"                    \u0027a deploy ramdisk. Set to 0 to disable timeout.\u0027),"},{"line_number":110,"context_line":"    cfg.IntOpt(\u0027deploying_timeout\u0027,"},{"line_number":111,"context_line":"               default\u003d1800,"},{"line_number":112,"context_line":"               help\u003d\u0027Timeout (seconds) to wait for nodes finish deploy. \u0027"},{"line_number":113,"context_line":"                    \u0027Set to 0 to wait unlimited.\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_5f9c2569","line":110,"updated":"2015-06-05 08:11:51.000000000","message":"should this be added to etc/ironic/ironic.conf.sample?","commit_id":"f5c1534a7fd39c4e2b02ff7b7078d6c4c988ea03"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"4f588bbb37941723d712cb7ae0267359000ffc2f","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"            if not deploy_states[state]:"},{"line_number":1109,"context_line":"                continue"},{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"            filters \u003d {\u0027reserved\u0027: False,"},{"line_number":1112,"context_line":"                       \u0027provision_state\u0027: state,"},{"line_number":1113,"context_line":"                       \u0027maintenance\u0027: False,"},{"line_number":1114,"context_line":"                       \u0027provisioned_before\u0027: deploy_states[state]}"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_6a584157","line":1111,"updated":"2015-06-05 08:43:22.000000000","message":"In \"DEPLOYWAIT\" state node is not locked.  In \"DEPLOYING\" state there is probability (high for iSCSI deploy) that a node is locked. Node stuck on \"DEPLOYING\" state in this case.","commit_id":"f5c1534a7fd39c4e2b02ff7b7078d6c4c988ea03"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"215ea8fb1a7ba5b51e1dd17fa7b19b88b8f04689","unresolved":false,"context_lines":[{"line_number":108,"context_line":"               help\u003d\u0027Timeout (seconds) to wait for a callback from \u0027"},{"line_number":109,"context_line":"                    \u0027a deploy ramdisk. Set to 0 to disable timeout.\u0027),"},{"line_number":110,"context_line":"    cfg.IntOpt(\u0027deploying_timeout\u0027,"},{"line_number":111,"context_line":"               default\u003d1800,"},{"line_number":112,"context_line":"               help\u003d\u0027Timeout (seconds) to wait for nodes finish deploy. \u0027"},{"line_number":113,"context_line":"                    \u0027Set to 0 to wait unlimited.\u0027),"},{"line_number":114,"context_line":"    cfg.BoolOpt(\u0027force_power_state_during_sync\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_f8ae192d","line":111,"updated":"2015-06-23 13:17:35.000000000","message":"I would argue we need a smaller timeout here, but not sure what...","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c145f7f6f735a465e6f17b111ceeb2e6a3074098","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                    \u0027a deploy ramdisk. Set to 0 to disable timeout.\u0027),"},{"line_number":110,"context_line":"    cfg.IntOpt(\u0027deploying_timeout\u0027,"},{"line_number":111,"context_line":"               default\u003d1800,"},{"line_number":112,"context_line":"               help\u003d\u0027Timeout (seconds) to wait for nodes finish deploy. \u0027"},{"line_number":113,"context_line":"                    \u0027Set to 0 to wait unlimited.\u0027),"},{"line_number":114,"context_line":"    cfg.BoolOpt(\u0027force_power_state_during_sync\u0027,"},{"line_number":115,"context_line":"                default\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_0fe16dfe","line":112,"updated":"2015-06-15 21:02:34.000000000","message":"s/nodes finish deploy/nodes to finish deploying/","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c145f7f6f735a465e6f17b111ceeb2e6a3074098","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    cfg.IntOpt(\u0027deploying_timeout\u0027,"},{"line_number":111,"context_line":"               default\u003d1800,"},{"line_number":112,"context_line":"               help\u003d\u0027Timeout (seconds) to wait for nodes finish deploy. \u0027"},{"line_number":113,"context_line":"                    \u0027Set to 0 to wait unlimited.\u0027),"},{"line_number":114,"context_line":"    cfg.BoolOpt(\u0027force_power_state_during_sync\u0027,"},{"line_number":115,"context_line":"                default\u003dTrue,"},{"line_number":116,"context_line":"                help\u003d\u0027During sync_power_state, should the hardware power \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_8f9b3d72","line":113,"updated":"2015-06-15 21:02:34.000000000","message":"I suggest make it like line 109:\n\nSet to 0 to disable timeout.","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"215ea8fb1a7ba5b51e1dd17fa7b19b88b8f04689","unresolved":false,"context_lines":[{"line_number":1087,"context_line":"                         states.DEPLOYING: deploy_timeout}"},{"line_number":1088,"context_line":"        for state in deploy_states:"},{"line_number":1089,"context_line":"            if not deploy_states[state]:"},{"line_number":1090,"context_line":"                continue"},{"line_number":1091,"context_line":""},{"line_number":1092,"context_line":"            filters \u003d {\u0027reserved\u0027: False,"},{"line_number":1093,"context_line":"                       \u0027provision_state\u0027: state,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_98a7cd4f","line":1090,"updated":"2015-06-23 13:17:35.000000000","message":"deploy_states \u003d [(states.DEPLOYWAIT, callback_timeout), (...)]\nfor state, timeout in deploy_states:","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"215ea8fb1a7ba5b51e1dd17fa7b19b88b8f04689","unresolved":false,"context_lines":[{"line_number":1095,"context_line":"                       \u0027provisioned_before\u0027: deploy_states[state]}"},{"line_number":1096,"context_line":"            sort_key \u003d \u0027provision_updated_at\u0027"},{"line_number":1097,"context_line":"            callback_method \u003d utils.cleanup_after_timeout"},{"line_number":1098,"context_line":"            err_handler \u003d provisioning_error_handler"},{"line_number":1099,"context_line":"            self._fail_if_in_state(context, filters, state,"},{"line_number":1100,"context_line":"                                   sort_key, callback_method, err_handler)"},{"line_number":1101,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_b8a4114b","line":1098,"updated":"2015-06-23 13:17:35.000000000","message":"3 redundant variables. for the sake of readability it\u0027s better to use keyword arguments to _fail_if_in_state instead","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"}],"ironic/conductor/utils.py":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"9ae6dd02fd21816eb051bdda8c3f6fc66f8cdc97","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    :param task: a TaskManager instance."},{"line_number":137,"context_line":"    \"\"\""},{"line_number":138,"context_line":"    node \u003d task.node"},{"line_number":139,"context_line":"    msg \u003d (_(\u0027Timeout reached while waiting for callback or continue \u0027"},{"line_number":140,"context_line":"             \u0027deploying for node %s\u0027)"},{"line_number":141,"context_line":"           % node.uuid)"},{"line_number":142,"context_line":"    node.last_error \u003d msg"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_235b24f8","line":139,"updated":"2015-06-09 09:23:36.000000000","message":"A node has states.DEPLOYING not only for \"continue\".","commit_id":"76a2455d3a73dfdb09377d53765a59f7020a6809"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c145f7f6f735a465e6f17b111ceeb2e6a3074098","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    :param task: a TaskManager instance."},{"line_number":137,"context_line":"    \"\"\""},{"line_number":138,"context_line":"    node \u003d task.node"},{"line_number":139,"context_line":"    msg \u003d (_(\u0027Timeout reached while waiting for callback or finish deploying \u0027"},{"line_number":140,"context_line":"             \u0027transition for node %s\u0027)"},{"line_number":141,"context_line":"           % node.uuid)"},{"line_number":142,"context_line":"    node.last_error \u003d msg"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_8f457db4","line":139,"updated":"2015-06-15 21:02:34.000000000","message":"Timeout reached while waiting for callback or while waiting for node to finish deploying.  Node %s","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"}],"ironic/tests/conductor/test_manager.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c145f7f6f735a465e6f17b111ceeb2e6a3074098","unresolved":false,"context_lines":[{"line_number":3044,"context_line":"    def setUp(self):"},{"line_number":3045,"context_line":"        super(ManagerCheckDeployTimeoutsTestCase, self).setUp()"},{"line_number":3046,"context_line":"        self.config(deploy_callback_timeout\u003d300, group\u003d\u0027conductor\u0027)"},{"line_number":3047,"context_line":"        # Disable deploying as default"},{"line_number":3048,"context_line":"        self.config(deploying_timeout\u003d0, group\u003d\u0027conductor\u0027)"},{"line_number":3049,"context_line":"        self.service \u003d manager.ConductorManager(\u0027hostname\u0027, \u0027test-topic\u0027)"},{"line_number":3050,"context_line":"        self.service.dbapi \u003d self.dbapi"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_cf85c5ad","line":3047,"updated":"2015-06-15 21:02:34.000000000","message":"Disable deploy timeout as the default","commit_id":"ad4512376ba47f8e7fc55b044580b2803ff7ce4a"}]}
