)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"90e546a41eb69dfdd01811bbf8fb72ddbf8d3262","unresolved":false,"context_lines":[{"line_number":10,"context_line":"instance for triggering a special function such as the kernel crash dump"},{"line_number":11,"context_line":"mechanism."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements: blueprint inject-nmi"},{"line_number":14,"context_line":"Change-Id: Ie555c0da54204d19500a9cae0e6607326fe04a9f"},{"line_number":15,"context_line":"Signed-off-by: Tang Chen \u003ctangchen@cn.fujitsu.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a2ca52d_a45c10ee","line":13,"updated":"2015-10-15 03:14:47.000000000","message":"This is spec proposed API changes. So we should add APIImpact flag at here too. This is good for Nova API sub-team track all the api changes. Thanks Alex","commit_id":"0fb8a536b9827c29a929288d3dac230580bb8362"}],"specs/mitaka/approved/instance-crash-dump.rst":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"160aa579197c3da4f2715ac71184c1926966e753","unresolved":false,"context_lines":[{"line_number":68,"context_line":"* Add a driver API to inject NMI to an instance."},{"line_number":69,"context_line":"  (Already merged in Liberty: https://review.openstack.org/#/c/202380/)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Add a Nova API to trigger crash dump in instance using the API above."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Alternatives"},{"line_number":74,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_32b5ba30","line":71,"updated":"2015-11-05 08:05:46.000000000","message":"we should describe about if the hypervisor didn\u0027t support this. An instance-action should be reported. It discussed at https://review.openstack.org/#/c/202605/23","commit_id":"121dfb3e8e7fd4ebf144717938d2d32d47fb6536"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"da88b23f76a89e4bd0f3dcbd067d7298f54d4b8b","unresolved":false,"context_lines":[{"line_number":68,"context_line":"* Add a driver API to inject NMI to an instance."},{"line_number":69,"context_line":"  (Already merged in Liberty: https://review.openstack.org/#/c/202380/)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Add a Nova API to trigger crash dump in instance using the API above."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Alternatives"},{"line_number":74,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_bc1b9172","line":71,"in_reply_to":"fa80f949_32b5ba30","updated":"2015-11-06 02:30:52.000000000","message":"Done","commit_id":"121dfb3e8e7fd4ebf144717938d2d32d47fb6536"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"160aa579197c3da4f2715ac71184c1926966e753","unresolved":false,"context_lines":[{"line_number":86,"context_line":"  * A description of what the method does suitable for use in"},{"line_number":87,"context_line":"    user documentation"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    * Injects an NMI to a server."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  * Method type"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_0794f6df","line":89,"updated":"2015-11-05 08:05:46.000000000","message":"This should be changed, maybe \u0027generate a crash dump for a server\u0027?","commit_id":"121dfb3e8e7fd4ebf144717938d2d32d47fb6536"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"da88b23f76a89e4bd0f3dcbd067d7298f54d4b8b","unresolved":false,"context_lines":[{"line_number":86,"context_line":"  * A description of what the method does suitable for use in"},{"line_number":87,"context_line":"    user documentation"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    * Injects an NMI to a server."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  * Method type"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_5c0ce53a","line":89,"in_reply_to":"fa80f949_0794f6df","updated":"2015-11-06 02:30:52.000000000","message":"Done","commit_id":"121dfb3e8e7fd4ebf144717938d2d32d47fb6536"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b7ccf9619d61e3584f4f210c6cf5de97967f42e0","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Add a Nova API to trigger crash dump in instance using the driver API"},{"line_number":72,"context_line":"  introduced above. An instance action will be recorded. If the hypervisor"},{"line_number":73,"context_line":"  doesn\u0027t support injecting NMI, an NotImplementedError will be raised."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_075f4642","line":73,"updated":"2015-11-09 09:32:02.000000000","message":"do you plan to introduce a new task state ?","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"c18e6a0df2e04a72e8d47d1d73a1922fe79d1308","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Add a Nova API to trigger crash dump in instance using the driver API"},{"line_number":72,"context_line":"  introduced above. An instance action will be recorded. If the hypervisor"},{"line_number":73,"context_line":"  doesn\u0027t support injecting NMI, an NotImplementedError will be raised."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_5c1b3381","line":73,"in_reply_to":"da85f559_075f4642","updated":"2015-11-12 09:06:32.000000000","message":"No, I don\u0027t. Is this to make it exclusive to other task states ?  Sorry, I don\u0027t quite understand the question. :)","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b7ccf9619d61e3584f4f210c6cf5de97967f42e0","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    * badRequest(400)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"      * When RPC doesn\u0027t support this API, this error will be returned. If a"},{"line_number":106,"context_line":"        driver does not implement the API, the error is handled by Instance"},{"line_number":107,"context_line":"        Action because the API is asynchronous."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      * When a hypervisor fails to send an NMI, this code is used with an"},{"line_number":110,"context_line":"        error message including a reason."}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_e7f9e24e","line":107,"range":{"start_line":105,"start_character":0,"end_line":107,"end_character":47},"updated":"2015-11-09 09:32:02.000000000","message":"not sure you need to comment on that. Let me explain : \n- either the server supports the new server action and then it\u0027s an API success even if the driver doesn\u0027t support it\n- or the server doesn\u0027t support that, but the error handling is already managed by the microversion tooling - no need to mention that in the spec except that \u0027a new microversion will be punted\u0027","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b7ccf9619d61e3584f4f210c6cf5de97967f42e0","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        Action because the API is asynchronous."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      * When a hypervisor fails to send an NMI, this code is used with an"},{"line_number":110,"context_line":"        error message including a reason."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    * itemNotFound(404)"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_476d4e03","line":110,"updated":"2015-11-09 09:32:02.000000000","message":"that\u0027s not a REST API impact. Like you said, it\u0027s asynchronous\n\nTbh, I\u0027m more interested in describing what would be the instance task state if the action is not supported?","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"b64011ca353c10945f99a2276143defb946f6942","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        Action because the API is asynchronous."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      * When a hypervisor fails to send an NMI, this code is used with an"},{"line_number":110,"context_line":"        error message including a reason."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    * itemNotFound(404)"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_04e8bb15","line":110,"in_reply_to":"da85f559_3b02eb0a","updated":"2015-11-13 01:28:23.000000000","message":"Done","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"c18e6a0df2e04a72e8d47d1d73a1922fe79d1308","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        Action because the API is asynchronous."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      * When a hypervisor fails to send an NMI, this code is used with an"},{"line_number":110,"context_line":"        error message including a reason."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    * itemNotFound(404)"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_d0194723","line":110,"in_reply_to":"da85f559_476d4e03","updated":"2015-11-12 09:06:32.000000000","message":"Yes. I think I can just remove it here.\n\nAnd I don\u0027t think the API will touch the task state. IIUC, the behavior would be like this: if the hypervisor doesn\u0027t support NMI, then instance action process will handle the error, and task state is not changed.","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"aaef88400c681b6a2111524a877ddff3ac06e516","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        Action because the API is asynchronous."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      * When a hypervisor fails to send an NMI, this code is used with an"},{"line_number":110,"context_line":"        error message including a reason."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    * itemNotFound(404)"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_3b02eb0a","line":110,"in_reply_to":"da85f559_d0194723","updated":"2015-11-12 11:43:40.000000000","message":"Okay, thanks for the clarification. Could you please then rewrite the spec when you\u0027ll need to respin it by explaining that the action won\u0027t modify neither task state nor VM state but will create a new instance action that the owner can call to see if it was okay or not ?","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b7ccf9619d61e3584f4f210c6cf5de97967f42e0","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        {"},{"line_number":139,"context_line":"            \"crash_dump\": null"},{"line_number":140,"context_line":"        }"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"  * JSON schema definition for the response data"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_e72c82ad","line":139,"range":{"start_line":139,"start_character":13,"end_line":139,"end_character":23},"updated":"2015-11-09 09:32:02.000000000","message":"I fully agree with Oomichi, it\u0027s just passing a signal to a VM, not getting a dump so I\u0027d prefer inject_nmi","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b7ccf9619d61e3584f4f210c6cf5de97967f42e0","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    * When the result is successful, no response body is returned."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    * When an error occurs, the response data includes the error message [5]."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Security impact"},{"line_number":149,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_223838d3","line":146,"updated":"2015-11-09 09:32:02.000000000","message":"I don\u0027t see how you can get an error unless the server doesn\u0027t support that action","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b7ccf9619d61e3584f4f210c6cf5de97967f42e0","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* A CLI for the new API will be added to python-novaclient. ::"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    nova crashdump \u003cserver\u003e"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Performance Impact"},{"line_number":166,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_625c0026","line":163,"range":{"start_line":163,"start_character":9,"end_line":163,"end_character":18},"updated":"2015-11-09 09:32:02.000000000","message":"again, I\u0027d prefer inject-nmi","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"c18e6a0df2e04a72e8d47d1d73a1922fe79d1308","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* A CLI for the new API will be added to python-novaclient. ::"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    nova crashdump \u003cserver\u003e"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Performance Impact"},{"line_number":166,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_d38f1173","line":163,"in_reply_to":"da85f559_580de88e","updated":"2015-11-12 09:06:32.000000000","message":"Well, \"trigger crash\" makes no difference with \"crash dump\". I think we can do it like this: \n- Different driver implements crash dump in different ways, libvirt uses NMI. So in libvirt driver, the API is call inject_nmi().\n- To enduser, \"crash_dump/trigger_crash\" make more sense, and is not tied to platform. And how to do the crash dump, it is the driver\u0027s thing.\n- About the functionality oomichi said, get the dump file out of gesut image and upload it to glance, kdump supports to dump the file to a net storage. I think we can add an element to disk-image-builder, and configure kdump like this. Then when we trigger kdump, it will dump everything to a net storage.\n\nSo, shall we call it crash_dump ?","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"9cbdfa9ce59ee3a8fcd99bf9e47ce1a573ed1306","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* A CLI for the new API will be added to python-novaclient. ::"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    nova crashdump \u003cserver\u003e"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Performance Impact"},{"line_number":166,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_8e9c6ec1","line":163,"in_reply_to":"da85f559_625c0026","updated":"2015-11-10 11:08:34.000000000","message":"Using \"inject-nmi\" ties the API to a platform specific implementation. Non x86 platforms may not use NMIs for triggering crash dumps. So using nmi in the API name is not a great choice for non-x86.\n\nHow about just \u0027trigger-crash\u0027","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c211a66a8879d9b1da9cd56dd5ecd9f71f300b3b","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* A CLI for the new API will be added to python-novaclient. ::"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    nova crashdump \u003cserver\u003e"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Performance Impact"},{"line_number":166,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_580de88e","line":163,"in_reply_to":"da85f559_8e9c6ec1","updated":"2015-11-10 13:16:49.000000000","message":"Fair enough for me using \u0027trigger-crash\u0027. You\u0027re right Dan, we shouldn\u0027t provide a name related to a platform.","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"aaef88400c681b6a2111524a877ddff3ac06e516","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* A CLI for the new API will be added to python-novaclient. ::"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    nova crashdump \u003cserver\u003e"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Performance Impact"},{"line_number":166,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_fb6c63d1","line":163,"in_reply_to":"da85f559_d38f1173","updated":"2015-11-12 11:43:40.000000000","message":"no real opinion on that but only saying that I was wrong when saying NMI for an API stuff given it\u0027s a libvirt-only name","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b7ccf9619d61e3584f4f210c6cf5de97967f42e0","unresolved":false,"context_lines":[{"line_number":174,"context_line":"----------------"},{"line_number":175,"context_line":"This change adds a new API to the driver."},{"line_number":176,"context_line":"This spec will implement the new API  on the libvirt driver."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Implementation"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_42a53c02","line":177,"updated":"2015-11-09 09:32:02.000000000","message":"again, I wonder how we could properly track that a task has been sent to the instance and can possibly fail.\nIf so, what could be the behaviour ?","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"b64011ca353c10945f99a2276143defb946f6942","unresolved":false,"context_lines":[{"line_number":174,"context_line":"----------------"},{"line_number":175,"context_line":"This change adds a new API to the driver."},{"line_number":176,"context_line":"This spec will implement the new API  on the libvirt driver."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Implementation"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_a4920f9e","line":177,"in_reply_to":"da85f559_3b9e6bb9","updated":"2015-11-13 01:28:23.000000000","message":"Done","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"c18e6a0df2e04a72e8d47d1d73a1922fe79d1308","unresolved":false,"context_lines":[{"line_number":174,"context_line":"----------------"},{"line_number":175,"context_line":"This change adds a new API to the driver."},{"line_number":176,"context_line":"This spec will implement the new API  on the libvirt driver."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Implementation"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_73f505eb","line":177,"in_reply_to":"da85f559_42a53c02","updated":"2015-11-12 09:06:32.000000000","message":"Please see the comment above. :)","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"aaef88400c681b6a2111524a877ddff3ac06e516","unresolved":false,"context_lines":[{"line_number":174,"context_line":"----------------"},{"line_number":175,"context_line":"This change adds a new API to the driver."},{"line_number":176,"context_line":"This spec will implement the new API  on the libvirt driver."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Implementation"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da85f559_3b9e6bb9","line":177,"in_reply_to":"da85f559_73f505eb","updated":"2015-11-12 11:43:40.000000000","message":"I\u0027m fine with using instance actions for tracking the behaviour, but I\u0027d love to see that written :-)","commit_id":"738d99bac68de1a8ad70fc392b978a834f7a2ec9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9e97c68606ae2c33b2307b389c1a20441b3e6471","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/instance-crash-dump"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec adds a new API to trigger crash dump in a server (instance or"},{"line_number":14,"context_line":"baremetal) by injecting an NMI(Non-maskable Interruption)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_2db5917d","line":14,"range":{"start_line":14,"start_character":24,"end_line":14,"end_character":57},"updated":"2015-11-13 11:22:22.000000000","message":"so we agreed to not use specific driver terminology at the API level. You should somehow rewrite that by using a generic wording like \"by injecting a driver-specific signal to the VM\"","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"63e095ff593c549d39bd7f42c906992231714d78","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/instance-crash-dump"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec adds a new API to trigger crash dump in a server (instance or"},{"line_number":14,"context_line":"baremetal) by injecting an NMI(Non-maskable Interruption)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_ad4acf81","line":14,"in_reply_to":"da85f559_2db5917d","updated":"2015-11-17 07:11:43.000000000","message":"Done","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9e97c68606ae2c33b2307b389c1a20441b3e6471","unresolved":false,"context_lines":[{"line_number":18,"context_line":"For now, we can not trigger crash dump in a server from nova. But users need"},{"line_number":19,"context_line":"this functionality for some debug purpose."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"NMI(Non-maskable Interruption) can be used to trigger a special functionality."},{"line_number":22,"context_line":"For example, in the mission critical area, it is necessary to trigger the"},{"line_number":23,"context_line":"kernel crash dump mechanism. This depends on the user configuration in the OS."},{"line_number":24,"context_line":"User should configure the OS to trigger crash dump when it receives an NMI. In"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_cda64553","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":30},"updated":"2015-11-13 11:22:22.000000000","message":"again, you should then mention that it\u0027s libvirt only","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"63e095ff593c549d39bd7f42c906992231714d78","unresolved":false,"context_lines":[{"line_number":18,"context_line":"For now, we can not trigger crash dump in a server from nova. But users need"},{"line_number":19,"context_line":"this functionality for some debug purpose."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"NMI(Non-maskable Interruption) can be used to trigger a special functionality."},{"line_number":22,"context_line":"For example, in the mission critical area, it is necessary to trigger the"},{"line_number":23,"context_line":"kernel crash dump mechanism. This depends on the user configuration in the OS."},{"line_number":24,"context_line":"User should configure the OS to trigger crash dump when it receives an NMI. In"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_989e2755","line":21,"in_reply_to":"da85f559_cda64553","updated":"2015-11-17 07:11:43.000000000","message":"Done","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"17e8e668a0b9a9d90fd479c481f7ccefdd348b5e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"For now, we can not trigger crash dump in a server from nova. But users need"},{"line_number":19,"context_line":"this functionality for some debug purpose."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"NMI(Non-maskable Interruption) can be used to trigger a special functionality."},{"line_number":22,"context_line":"For example, in the mission critical area, it is necessary to trigger the"},{"line_number":23,"context_line":"kernel crash dump mechanism. This depends on the user configuration in the OS."},{"line_number":24,"context_line":"User should configure the OS to trigger crash dump when it receives an NMI. In"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_65c4d391","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":30},"in_reply_to":"da85f559_cda64553","updated":"2015-11-16 04:11:22.000000000","message":"It\u0027s for Ironic also ....  I expect that XenAPI can do something similar.","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9e97c68606ae2c33b2307b389c1a20441b3e6471","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"So we should add an API to inject NMI to server in driver level. Libvirt driver"},{"line_number":50,"context_line":"has implemented such an API [6]. And so will ironic driver for baremetal. And"},{"line_number":51,"context_line":"then add an Nova API to trigger crash dump in server."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"By default, the dump file will be stored in the server\u0027s disk. If the server"},{"line_number":54,"context_line":"is an instance, the dump file is in instance image file. We can also confugure"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_6d307908","line":51,"updated":"2015-11-13 11:22:22.000000000","message":"Given we\u0027re working on features classification, you should be very explicit that implementing that feature is optional for the drivers","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"63e095ff593c549d39bd7f42c906992231714d78","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"So we should add an API to inject NMI to server in driver level. Libvirt driver"},{"line_number":50,"context_line":"has implemented such an API [6]. And so will ironic driver for baremetal. And"},{"line_number":51,"context_line":"then add an Nova API to trigger crash dump in server."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"By default, the dump file will be stored in the server\u0027s disk. If the server"},{"line_number":54,"context_line":"is an instance, the dump file is in instance image file. We can also confugure"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_08b7463a","line":51,"in_reply_to":"da85f559_6d307908","updated":"2015-11-17 07:11:43.000000000","message":"Done","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9e97c68606ae2c33b2307b389c1a20441b3e6471","unresolved":false,"context_lines":[{"line_number":51,"context_line":"then add an Nova API to trigger crash dump in server."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"By default, the dump file will be stored in the server\u0027s disk. If the server"},{"line_number":54,"context_line":"is an instance, the dump file is in instance image file. We can also confugure"},{"line_number":55,"context_line":"the instance OS to dump the file to a net storage, so that user can get the"},{"line_number":56,"context_line":"file outside the instance. This can be done by adding an element to"},{"line_number":57,"context_line":"diskimage-builder."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Use Cases"},{"line_number":60,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_0d09ad31","line":57,"range":{"start_line":54,"start_character":57,"end_line":57,"end_character":18},"updated":"2015-11-13 11:22:22.000000000","message":"I feel it should be discussed in a separate spec that would depend on that one. For the moment, I would appreciate to consider the scope of that to be local-only dump.","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"63e095ff593c549d39bd7f42c906992231714d78","unresolved":false,"context_lines":[{"line_number":54,"context_line":"is an instance, the dump file is in instance image file. We can also confugure"},{"line_number":55,"context_line":"the instance OS to dump the file to a net storage, so that user can get the"},{"line_number":56,"context_line":"file outside the instance. This can be done by adding an element to"},{"line_number":57,"context_line":"diskimage-builder."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Use Cases"},{"line_number":60,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_9814e7f5","line":57,"in_reply_to":"da85f559_08a95b7b","updated":"2015-11-17 07:11:43.000000000","message":"Sure, removed.","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"65c0ad035aef2f142037631d3b6882302b75338e","unresolved":false,"context_lines":[{"line_number":54,"context_line":"is an instance, the dump file is in instance image file. We can also confugure"},{"line_number":55,"context_line":"the instance OS to dump the file to a net storage, so that user can get the"},{"line_number":56,"context_line":"file outside the instance. This can be done by adding an element to"},{"line_number":57,"context_line":"diskimage-builder."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Use Cases"},{"line_number":60,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_08a95b7b","line":57,"in_reply_to":"da85f559_0d09ad31","updated":"2015-11-16 06:26:11.000000000","message":"+1 for Sylvain comment here, the above seems too detail and it seems readers confused. The above is just a configration of an instance inside.","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9e97c68606ae2c33b2307b389c1a20441b3e6471","unresolved":false,"context_lines":[{"line_number":76,"context_line":"  task_state or vm_state."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* A new instance action will be introduced."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Alternatives"},{"line_number":81,"context_line":"------------"},{"line_number":82,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_7025b2ac","line":79,"updated":"2015-11-13 11:22:22.000000000","message":"You should also mention to amend the HypervisorSupportMatrix http://docs.openstack.org/developer/nova/support-matrix.html","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"63e095ff593c549d39bd7f42c906992231714d78","unresolved":false,"context_lines":[{"line_number":76,"context_line":"  task_state or vm_state."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* A new instance action will be introduced."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Alternatives"},{"line_number":81,"context_line":"------------"},{"line_number":82,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_28732a82","line":79,"in_reply_to":"da85f559_7025b2ac","updated":"2015-11-17 07:11:43.000000000","message":"Will mention in \"\tDocumentation Impact\" section.","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"65c0ad035aef2f142037631d3b6882302b75338e","unresolved":false,"context_lines":[{"line_number":138,"context_line":"    ::"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        {"},{"line_number":141,"context_line":"            \"trigger_crash\": null"},{"line_number":142,"context_line":"        }"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"  * JSON schema definition for the response data"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_68b027de","line":141,"updated":"2015-11-16 06:26:11.000000000","message":"fine for me, thanks","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"63e095ff593c549d39bd7f42c906992231714d78","unresolved":false,"context_lines":[{"line_number":138,"context_line":"    ::"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        {"},{"line_number":141,"context_line":"            \"trigger_crash\": null"},{"line_number":142,"context_line":"        }"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"  * JSON schema definition for the response data"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_08bc2604","line":141,"in_reply_to":"da85f559_68b027de","updated":"2015-11-17 07:11:43.000000000","message":"Thanks.","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9e97c68606ae2c33b2307b389c1a20441b3e6471","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    * When the result is successful, no response body is returned."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    * When an error occurs, the response data includes the error message [5]."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Security impact"},{"line_number":151,"context_line":"---------------"},{"line_number":152,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_b04a3a54","line":149,"updated":"2015-11-13 11:22:22.000000000","message":"you should somehow mention explicitly that it will require an API microversion.","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"63e095ff593c549d39bd7f42c906992231714d78","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    * When the result is successful, no response body is returned."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    * When an error occurs, the response data includes the error message [5]."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Security impact"},{"line_number":151,"context_line":"---------------"},{"line_number":152,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_c8d85e56","line":149,"in_reply_to":"da85f559_88b30be9","updated":"2015-11-17 07:11:43.000000000","message":"Done","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"65c0ad035aef2f142037631d3b6882302b75338e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    * When the result is successful, no response body is returned."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    * When an error occurs, the response data includes the error message [5]."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Security impact"},{"line_number":151,"context_line":"---------------"},{"line_number":152,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_88b30be9","line":149,"in_reply_to":"da85f559_b04a3a54","updated":"2015-11-16 06:26:11.000000000","message":"+1","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9e97c68606ae2c33b2307b389c1a20441b3e6471","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Documentation Impact"},{"line_number":213,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":214,"context_line":"The new API should be added to the documentation."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"References"},{"line_number":217,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_f06762e8","line":214,"updated":"2015-11-13 11:22:22.000000000","message":"That\u0027s probably here that you should mention http://docs.openstack.org/developer/nova/support-matrix.html","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"63e095ff593c549d39bd7f42c906992231714d78","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Documentation Impact"},{"line_number":213,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":214,"context_line":"The new API should be added to the documentation."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"References"},{"line_number":217,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_080186ae","line":214,"in_reply_to":"da85f559_f06762e8","updated":"2015-11-17 07:11:43.000000000","message":"Done","commit_id":"10ac0acc1e583edf602f514ad70d291ef91002fe"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"aa7761882b7c25d78ed30a1046ec65279268898f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"An end user needs an interface to trigger crash dump in his servers. By the"},{"line_number":50,"context_line":"trigger, the kernel crash dump mechanism dumps the production memory image as"},{"line_number":51,"context_line":"dump file, and reboot the kernel again. After that, the end user can get the"},{"line_number":52,"context_line":"dump file and investigate the problem reason based on the file."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Proposed change"},{"line_number":55,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_722a94e9","line":52,"updated":"2015-11-20 21:45:45.000000000","message":"how does the end user get access to the dump?","commit_id":"055f4770106379104f2111fd43a948321112e7b7"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"378d2e7c7d0b4b9f00f3306401df732af965e4bd","unresolved":false,"context_lines":[{"line_number":49,"context_line":"An end user needs an interface to trigger crash dump in his servers. By the"},{"line_number":50,"context_line":"trigger, the kernel crash dump mechanism dumps the production memory image as"},{"line_number":51,"context_line":"dump file, and reboot the kernel again. After that, the end user can get the"},{"line_number":52,"context_line":"dump file and investigate the problem reason based on the file."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Proposed change"},{"line_number":55,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_eb415f3a","line":52,"in_reply_to":"ba8a016a_1e5d2a79","updated":"2015-11-24 01:43:42.000000000","message":"Done","commit_id":"055f4770106379104f2111fd43a948321112e7b7"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"7b15934feb51370ebc109f646c6a2e19abb1853a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"An end user needs an interface to trigger crash dump in his servers. By the"},{"line_number":50,"context_line":"trigger, the kernel crash dump mechanism dumps the production memory image as"},{"line_number":51,"context_line":"dump file, and reboot the kernel again. After that, the end user can get the"},{"line_number":52,"context_line":"dump file and investigate the problem reason based on the file."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Proposed change"},{"line_number":55,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_b9168aa5","line":52,"in_reply_to":"ba8a016a_722a94e9","updated":"2015-11-23 01:50:10.000000000","message":"As Sylvain pointed out in Patch Set 8, we only consider the local-only dump case in this spec. The dump file is stored in the guest image, and users should restart the guest and go into the guest to access the dump file.\n\nAnd we have discussed how to get the dump file when oomichi said that we can copy the dump file out and upload it to glance for user to access. And I have wrote in Patch Set 8 that we can add an element to diskimage-builder to configure kdump to store the dump file to a network storage, such as NFS. But this should be in a new spec, not in this one.","commit_id":"055f4770106379104f2111fd43a948321112e7b7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0ee429c6653a19d3de0c9a0df62f116d456c5506","unresolved":false,"context_lines":[{"line_number":49,"context_line":"An end user needs an interface to trigger crash dump in his servers. By the"},{"line_number":50,"context_line":"trigger, the kernel crash dump mechanism dumps the production memory image as"},{"line_number":51,"context_line":"dump file, and reboot the kernel again. After that, the end user can get the"},{"line_number":52,"context_line":"dump file and investigate the problem reason based on the file."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Proposed change"},{"line_number":55,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_1e5d2a79","line":52,"in_reply_to":"ba8a016a_b9168aa5","updated":"2015-11-23 12:00:43.000000000","message":"If thats true, we should be very clear about that in the spec here.","commit_id":"055f4770106379104f2111fd43a948321112e7b7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0ee429c6653a19d3de0c9a0df62f116d456c5506","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    ::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        {"},{"line_number":129,"context_line":"            \"trigger_crash\": null"},{"line_number":130,"context_line":"        }"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"  * JSON schema definition for the response data"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_be773ed3","line":129,"updated":"2015-11-23 12:00:43.000000000","message":"did we not want something like:\ntriggerCrashDump\n\nThats more consistent with existing action names.","commit_id":"055f4770106379104f2111fd43a948321112e7b7"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"378d2e7c7d0b4b9f00f3306401df732af965e4bd","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    ::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        {"},{"line_number":129,"context_line":"            \"trigger_crash\": null"},{"line_number":130,"context_line":"        }"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"  * JSON schema definition for the response data"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_2b576703","line":129,"in_reply_to":"ba8a016a_be773ed3","updated":"2015-11-24 01:43:42.000000000","message":"Done","commit_id":"055f4770106379104f2111fd43a948321112e7b7"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2ae9b1de41cd847f2d87f748af8281ce4549edb2","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    ::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        {"},{"line_number":129,"context_line":"            \"trigger_crash\": null"},{"line_number":130,"context_line":"        }"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"  * JSON schema definition for the response data"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_2058e1f9","line":129,"in_reply_to":"ba8a016a_be773ed3","updated":"2015-11-24 03:07:31.000000000","message":"Yeah, nice point John.\n\ntriggerCrashDump is consistent between current action APIs, but the naming style is against current api-wg guideline.\n\nhttps://github.com/openstack/api-wg/blob/master/guidelines/naming.rst#fields-in-an-api-request-or-response-body\n\n Field names should use snake_case style, not CamelCase or MixedCase style.\n\nSo I feel this is nice chance to fit the name to api-wg guideline.","commit_id":"055f4770106379104f2111fd43a948321112e7b7"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d3f58446bf1384624ae9920c238d8e3124bc9eb7","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        {"},{"line_number":139,"context_line":"            \"triggerCrashDump\": null"},{"line_number":140,"context_line":"        }"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"  * JSON schema definition for the response data"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba8a016a_a00371b7","line":139,"updated":"2015-11-24 03:08:49.000000000","message":"here should be\n\n \"trigger_crash_dump\": null\n\nif we need to fit to api-wg guideline\n\nhttps://github.com/openstack/api-wg/blob/master/guidelines/naming.rst#fields-in-an-api-request-or-response-body\n\n     Field names should use snake_case style, not CamelCase or MixedCase style.","commit_id":"7fa28dd57a94569ccc15348d7882a6ae7918942e"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"cd3edb4f8a3f3406ba56e89bdf3fd89927ee9c0e","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        {"},{"line_number":139,"context_line":"            \"triggerCrashDump\": null"},{"line_number":140,"context_line":"        }"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"  * JSON schema definition for the response data"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba8a016a_d6543b55","line":139,"in_reply_to":"ba8a016a_a00371b7","updated":"2015-11-24 05:21:20.000000000","message":"Done","commit_id":"7fa28dd57a94569ccc15348d7882a6ae7918942e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3e1b94b0b94264f878f1a2fbafdd4ac77b725cb7","unresolved":false,"context_lines":[{"line_number":59,"context_line":"* If user configures kdump to store dump file on local disk, then user needs to"},{"line_number":60,"context_line":"  reboot the server and access the dump file on local disk."},{"line_number":61,"context_line":"* If user configures kdump to copy dump file to NFS storage, then user could"},{"line_number":62,"context_line":"  find the dump file on NFS storage without rebooting the server."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Proposed change"},{"line_number":65,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_321c2ec1","line":62,"updated":"2015-11-30 13:28:54.000000000","message":"I guess I could see using cloud-init to configure this sort of thing, and that completes the loop, ish.","commit_id":"943c35dfc1b74448d9a74bbd11cf5c13a82d6ac9"}]}
