)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},"change_message_id":"496a64c9d842ce8209b140fff3a1c417617d3636","unresolved":false,"context_lines":[{"line_number":11,"context_line":"this should really only happen when the node is in the DEPLOYING"},{"line_number":12,"context_line":"state, since states states as CLEANING should not be able to be"},{"line_number":13,"context_line":"abruptly powered off due to a conductor failure, espescially"},{"line_number":14,"context_line":"if the operator has chosent to use a load balancer for API access."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This changes this the behavior and unit tests accordingly such"},{"line_number":17,"context_line":"that nodes, and tests that known stable states do not cause the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba0121b8_03304de7","line":14,"range":{"start_line":14,"start_character":26,"end_line":14,"end_character":27},"updated":"2016-03-30 18:32:24.000000000","message":"extra t","commit_id":"632e9c48d78c69bc2e61871effa365e77f625b85"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd72dbb945ba237bc6a3c71ffda273e47142e7bd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The iLO driver, when the conductor takeover logic was triggered"},{"line_number":10,"context_line":"would power off the node if it was not in the ACTIVE state, however"},{"line_number":11,"context_line":"this should really only happen when the node is in the DEPLOYING"},{"line_number":12,"context_line":"state, since states states as CLEANING should not be able to be"},{"line_number":13,"context_line":"abruptly powered off due to a conductor failure, espescially"},{"line_number":14,"context_line":"if the operator has chosen to use a load balancer for API access."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba0121b8_be76d6d4","line":12,"range":{"start_line":12,"start_character":20,"end_line":12,"end_character":26},"updated":"2016-03-30 19:17:36.000000000","message":"maybe use \"such\" here?","commit_id":"cabc3f8dae02d362be0b4188090733695d50eba9"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"985a7dc23182a7b4f553d2323d77797f1a749927","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The iLO driver, when the conductor takeover logic was triggered"},{"line_number":10,"context_line":"would power off the node if it was not in the ACTIVE state, however"},{"line_number":11,"context_line":"this should really only happen when the node is in the DEPLOYING"},{"line_number":12,"context_line":"state, since states states as CLEANING should not be able to be"},{"line_number":13,"context_line":"abruptly powered off due to a conductor failure, espescially"},{"line_number":14,"context_line":"if the operator has chosen to use a load balancer for API access."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba0121b8_d943e440","line":12,"range":{"start_line":12,"start_character":20,"end_line":12,"end_character":26},"in_reply_to":"ba0121b8_be76d6d4","updated":"2016-03-30 19:20:52.000000000","message":"Yeah... that would make sense :)","commit_id":"cabc3f8dae02d362be0b4188090733695d50eba9"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"bb718fb16b66673d3c6e794b9e20796c8b94f6aa","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The iLO driver, when the conductor takeover logic was triggered"},{"line_number":10,"context_line":"would power off the node if it was not in the ACTIVE state, however"},{"line_number":11,"context_line":"this should really only happen when the node is in the DEPLOYING"},{"line_number":12,"context_line":"state, since states states as CLEANING should not be able to be"},{"line_number":13,"context_line":"abruptly powered off due to a conductor failure, espescially"},{"line_number":14,"context_line":"if the operator has chosent to use a load balancer for API access."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba0121b8_920f3036","line":12,"range":{"start_line":12,"start_character":13,"end_line":12,"end_character":19},"updated":"2016-04-01 09:07:46.000000000","message":"nit s/states states/states","commit_id":"f6a381ff2760c55c8bdb4ee6d2785be47a8866ee"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"308ff6c529c0e262e9ad1fdd15c56529fdcd4d5c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"this should really only happen when the node is in the DEPLOYING"},{"line_number":12,"context_line":"state, since states states as CLEANING should not be able to be"},{"line_number":13,"context_line":"abruptly powered off due to a conductor failure, espescially"},{"line_number":14,"context_line":"if the operator has chosent to use a load balancer for API access."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This changes this the behavior and unit tests accordingly such"},{"line_number":17,"context_line":"that nodes, and tests that known stable states do not cause the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba0121b8_41cc9a88","line":14,"range":{"start_line":14,"start_character":20,"end_line":14,"end_character":27},"updated":"2016-04-01 14:20:21.000000000","message":"nit: s/chosent / chosen/","commit_id":"f6a381ff2760c55c8bdb4ee6d2785be47a8866ee"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"bb718fb16b66673d3c6e794b9e20796c8b94f6aa","unresolved":false,"context_lines":[{"line_number":13,"context_line":"abruptly powered off due to a conductor failure, espescially"},{"line_number":14,"context_line":"if the operator has chosent to use a load balancer for API access."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This changes this the behavior and unit tests accordingly such"},{"line_number":17,"context_line":"that nodes, and tests that known stable states do not cause the"},{"line_number":18,"context_line":"preparation method that powers off the node to be called."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba0121b8_753886d3","line":16,"range":{"start_line":16,"start_character":13,"end_line":16,"end_character":17},"updated":"2016-04-01 09:07:46.000000000","message":"nit: s/changes this/changes/","commit_id":"f6a381ff2760c55c8bdb4ee6d2785be47a8866ee"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"929ea3a31237c5ed7932a37395ddca23567e7341","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The iLO driver, when the conductor takeover logic was triggered"},{"line_number":10,"context_line":"would power off the node if it was not in the ACTIVE state, however"},{"line_number":11,"context_line":"this should really only happen when the node is in the DEPLOYING"},{"line_number":12,"context_line":"state, since states as CLEANING should not be able to be abruptly"},{"line_number":13,"context_line":"powered off due to a conductor failure, espescially if the"},{"line_number":14,"context_line":"operator has chosen to use a load balancer for API access."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a061dce_ddba3b6e","line":12,"updated":"2016-04-04 08:45:57.000000000","message":"While I agree with this change in general, I think the commit message is not correct - looking at https://github.com/openstack/ironic/blob/master/ironic/conductor/manager.py#L1430-L1433 only ACTIVE nodes are took over. And if I\u0027m wrong, this needs a release note :)","commit_id":"10ed000daba7ed66cc0e9288b5641aa410e12dd8"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"aa4558ab2ee44ca94bcf2c2d5c1faa07bc925cf1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The iLO driver, when the conductor takeover logic was triggered"},{"line_number":10,"context_line":"would power off the node if it was not in the ACTIVE state, however"},{"line_number":11,"context_line":"this should really only happen when the node is in the DEPLOYING"},{"line_number":12,"context_line":"state, since states as CLEANING should not be able to be abruptly"},{"line_number":13,"context_line":"powered off due to a conductor failure, espescially if the"},{"line_number":14,"context_line":"operator has chosen to use a load balancer for API access."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a061dce_ac00edab","line":12,"in_reply_to":"9a061dce_ddba3b6e","updated":"2016-04-04 13:14:35.000000000","message":"Ahh, true, very valid point.  I think it is still somewhat correct as I\u0027m sure we will see operators desire failover handling of conductors to be improved, and the introduction of the adoption state will potentially allow the same code to be executed since adoption leverages takeover.  I\u0027ll still re-word if you want though.","commit_id":"10ed000daba7ed66cc0e9288b5641aa410e12dd8"}],"ironic/drivers/modules/ilo/deploy.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"308ff6c529c0e262e9ad1fdd15c56529fdcd4d5c","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        :raises: IloOperationError, if some operation on iLO failed."},{"line_number":172,"context_line":"        \"\"\""},{"line_number":173,"context_line":"        if task.node.provision_state not in ["},{"line_number":174,"context_line":"                states.ACTIVE, states.ADOPTING]:"},{"line_number":175,"context_line":"            _prepare_node_for_deploy(task)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        super(IloVirtualMediaIscsiDeploy, self).prepare(task)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_a15496c9","side":"PARENT","line":174,"range":{"start_line":174,"start_character":15,"end_line":174,"end_character":48},"updated":"2016-04-01 14:20:21.000000000","message":"Why do I see this in the base code? Is this patch based on  code (under review) related to ADOPT?\nhttps://review.openstack.org/#/c/275766/7/ironic/drivers/modules/ilo/deploy.py\nThough this can be merged without such a dependency.","commit_id":"1d8faed8c84ddd7549a5343ed599e9a67d52c3d4"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6a6ea292a6691ba7c60abbdba09027f55dcdee57","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        :param task: a TaskManager instance containing the node to act on."},{"line_number":171,"context_line":"        :raises: IloOperationError, if some operation on iLO failed."},{"line_number":172,"context_line":"        \"\"\""},{"line_number":173,"context_line":"        if task.node.provision_state \u003d\u003d states.DEPLOYING:"},{"line_number":174,"context_line":"            _prepare_node_for_deploy(task)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        super(IloVirtualMediaIscsiDeploy, self).prepare(task)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_2eaa1886","line":173,"range":{"start_line":173,"start_character":0,"end_line":173,"end_character":57},"updated":"2016-04-02 05:12:29.000000000","message":"With the check of !\u003d ACTIVE, essentially iLO driers were restarting the deploy/clean operation. This was safeguarding even the cases wherein node hosting conductor has come down.\n\nWith new check, it would not cover that case. With new check we are assuming that tftp/pxe configs would remain intact and accessible when conductor goes down for pxe_ilo driver.\n\nFor vmedia based drivers with web server used for hosting intermediate images:-\nAssumption is web server running on the conductor going down would be running and accessible.","commit_id":"10ed000daba7ed66cc0e9288b5641aa410e12dd8"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"25ae70dbca01c5a8d7c0155d161aea4411cdb021","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        :param task: a TaskManager instance containing the node to act on."},{"line_number":171,"context_line":"        :raises: IloOperationError, if some operation on iLO failed."},{"line_number":172,"context_line":"        \"\"\""},{"line_number":173,"context_line":"        if task.node.provision_state \u003d\u003d states.DEPLOYING:"},{"line_number":174,"context_line":"            _prepare_node_for_deploy(task)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        super(IloVirtualMediaIscsiDeploy, self).prepare(task)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_04ebb3b1","line":173,"range":{"start_line":173,"start_character":0,"end_line":173,"end_character":57},"in_reply_to":"ba0121b8_2eaa1886","updated":"2016-04-02 10:07:47.000000000","message":"Ignore this. I somehow mixed it with overall prpare() operation.","commit_id":"10ed000daba7ed66cc0e9288b5641aa410e12dd8"}],"ironic/tests/unit/drivers/modules/ilo/test_deploy.py":[{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"67e0847ba6502f1460785659f5ebf44e2b61233d","unresolved":false,"context_lines":[{"line_number":278,"context_line":"    def test_prepare_active_node(self, func_prepare_node_for_deploy,"},{"line_number":279,"context_line":"                                 iscsi_deploy_prepare_mock):"},{"line_number":280,"context_line":"        \"\"\"Ensure nodes in running states are not inadvertently changed\"\"\""},{"line_number":281,"context_line":"        for state in states.STABLE_STATES:"},{"line_number":282,"context_line":"            self.node.provision_state \u003d state"},{"line_number":283,"context_line":"            self.node.save()"},{"line_number":284,"context_line":"            func_prepare_node_for_deploy.reset_mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_399ca00e","line":281,"range":{"start_line":281,"start_character":28,"end_line":281,"end_character":41},"updated":"2016-03-30 19:41:05.000000000","message":"we may want to append cleaning and inspecting here for a more complete test.","commit_id":"60acde39e58e550f7f12e7c3760fb002396c3ce7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"67e0847ba6502f1460785659f5ebf44e2b61233d","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                                 func_prepare_node_for_deploy,"},{"line_number":384,"context_line":"                                 agent_prepare_mock):"},{"line_number":385,"context_line":"        \"\"\"Ensure nodes in running states are not inadvertently changed\"\"\""},{"line_number":386,"context_line":"        for state in states.STABLE_STATES:"},{"line_number":387,"context_line":"            self.node.provision_state \u003d state"},{"line_number":388,"context_line":"            self.node.save()"},{"line_number":389,"context_line":"            func_prepare_node_for_deploy.reset_mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_79a2984c","line":386,"range":{"start_line":386,"start_character":28,"end_line":386,"end_character":41},"updated":"2016-03-30 19:41:05.000000000","message":"ditto","commit_id":"60acde39e58e550f7f12e7c3760fb002396c3ce7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"67e0847ba6502f1460785659f5ebf44e2b61233d","unresolved":false,"context_lines":[{"line_number":500,"context_line":"                                 prepare_node_for_deploy_mock,"},{"line_number":501,"context_line":"                                 pxe_prepare_mock):"},{"line_number":502,"context_line":"        \"\"\"Ensure nodes in running states are not inadvertently changed\"\"\""},{"line_number":503,"context_line":"        for state in states.STABLE_STATES:"},{"line_number":504,"context_line":"            self.node.provision_state \u003d state"},{"line_number":505,"context_line":"            self.node.save()"},{"line_number":506,"context_line":"            prepare_node_for_deploy_mock.reset_mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_d98be4c1","line":503,"range":{"start_line":503,"start_character":28,"end_line":503,"end_character":41},"updated":"2016-03-30 19:41:05.000000000","message":"also here","commit_id":"60acde39e58e550f7f12e7c3760fb002396c3ce7"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"308ff6c529c0e262e9ad1fdd15c56529fdcd4d5c","unresolved":false,"context_lines":[{"line_number":276,"context_line":"    def test_prepare_active_node(self, func_prepare_node_for_deploy,"},{"line_number":277,"context_line":"                                 iscsi_deploy_prepare_mock):"},{"line_number":278,"context_line":"        \"\"\"Ensure nodes in running states are not inadvertently changed\"\"\""},{"line_number":279,"context_line":"        for state in [states.ACTIVE, states.ADOPTING]:"},{"line_number":280,"context_line":"            self.node.provision_state \u003d state"},{"line_number":281,"context_line":"            self.node.save()"},{"line_number":282,"context_line":"            func_prepare_node_for_deploy.reset_mock()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_c19a6a13","side":"PARENT","line":279,"range":{"start_line":279,"start_character":8,"end_line":279,"end_character":54},"updated":"2016-04-01 14:20:21.000000000","message":"This part of code under review\nhttps://review.openstack.org/#/c/275766/7/ironic/tests/unit/drivers/modules/ilo/test_deploy.py","commit_id":"1d8faed8c84ddd7549a5343ed599e9a67d52c3d4"}],"releasenotes/notes/ilo-do-not-power-off-non-deploying-nodes-0a3aed7c8ea3940a.yaml":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"5f3435e5d0effaa33e7639d31a44d0ed47e5ed6a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - A bug was identified in the behavior of the ilo driver"},{"line_number":4,"context_line":"    where nodes that are not active but taking part of a"},{"line_number":5,"context_line":"    conductor takeover could be powered off."},{"line_number":6,"context_line":"    In preparation for new features and functionality,"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9a061dce_e0f626f8","line":3,"range":{"start_line":3,"start_character":48,"end_line":3,"end_character":58},"updated":"2016-04-05 14:40:35.000000000","message":"s/ \u0027ilo driver\u0027 / \u0027iLO drivers\u0027/","commit_id":"624e927fcdfabdb86d22fb1b268961ddfeaedbea"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"5f3435e5d0effaa33e7639d31a44d0ed47e5ed6a","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    In preparation for new features and functionality,"},{"line_number":7,"context_line":"    that risk encountering this bug, we are limiting the"},{"line_number":8,"context_line":"    deployment preparation steps to the ``deploying``"},{"line_number":9,"context_line":"    state to prevent nodes from being erroniuosly"},{"line_number":10,"context_line":"    powered off."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9a061dce_e05aa629","line":9,"range":{"start_line":9,"start_character":38,"end_line":9,"end_character":49},"updated":"2016-04-05 14:40:35.000000000","message":"s/ \u0027erroniuosly\u0027/ \u0027erroneously\u0027/","commit_id":"624e927fcdfabdb86d22fb1b268961ddfeaedbea"}]}
