)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"5007401fb6269f9f0e4c3dcdcfc387ebb10ba6eb","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Make the erase_devices clean step abortable"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patches updates the get_clean_steps() method to make the"},{"line_number":10,"context_line":"erase_devices step abortable. Ereasing devices is something that can be"},{"line_number":11,"context_line":"canceled without damaging the machine."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When a clean steap is aborted the provision state of the Ironic\u0027s node"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da20952f_a8b1a303","line":10,"updated":"2015-09-08 11:00:52.000000000","message":"s/Ereasing/Erasing","commit_id":"49209ac5d3dc12e0a74a107b6c7b5c1e8617a57e"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"5007401fb6269f9f0e4c3dcdcfc387ebb10ba6eb","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patches updates the get_clean_steps() method to make the"},{"line_number":10,"context_line":"erase_devices step abortable. Ereasing devices is something that can be"},{"line_number":11,"context_line":"canceled without damaging the machine."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When a clean steap is aborted the provision state of the Ironic\u0027s node"},{"line_number":14,"context_line":"will go to CLEANFAIL state. The operator can then do what is needed to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da20952f_68cceb8a","line":11,"updated":"2015-09-08 11:00:52.000000000","message":"s/canceled/cancelled","commit_id":"49209ac5d3dc12e0a74a107b6c7b5c1e8617a57e"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"5007401fb6269f9f0e4c3dcdcfc387ebb10ba6eb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"erase_devices step abortable. Ereasing devices is something that can be"},{"line_number":11,"context_line":"canceled without damaging the machine."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When a clean steap is aborted the provision state of the Ironic\u0027s node"},{"line_number":14,"context_line":"will go to CLEANFAIL state. The operator can then do what is needed to"},{"line_number":15,"context_line":"fix the problem (i.e network booting issues) and restart the cleaning"},{"line_number":16,"context_line":"later on."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da20952f_08a44fb7","line":13,"updated":"2015-09-08 11:00:52.000000000","message":"s/steap/step and may be s/Ironic\u0027s/ Ironic node","commit_id":"49209ac5d3dc12e0a74a107b6c7b5c1e8617a57e"}],"ironic_python_agent/hardware.py":[{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"817524a89597ef4628818b71a4ef0db275dbf503","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                               the node via the power driver after the"},{"line_number":178,"context_line":"                               operation completes."},{"line_number":179,"context_line":"           \u0027abortable\u0027: Boolean value. Whether the clean step is abortable"},{"line_number":180,"context_line":"                        or not."},{"line_number":181,"context_line":"          }"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        If multiple hardware managers return the same step name, the priority"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_09bc486b","line":180,"updated":"2015-08-03 18:27:00.000000000","message":"I think more guidance for developers writing new steps might be handy here, something like \"abortable steps can be stopped at any time by an operator. If the clean step can cause non-reversible damage to the hardware, this value should be false.\" I\u0027m sure you can word it better than me though :)","commit_id":"744a1808cb4b02e018d60b88baa33f99101ff806"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cbe38892f9e79c39ee3583cd7fdd0d374af89b15","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                               the node via the power driver after the"},{"line_number":178,"context_line":"                               operation completes."},{"line_number":179,"context_line":"           \u0027abortable\u0027: Boolean value. Whether the clean step is abortable"},{"line_number":180,"context_line":"                        or not."},{"line_number":181,"context_line":"          }"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        If multiple hardware managers return the same step name, the priority"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_17d9f9f2","line":180,"in_reply_to":"1a4dcd0f_09bc486b","updated":"2015-09-07 09:18:06.000000000","message":"Good point, will add!","commit_id":"744a1808cb4b02e018d60b88baa33f99101ff806"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"98f031383f03c30c7689b2cd944dda6b8df98cae","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                \u0027priority\u0027: 10,"},{"line_number":203,"context_line":"                \u0027interface\u0027: \u0027deploy\u0027,"},{"line_number":204,"context_line":"                \u0027reboot_requested\u0027: False,"},{"line_number":205,"context_line":"                \u0027abortable\u0027: True"},{"line_number":206,"context_line":"            }"},{"line_number":207,"context_line":"        ]"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_0d4ee13a","line":205,"updated":"2015-07-28 22:32:12.000000000","message":"Why should this be abortable by default? It seems dangerous to allow cleaning to continue if a node\u0027s disks aren\u0027t fully erased.","commit_id":"744a1808cb4b02e018d60b88baa33f99101ff806"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cbe38892f9e79c39ee3583cd7fdd0d374af89b15","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                \u0027priority\u0027: 10,"},{"line_number":203,"context_line":"                \u0027interface\u0027: \u0027deploy\u0027,"},{"line_number":204,"context_line":"                \u0027reboot_requested\u0027: False,"},{"line_number":205,"context_line":"                \u0027abortable\u0027: True"},{"line_number":206,"context_line":"            }"},{"line_number":207,"context_line":"        ]"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_b7a84d21","line":205,"in_reply_to":"1a4dcd0f_a9ad1433","updated":"2015-09-07 09:18:06.000000000","message":"HI @Mario,\n\nYeah just like @Josh pointed out the node won\u0027t go to available directly if the cleaning is aborted, instead it\u0027s going to \"clean fail\". The operator can then restart the cleaning or move it to \"manageable\" state where he can do what is needed to fix the node and then do the \"provide\" the node again (which will go trough cleaning and then available)","commit_id":"744a1808cb4b02e018d60b88baa33f99101ff806"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"817524a89597ef4628818b71a4ef0db275dbf503","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                \u0027priority\u0027: 10,"},{"line_number":203,"context_line":"                \u0027interface\u0027: \u0027deploy\u0027,"},{"line_number":204,"context_line":"                \u0027reboot_requested\u0027: False,"},{"line_number":205,"context_line":"                \u0027abortable\u0027: True"},{"line_number":206,"context_line":"            }"},{"line_number":207,"context_line":"        ]"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a9ad1433","line":205,"in_reply_to":"3a50d1a3_0d4ee13a","updated":"2015-08-03 18:27:00.000000000","message":"Some context that may be missing from the commit message: cleaning won\u0027t continue, it will fail (at least I think! Lucas?). The point is that an operator is consciously choosing to quit a command by issuing an API command, knowing that it may cause problems (like the disk not being fully erased). The node then will go to \"clean failed\" state, and will be automatically cleaned before being available again. Non-abortable steps should be things like firmware flashes or BIOS flashes..if you cut the power to the node part way through, you might have bricked your hardware, and we should do everything we can to avoid that.","commit_id":"744a1808cb4b02e018d60b88baa33f99101ff806"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f320335da10e2cefb669d2c0c9c8a9e1d9a311c4","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                \u0027priority\u0027: 10,"},{"line_number":265,"context_line":"                \u0027interface\u0027: \u0027deploy\u0027,"},{"line_number":266,"context_line":"                \u0027reboot_requested\u0027: False,"},{"line_number":267,"context_line":"                \u0027abortable\u0027: True"},{"line_number":268,"context_line":"            }"},{"line_number":269,"context_line":"        ]"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_9ba522a3","line":267,"updated":"2015-09-07 17:22:28.000000000","message":"nit: would be nice to have trailing comma","commit_id":"49209ac5d3dc12e0a74a107b6c7b5c1e8617a57e"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"f73c7329ea5941af200fa082509171c9726e885c","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                               the node via the power driver after the"},{"line_number":236,"context_line":"                               operation completes."},{"line_number":237,"context_line":"           \u0027abortable\u0027: Boolean value. Whether the clean step can be"},{"line_number":238,"context_line":"                        stopped by the operator or not. Some clean step may"},{"line_number":239,"context_line":"                        cause non-reversible damage to a machine if interrupted"},{"line_number":240,"context_line":"                        (i.e firmware update), for such steps this parameter"},{"line_number":241,"context_line":"                        should be set to False. If no value is set for this"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_d2c55d8e","line":238,"updated":"2015-09-26 18:02:25.000000000","message":"+1","commit_id":"950939359c480aaaba4bac90c77f9729e498256c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"59a8f4442b97f716260e055d542a6272fc0a719e","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                               the node via the power driver after the"},{"line_number":236,"context_line":"                               operation completes."},{"line_number":237,"context_line":"           \u0027abortable\u0027: Boolean value. Whether the clean step can be"},{"line_number":238,"context_line":"                        stopped by the operator or not. Some clean step may"},{"line_number":239,"context_line":"                        cause non-reversible damage to a machine if interrupted"},{"line_number":240,"context_line":"                        (i.e firmware update), for such steps this parameter"},{"line_number":241,"context_line":"                        should be set to False. If no value is set for this"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_d35a4c50","line":238,"updated":"2015-09-25 23:25:35.000000000","message":"nit: s/step/steps","commit_id":"950939359c480aaaba4bac90c77f9729e498256c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"59a8f4442b97f716260e055d542a6272fc0a719e","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                \u0027priority\u0027: 10,"},{"line_number":265,"context_line":"                \u0027interface\u0027: \u0027deploy\u0027,"},{"line_number":266,"context_line":"                \u0027reboot_requested\u0027: False,"},{"line_number":267,"context_line":"                \u0027abortable\u0027: True"},{"line_number":268,"context_line":"            }"},{"line_number":269,"context_line":"        ]"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_9354d421","line":267,"updated":"2015-09-25 23:25:35.000000000","message":"nit: add trailing comma","commit_id":"950939359c480aaaba4bac90c77f9729e498256c"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"f73c7329ea5941af200fa082509171c9726e885c","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                \u0027priority\u0027: 10,"},{"line_number":265,"context_line":"                \u0027interface\u0027: \u0027deploy\u0027,"},{"line_number":266,"context_line":"                \u0027reboot_requested\u0027: False,"},{"line_number":267,"context_line":"                \u0027abortable\u0027: True"},{"line_number":268,"context_line":"            }"},{"line_number":269,"context_line":"        ]"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_32ce19b5","line":267,"updated":"2015-09-26 18:02:25.000000000","message":"no need of trailing comma","commit_id":"950939359c480aaaba4bac90c77f9729e498256c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"6dc3c816de13e448ba891b493744f676e0bbc584","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                \u0027priority\u0027: 10,"},{"line_number":265,"context_line":"                \u0027interface\u0027: \u0027deploy\u0027,"},{"line_number":266,"context_line":"                \u0027reboot_requested\u0027: False,"},{"line_number":267,"context_line":"                \u0027abortable\u0027: True"},{"line_number":268,"context_line":"            }"},{"line_number":269,"context_line":"        ]"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_6dd4b446","line":267,"in_reply_to":"9a1a9d01_32ce19b5","updated":"2015-09-26 21:04:41.000000000","message":"venkatamahesh,\n\nhttp://docs.openstack.org/developer/hacking/#dictionaries-lists","commit_id":"950939359c480aaaba4bac90c77f9729e498256c"}]}
