)]}'
{"specs/approved/task-control-functions-for-long-running-tasks.rst":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"40726d3fedda8dbb391e546846ee892fce65f5b0","unresolved":false,"context_lines":[{"line_number":15,"context_line":"mechanism of supporting `abort` operation for `soft reboot`, `soft"},{"line_number":16,"context_line":"power off` and `inject nmi`."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"However the basic mechanism which this specification proposes can be"},{"line_number":19,"context_line":"generalized in concurrent programming to support not only `abort` but"},{"line_number":20,"context_line":"also `cancel`, `rollback`, `get status or current progress`,"},{"line_number":21,"context_line":"`suspend`, `resume` and alike which requires inter thread"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_8bb673f7","line":18,"updated":"2015-12-02 17:08:58.000000000","message":"Only info related to power interface described in this spec, nothing about generic support.","commit_id":"0ad69acde93a26f752b7f3057352d67519c6aa83"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"cde3779bb4bfe206cebd682b6a24d40633b8f46e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"mechanism of supporting `abort` operation for `soft reboot`, `soft"},{"line_number":16,"context_line":"power off` and `inject nmi`."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"However the basic mechanism which this specification proposes can be"},{"line_number":19,"context_line":"generalized in concurrent programming to support not only `abort` but"},{"line_number":20,"context_line":"also `cancel`, `rollback`, `get status or current progress`,"},{"line_number":21,"context_line":"`suspend`, `resume` and alike which requires inter thread"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_d7e394a2","line":18,"in_reply_to":"9a8ffd7b_8bb673f7","updated":"2015-12-03 09:43:05.000000000","message":"Okay, I\u0027ll remove this paragraph.","commit_id":"0ad69acde93a26f752b7f3057352d67519c6aa83"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"40726d3fedda8dbb391e546846ee892fce65f5b0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Problem description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":"The power control operation such as `soft reboot`, `soft power off`"},{"line_number":27,"context_line":"and `inject nmi` would take a long time or could be hanged."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"However currently there is no way to abort those tasks."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_5afa9276","line":27,"updated":"2015-12-02 17:08:58.000000000","message":"Sorry if I misunderstand something, please provide an example how inject nmi takes a long time.","commit_id":"0ad69acde93a26f752b7f3057352d67519c6aa83"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"cde3779bb4bfe206cebd682b6a24d40633b8f46e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Problem description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":"The power control operation such as `soft reboot`, `soft power off`"},{"line_number":27,"context_line":"and `inject nmi` would take a long time or could be hanged."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"However currently there is no way to abort those tasks."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_9a9d31be","line":27,"in_reply_to":"9a8ffd7b_5afa9276","updated":"2015-12-03 09:43:05.000000000","message":"In my experience on fujitsu server, it takes just same amount of time as reboot.\n\nI think it doesn\u0027t usually take a long time if OS settings is correct.\n\nIn case of hand, I believe that most cases are cuased by incorrect OS settings.","commit_id":"0ad69acde93a26f752b7f3057352d67519c6aa83"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"fc59475b1a41ec7e0887751cbb6dd1a173964fc3","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Problem description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":"The power control operation such as `soft reboot`, `soft power off`"},{"line_number":27,"context_line":"and `inject nmi` would take a long time or could be hanged."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"However currently there is no way to abort those tasks."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_ebc6f166","line":27,"in_reply_to":"9a8ffd7b_9a9d31be","updated":"2015-12-03 10:36:04.000000000","message":"Hardware part of NMI action should be work quickly \"by design\". Probably it takes a long time if OS makes a big memory dumps for example. Looks like Ironic should interact with user\u0027s OS, this is not a good idea.","commit_id":"0ad69acde93a26f752b7f3057352d67519c6aa83"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"da0c6cbe79c7d6b4d283382a76ce80555981491b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Problem description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":"The power control operation such as `soft reboot`, `soft power off`"},{"line_number":27,"context_line":"and `inject nmi` would take a long time or could be hanged."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"However currently there is no way to abort those tasks."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_f82505c2","line":27,"in_reply_to":"9a8ffd7b_ebc6f166","updated":"2015-12-04 02:08:40.000000000","message":"Yuriy,\n\nI got your point when I examined your comment [1].\n\nIn case of ipmitool, inject nmi is just a trigger, the ipmitool command execution time is very short, in this sense, the command is async.\n\nHowever in case of iRMC, I believe other vendor\u0027s BMC as well, we can get the OS status via OOB.\n\nSo I agree with you that it\u0027s not good idea that Ironic interact user\u0027s OS directly, but vendor\u0027s BMC can query the OS status without interacting user\u0027s OS directly.\n\n\n[1] https://review.openstack.org/#/c/186700/17/specs/approved/enhance-power-interface-for-soft-reboot-and-nmi.rst  at the line 164.\n\nBest regards,\nNaohiro","commit_id":"0ad69acde93a26f752b7f3057352d67519c6aa83"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b6c0c0723607d49b304feee5dd9571fc76bcd0ee","unresolved":false,"context_lines":[{"line_number":21,"context_line":"The power control operation such as `soft reboot`, `soft power off`"},{"line_number":22,"context_line":"and `inject nmi` would take a long time or could be hanged."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"However currently there is no way to abort those tasks."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af94dfe_63eb0d14","line":24,"updated":"2016-03-17 14:49:14.000000000","message":"\"There is not way to\" is not a problem description :) what is the use case of aborting power off? Will it be used during normal power off or only when it \"hangs\"?","commit_id":"f1abded6ee6e6c0a88818af0f1ad3e93dcd8d01e"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"f7d8bea2d46f2f7ba95df8cd44d9b87712e6a185","unresolved":false,"context_lines":[{"line_number":21,"context_line":"The power control operation such as `soft reboot`, `soft power off`"},{"line_number":22,"context_line":"and `inject nmi` would take a long time or could be hanged."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"However currently there is no way to abort those tasks."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa0719c6_6b50495f","line":24,"in_reply_to":"1af94dfe_63eb0d14","updated":"2016-03-22 05:58:38.000000000","message":"Okay, I\u0027ll update the problem description more concretely.\nIt is mainly for the case of Soft power off/reboot hangs.","commit_id":"f1abded6ee6e6c0a88818af0f1ad3e93dcd8d01e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b6c0c0723607d49b304feee5dd9571fc76bcd0ee","unresolved":false,"context_lines":[{"line_number":29,"context_line":"In order to enable to abort those tasks, this spec proposes to"},{"line_number":30,"context_line":"introduce ABORT target power state as a transition state."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The following changes are required:"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"1. add the following new states to ironic.common.states::"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af94dfe_43f091fe","line":32,"updated":"2016-03-17 14:49:14.000000000","message":"this whole test should be moved to \"state machine impact\" section. here please describe the high-level idea of how it will be implemented. What happens when you abort power off? How exactly do you abort it?","commit_id":"f1abded6ee6e6c0a88818af0f1ad3e93dcd8d01e"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"f7d8bea2d46f2f7ba95df8cd44d9b87712e6a185","unresolved":false,"context_lines":[{"line_number":29,"context_line":"In order to enable to abort those tasks, this spec proposes to"},{"line_number":30,"context_line":"introduce ABORT target power state as a transition state."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The following changes are required:"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"1. add the following new states to ironic.common.states::"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa0719c6_b63008ea","line":32,"in_reply_to":"1af94dfe_43f091fe","updated":"2016-03-22 05:58:38.000000000","message":"\u003e this whole test should be moved to \"state machine impact\" section. here please describe the high-level idea of how it will be implemented.\n\nI\u0027ll fix that.\n\n\u003e What happens when you abort power off?\n\nStay as is with error power state.\n\n\u003e How exactly do you abort it?\n\nI\u0027m thinking to use message queue between threads.\n\nPlease look at the page 46-55.\n\nhttp://www.slideshare.net/naohirot/ironic-towards-truly-open-and-reliable-eventually-for-mission-critical/46\n\nI\u0027m going to put the link to this spec.","commit_id":"f1abded6ee6e6c0a88818af0f1ad3e93dcd8d01e"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"32529c58ef7c6af767258f0be77c092896b7794b","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"},{"line_number":48,"context_line":"------------"},{"line_number":49,"context_line":"None."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da4df55a_5928ae86","line":49,"updated":"2016-12-26 20:27:30.000000000","message":"Timeouts for \"soft\" power operation (previous spec merged) are good alternative. They are not require any external/operator actions.","commit_id":"cc3af9e4cfb9cc858655f3e1b02ca79ace3544a0"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"268b5de7ed659dca0b93c5785b5769fef9363b1f","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"},{"line_number":48,"context_line":"------------"},{"line_number":49,"context_line":"None."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da4df55a_99a93693","line":49,"in_reply_to":"da4df55a_5928ae86","updated":"2016-12-26 21:03:30.000000000","message":"And if you specific HW can checks OS status after NMI you can introduce timeout config option for your driver.","commit_id":"cc3af9e4cfb9cc858655f3e1b02ca79ace3544a0"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"04c2d7c3ca9b19ef3cb6bbf988a7459dc145cb21","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"},{"line_number":48,"context_line":"------------"},{"line_number":49,"context_line":"None."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba5201f7_ac85d807","line":49,"in_reply_to":"da4df55a_5928ae86","updated":"2017-01-05 02:15:37.000000000","message":"I\u0027ll add that.","commit_id":"cc3af9e4cfb9cc858655f3e1b02ca79ace3544a0"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"04c2d7c3ca9b19ef3cb6bbf988a7459dc145cb21","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"},{"line_number":48,"context_line":"------------"},{"line_number":49,"context_line":"None."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba5201f7_acb318e8","line":49,"in_reply_to":"da4df55a_99a93693","updated":"2017-01-05 02:15:37.000000000","message":"Yes, timeout works.","commit_id":"cc3af9e4cfb9cc858655f3e1b02ca79ace3544a0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b037c6318d4cb9adae89603cf0e36e6e49eebaaa","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":"The soft power control operation such as `soft reboot`, `soft power"},{"line_number":22,"context_line":"off` and `inject nmi` would take a long time or could be hanged."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"However currently there is no way to abort those tasks."},{"line_number":25,"context_line":"Therefor user cannot do anything since Ironic conductor keeps blocking"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_ba7e6fac","line":22,"updated":"2017-02-19 13:08:35.000000000","message":"nit: s/be hanged/get stuck forever/?","commit_id":"566d465038fa808610ab2beb550461ecc5fb0237"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b037c6318d4cb9adae89603cf0e36e6e49eebaaa","unresolved":false,"context_lines":[{"line_number":38,"context_line":"`eventlet queue \u003chttp://eventlet.net/doc/modules/queue.html\u003e`_, then"},{"line_number":39,"context_line":"the soft power aborts by changing the power state to error state."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Overall steps are described in the page 46 to 55 of Tokyo summit"},{"line_number":42,"context_line":"technical session slide `Ironic Towards Truly Open and Reliable,"},{"line_number":43,"context_line":"Eventually for Mission Critical"},{"line_number":44,"context_line":"\u003chttp://www.slideshare.net/naohirot/ironic-towards-truly-open-and-reliable-eventually-for-mission-critical/46\u003e`_."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_da496390","line":41,"updated":"2017-02-19 13:08:35.000000000","message":"Please provide all relevant information inline (if any). Otherwise please move this to references.","commit_id":"566d465038fa808610ab2beb550461ecc5fb0237"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b037c6318d4cb9adae89603cf0e36e6e49eebaaa","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    ABORT_SOFT_REBOOT \u003d \u0027abort soft rebooting\u0027"},{"line_number":68,"context_line":"    ABORT_SOFT_POWER_OFF \u003d \u0027abort soft power off\u0027"},{"line_number":69,"context_line":"    ABORT_INJECT_NMI \u003d \u0027abort inject nmi\u0027"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"2. update the default implementation of \"get_supported_power_states\" method"},{"line_number":72,"context_line":"   in PowerInterface to support only `ABORT_SOFT_REBOOT` and"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_fa4e2795","line":69,"updated":"2017-02-19 13:08:35.000000000","message":"similar to the \"abort\" provision state, let\u0027s have only one \"abort\" operation that will abort whatever power action is in progress.","commit_id":"566d465038fa808610ab2beb550461ecc5fb0237"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b037c6318d4cb9adae89603cf0e36e6e49eebaaa","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    ABORT_POWER_OFF   | not ERROR    | POWER_OFF_SOFT     | ERROR"},{"line_number":111,"context_line":"    ABORT_POWER_OFF   | any state    | not POWER_OFF_SOFT | start state"},{"line_number":112,"context_line":"    ABORT_INJECT_NMI  | not ERROR    | INJECT_NMI         | ERROR"},{"line_number":113,"context_line":"    ABORT_INJECT_NMI  | any state    | not INJECT_NMI     | start state"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    Note: This IPMIPower reference implementation supports"},{"line_number":116,"context_line":"          SOFT_POWER_OFF and INJECT_NMI, but not states.ABORT_INJECT_NMI."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da36d5c6_1a44db72","line":113,"updated":"2017-02-19 13:08:35.000000000","message":"Two things are still not clear here.\n\n1. What does it mean to abort injectining NMI? what should users expect?\n\n2. More importantly, after you set power_state to ERROR (or anything), it\u0027s going to be overwritten by the power sync routine. How are you going to handle it?","commit_id":"566d465038fa808610ab2beb550461ecc5fb0237"}]}
