)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"d8d0594b2e4bb555ef2e31e794fdc335487a2d3b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Eli Qiao \u003cliyong.qiao@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-16 16:47:21 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Judge the service state when perform a deleting on it"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Proposal to add state checking before delete a service."},{"line_number":10,"context_line":"This specs had discuessed in J."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a80dd14_eda7e1a5","line":7,"updated":"2015-03-16 17:36:40.000000000","message":"For clarity, I\u0027d also suggest the following:\ns/Judge the service state when perform a deleting on it/Validate the service state before deleting it/","commit_id":"d684c36385b38c2c90b832bf550f263919c18fad"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"dbe4a76936bbfbbb3977a6b014a6113fcf3c8537","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Eli Qiao \u003cliyong.qiao@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-16 16:47:21 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Judge the service state when perform a deleting on it"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Proposal to add state checking before delete a service."},{"line_number":10,"context_line":"This specs had discuessed in J."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a80dd14_4d61bb10","line":7,"in_reply_to":"9a80dd14_eda7e1a5","updated":"2015-03-17 01:00:56.000000000","message":"Done","commit_id":"d684c36385b38c2c90b832bf550f263919c18fad"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"82b0c1d3de1a9f8fa765918901fea0f56ed5d9f6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Validate the service state before deleting it"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Proposal to add state checking before deleting a service."},{"line_number":10,"context_line":"This specs had discuessed in J."},{"line_number":11,"context_line":"https://review.openstack.org/#/c/131633"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"APIImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da20952f_ba14c89f","line":10,"updated":"2015-09-06 05:48:21.000000000","message":"s/discuessed/discussed/","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"}],"specs/liberty/approved/validate-service-state-before-deleting.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e77b89a86f93993542c3a594763a8ef07bb03a55","unresolved":false,"context_lines":[{"line_number":52,"context_line":"REST API impact"},{"line_number":53,"context_line":"---------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"DELETE/os-services/\u003cid\u003e"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Will return HTTPBadRequest if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ad32947_a00c3343","line":55,"updated":"2015-04-27 16:43:02.000000000","message":"This can only happen for the v2.1 API, and the v2.0 API is now frozen.\n\nPlease may it clear this if for v2.1 and is addition a micro version to support it.\n\nI expect previous version to continue working as they do today. Is that what you are wanting to do here?","commit_id":"caf8f6e0399f48ee5708f5338ff3f6e12d0fe79c"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"9b22e2de179f3a42e55b5e6b2b44d78784102ed8","unresolved":false,"context_lines":[{"line_number":52,"context_line":"REST API impact"},{"line_number":53,"context_line":"---------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"DELETE/os-services/\u003cid\u003e"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Will return HTTPBadRequest if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ad32947_abf1a8cf","line":55,"in_reply_to":"7ad32947_a00c3343","updated":"2015-04-28 01:41:42.000000000","message":"hi , John, thanks for the reviewing.\nsure, I will add this as v2.1 microversion.","commit_id":"caf8f6e0399f48ee5708f5338ff3f6e12d0fe79c"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fa1200f8275de0bb2ada6f3a0ce5e861ea1c3f7e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"---------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This change only impact v2.1 microversion."},{"line_number":58,"context_line":"And it will be 2.4 version due to currently sequence."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"DELETE /v2.1/(project_id)/os-services"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_8d726be4","line":58,"updated":"2015-04-30 15:03:14.000000000","message":"I think say 2.4 is too early ,you never know ...","commit_id":"2efa3b967063861894523ccd4876cb0594b753e7"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"37ded42bb1dea7d5a44242a9f6fc44ed9cd0f5fe","unresolved":false,"context_lines":[{"line_number":55,"context_line":"---------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This change only impact v2.1 microversion."},{"line_number":58,"context_line":"And it will be 2.4 version due to currently sequence."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"DELETE /v2.1/(project_id)/os-services"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_a591ac54","line":58,"in_reply_to":"3acd31a7_8d726be4","updated":"2015-05-01 00:17:25.000000000","message":"yes, we don\u0027t know what it should be before landing.","commit_id":"2efa3b967063861894523ccd4876cb0594b753e7"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fa1200f8275de0bb2ada6f3a0ce5e861ea1c3f7e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"* DELETE /v2.1/52a0ee83fb524376bd603547aea415a3/os-services/1?force\u003dTrue"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"The default value of force is False, and if a bad value is passed,"},{"line_number":73,"context_line":"it will raise a HTTPConflict(409)."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_1032eef1","line":73,"updated":"2015-04-30 15:03:14.000000000","message":"why ? should a bad input be 400 instead of 409?","commit_id":"2efa3b967063861894523ccd4876cb0594b753e7"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"37ded42bb1dea7d5a44242a9f6fc44ed9cd0f5fe","unresolved":false,"context_lines":[{"line_number":70,"context_line":"* DELETE /v2.1/52a0ee83fb524376bd603547aea415a3/os-services/1?force\u003dTrue"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"The default value of force is False, and if a bad value is passed,"},{"line_number":73,"context_line":"it will raise a HTTPConflict(409)."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_25bebcd4","line":73,"in_reply_to":"3acd31a7_1032eef1","updated":"2015-05-01 00:17:25.000000000","message":"Done","commit_id":"2efa3b967063861894523ccd4876cb0594b753e7"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"da0bde31218e5128547dae49dcfd845d57a3f4be","unresolved":false,"context_lines":[{"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":""},{"line_number":22,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":23,"context_line":"from deleting a running service."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3acd31a7_36e150d1","line":23,"updated":"2015-05-01 04:27:49.000000000","message":"It\u0027s better to describe more about why deleting a running service is bad.\n\nOne bad case I think it is if we can remove running service, there isn\u0027t any way prevent admin to do wrong operation like removing a service which on service, then lead to some compute node interrupt service?","commit_id":"b33b5b7f671c3deff1e349f25406bc06ff230b87"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"658f202eed8639d9c7a952dd3ff8ec2a49d84926","unresolved":false,"context_lines":[{"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":""},{"line_number":22,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":23,"context_line":"from deleting a running service."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3acd31a7_56eb6278","line":23,"in_reply_to":"3acd31a7_36e150d1","updated":"2015-05-05 09:14:34.000000000","message":"yes, what you are saying is a good point, \nbut except that, I don\u0027t find any other user cases, \nfor bug:\nhttps://bugs.launchpad.net/nova/+bug/1401469.\nI feel this is okay when the service try to report it\u0027s status to conductor, but found that the service can not be found any more from DB. it raise exception.\n\nthis doesn\u0027t affect anything, and I don\u0027t think that bug need to be fixed even.\n\nbut for this scenario, if I have an instance which is running on a service(let\u0027s say nova-compute) , and I delete it even it is in Up status. I can still do some operation like reboot/stop/start ... on that instance which is running on the service I just performed a delete operation. is this acceptable, some kinds of strange.\n\ndeleting a service in UP state seems quite similar with disable that service, but the deleted service can not be added back without restart that service(we don\u0027t have an API to added a delete service back), which we should keep constant that we don\u0027t let that Up status been deleted.\n\nEli.","commit_id":"b33b5b7f671c3deff1e349f25406bc06ff230b87"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"da0bde31218e5128547dae49dcfd845d57a3f4be","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"This change will be applied on rest api v2.1 microversion."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Raise HTTPBadRequest when deleting a service is in \u0027UP\u0027 state."},{"line_number":41,"context_line":"Add a new option \u0027force\u0027 to indicate when we are about to delete the service"},{"line_number":42,"context_line":"no matter what the state of a service is."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3acd31a7_16ff7468","line":40,"updated":"2015-05-01 04:27:49.000000000","message":"It is HTTPConflict is better? This call is failed because status confict.","commit_id":"b33b5b7f671c3deff1e349f25406bc06ff230b87"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"658f202eed8639d9c7a952dd3ff8ec2a49d84926","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"This change will be applied on rest api v2.1 microversion."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Raise HTTPBadRequest when deleting a service is in \u0027UP\u0027 state."},{"line_number":41,"context_line":"Add a new option \u0027force\u0027 to indicate when we are about to delete the service"},{"line_number":42,"context_line":"no matter what the state of a service is."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3acd31a7_1ad19223","line":40,"in_reply_to":"3acd31a7_16ff7468","updated":"2015-05-05 09:14:34.000000000","message":"+1.","commit_id":"b33b5b7f671c3deff1e349f25406bc06ff230b87"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"da0bde31218e5128547dae49dcfd845d57a3f4be","unresolved":false,"context_lines":[{"line_number":54,"context_line":"REST API impact"},{"line_number":55,"context_line":"---------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This change only impact v2.1 microversion."},{"line_number":58,"context_line":"The microversion number will be the next number due to currently sequence."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"DELETE /v2.1/(project_id)/os-services"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3acd31a7_36083091","line":57,"updated":"2015-05-01 04:27:49.000000000","message":"And better to emphasize this is back-incompatible change.","commit_id":"b33b5b7f671c3deff1e349f25406bc06ff230b87"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"658f202eed8639d9c7a952dd3ff8ec2a49d84926","unresolved":false,"context_lines":[{"line_number":54,"context_line":"REST API impact"},{"line_number":55,"context_line":"---------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This change only impact v2.1 microversion."},{"line_number":58,"context_line":"The microversion number will be the next number due to currently sequence."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"DELETE /v2.1/(project_id)/os-services"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3acd31a7_facdb685","line":57,"in_reply_to":"3acd31a7_36083091","updated":"2015-05-05 09:14:34.000000000","message":"+1","commit_id":"b33b5b7f671c3deff1e349f25406bc06ff230b87"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"28b5c486e621c2e64aac3e338e45da475fcf390f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"This change will be applied on rest api v2.1 microversion."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Raise HTTPConflict when deleting a service is in \u0027UP\u0027 state."},{"line_number":55,"context_line":"Add a new option \u0027force\u0027 to indicate when we are about to delete the service"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_924bcd2b","line":52,"updated":"2015-05-06 08:24:08.000000000","message":"nit, extra blank line","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"fc1e8fed8b042f1d022c06c785309f25e2c5dcbf","unresolved":false,"context_lines":[{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"This change will be applied on rest api v2.1 microversion."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Raise HTTPConflict when deleting a service is in \u0027UP\u0027 state."},{"line_number":55,"context_line":"Add a new option \u0027force\u0027 to indicate when we are about to delete the service"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_6b1ddc65","line":52,"in_reply_to":"1aca2d91_924bcd2b","updated":"2015-05-06 09:27:23.000000000","message":"Done","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"484f7af7db8e186ace9a3d35eb1e2ae6e6dd2029","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Raise HTTPConflict when deleting a service is in \u0027UP\u0027 state."},{"line_number":55,"context_line":"Add a new option \u0027force\u0027 to indicate when we are about to delete the service"},{"line_number":56,"context_line":"no matter what the state of a service is."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_728a48c1","line":55,"updated":"2015-05-07 01:45:20.000000000","message":"this need to be removed.","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"28b5c486e621c2e64aac3e338e45da475fcf390f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"REST API impact"},{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"This is a backwards-compatible change, and will only impact v2.1 microversion."},{"line_number":72,"context_line":"The microversion number will be the next number due to currently sequence."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"DELETE /v2.1/(project_id)/os-services"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_3269998c","line":71,"updated":"2015-05-06 08:24:08.000000000","message":"This is backwards-incompatible change","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"fc1e8fed8b042f1d022c06c785309f25e2c5dcbf","unresolved":false,"context_lines":[{"line_number":68,"context_line":"REST API impact"},{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"This is a backwards-compatible change, and will only impact v2.1 microversion."},{"line_number":72,"context_line":"The microversion number will be the next number due to currently sequence."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"DELETE /v2.1/(project_id)/os-services"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_4b1a2070","line":71,"in_reply_to":"1aca2d91_3269998c","updated":"2015-05-06 09:27:23.000000000","message":"Done","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"28b5c486e621c2e64aac3e338e45da475fcf390f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Will return HTTPConflict if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Also add a new option force\u003dTrue/true or False/false to indicate we want to"},{"line_number":79,"context_line":"delete the service no matter what the state is."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A request example will be:"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_b2b809e7","line":79,"updated":"2015-05-06 08:24:08.000000000","message":"Not sure we need this option. What behavior in the compute node if we force to delete a service? Does it show the same error as the bugs in references section?","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"497c411f1611b17114ead4eb381cc50e463d2c36","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Will return HTTPConflict if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Also add a new option force\u003dTrue/true or False/false to indicate we want to"},{"line_number":79,"context_line":"delete the service no matter what the state is."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A request example will be:"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_f2d3f836","line":79,"in_reply_to":"1aca2d91_b2b809e7","updated":"2015-05-07 01:00:33.000000000","message":"hi alex, thanks for you kindly reviewing ? I am really appreciate it.\ndo I answer your question ?","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"fc1e8fed8b042f1d022c06c785309f25e2c5dcbf","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Will return HTTPConflict if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Also add a new option force\u003dTrue/true or False/false to indicate we want to"},{"line_number":79,"context_line":"delete the service no matter what the state is."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A request example will be:"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_cb5bd02d","line":79,"in_reply_to":"1aca2d91_b2b809e7","updated":"2015-05-06 09:27:23.000000000","message":"yes, the compute node will continue report state to conductor but get an exception trace.. just like what the bug description","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"6daa1938741d674e857652746963ad76b04a1fe6","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Will return HTTPConflict if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Also add a new option force\u003dTrue/true or False/false to indicate we want to"},{"line_number":79,"context_line":"delete the service no matter what the state is."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A request example will be:"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_b2e8e07d","line":79,"in_reply_to":"1aca2d91_f204187f","updated":"2015-05-07 01:27:16.000000000","message":"after talking with alex through irc, I will remove this option in next ps. we refuse force option when delete a service, that is to say , we don\u0027t allow to delete a service which is in UP state.\n\nthanks alex for the time. appreciate it, I will update per the comments.\n\nPS: adding force\u003dTrue just for backwards-compatible","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5ce26de212f87b71ce0e4cf86958ae736bd626e5","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Will return HTTPConflict if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Also add a new option force\u003dTrue/true or False/false to indicate we want to"},{"line_number":79,"context_line":"delete the service no matter what the state is."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A request example will be:"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_f204187f","line":79,"in_reply_to":"1aca2d91_f2d3f836","updated":"2015-05-07 01:14:59.000000000","message":"sorry, I feel that is we enable a function but still with bug. It\u0027s fine if you still think this make sense to you.","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"28b5c486e621c2e64aac3e338e45da475fcf390f","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"It will help to improve security since we add status checking before admin"},{"line_number":94,"context_line":"deleting a service, this will help to prevent deleting a running service by"},{"line_number":95,"context_line":"mistake."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Notifications impact"},{"line_number":98,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_92950d42","line":95,"updated":"2015-05-06 08:24:08.000000000","message":"It doesn\u0027t sound like a security issue","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"b3f8a02599d3faa24cfff1e8f07e473b7515abdf","unresolved":false,"context_lines":[{"line_number":93,"context_line":"It will help to improve security since we add status checking before admin"},{"line_number":94,"context_line":"deleting a service, this will help to prevent deleting a running service by"},{"line_number":95,"context_line":"mistake."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Notifications impact"},{"line_number":98,"context_line":"--------------------"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_23edb18b","line":96,"updated":"2015-05-06 19:43:43.000000000","message":"Since security impact in this field usually conveys negative impact, in order to keep more to the convention, maybe you could say:\n\nNone, but it will help reduce inadvertent denial of service since status checking is performed before an admin deletes a service.  This will help to prevent deleting a running service by mistake.","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"b4e406fab807581bd4d34ad6389b9d5a2a35b836","unresolved":false,"context_lines":[{"line_number":93,"context_line":"It will help to improve security since we add status checking before admin"},{"line_number":94,"context_line":"deleting a service, this will help to prevent deleting a running service by"},{"line_number":95,"context_line":"mistake."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Notifications impact"},{"line_number":98,"context_line":"--------------------"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_925cc426","line":96,"in_reply_to":"1aca2d91_23edb18b","updated":"2015-05-07 00:41:02.000000000","message":"thanks bruce.\ngood suggestion.","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"28b5c486e621c2e64aac3e338e45da475fcf390f","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Dependencies"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"This change should be applied to v2.1 once microversions is implemented."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Testing"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_d225c55c","line":147,"updated":"2015-05-06 08:24:08.000000000","message":"we already have microversion now","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"fc1e8fed8b042f1d022c06c785309f25e2c5dcbf","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Dependencies"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"This change should be applied to v2.1 once microversions is implemented."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Testing"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aca2d91_8b103850","line":147,"in_reply_to":"1aca2d91_d225c55c","updated":"2015-05-06 09:27:23.000000000","message":"Done","commit_id":"e3d42882a232a3406387d24b0e027273a2e722c9"},{"author":{"_account_id":10263,"name":"Vilobh Meshram","email":"vilobhmm@yahoo-inc.com","username":"vilobhmm"},"change_message_id":"3c9b17ef1baa8076950dd7a7ab6ce51d7c2cb320","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from deleting a running service."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which is happended performing on that service, and you delete"},{"line_number":27,"context_line":"the service, then you will lost some resource on it."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Another one is if you delete a service, you can never bring that service back"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1aca2d91_79f3289f","line":26,"updated":"2015-05-07 19:50:49.000000000","message":"is -\u003e have.\n\nPlease correct the grammer of this sentence.","commit_id":"23636b14ee1d92596fb7e6283baa1e00673433ad"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"e949ab6447ba2342f1a114b0195e73cb1e3841ce","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from deleting a running service."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which is happended performing on that service, and you delete"},{"line_number":27,"context_line":"the service, then you will lost some resource on it."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Another one is if you delete a service, you can never bring that service back"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1aca2d91_7922fb53","line":26,"in_reply_to":"1aca2d91_79f3289f","updated":"2015-05-08 02:44:16.000000000","message":"Done","commit_id":"23636b14ee1d92596fb7e6283baa1e00673433ad"},{"author":{"_account_id":10263,"name":"Vilobh Meshram","email":"vilobhmm@yahoo-inc.com","username":"vilobhmm"},"change_message_id":"3c9b17ef1baa8076950dd7a7ab6ce51d7c2cb320","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which is happended performing on that service, and you delete"},{"line_number":27,"context_line":"the service, then you will lost some resource on it."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Another one is if you delete a service, you can never bring that service back"},{"line_number":30,"context_line":"except that service get restarted again(currently, there is not API to cover"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1aca2d91_f935f845","line":27,"updated":"2015-05-07 19:50:49.000000000","message":"will loose","commit_id":"23636b14ee1d92596fb7e6283baa1e00673433ad"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"e949ab6447ba2342f1a114b0195e73cb1e3841ce","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which is happended performing on that service, and you delete"},{"line_number":27,"context_line":"the service, then you will lost some resource on it."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Another one is if you delete a service, you can never bring that service back"},{"line_number":30,"context_line":"except that service get restarted again(currently, there is not API to cover"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1aca2d91_591dff0d","line":27,"in_reply_to":"1aca2d91_f935f845","updated":"2015-05-08 02:44:16.000000000","message":"Done","commit_id":"23636b14ee1d92596fb7e6283baa1e00673433ad"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8a4dbf7914a073b8e82bb3859cbee1b14769683b","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Raise HTTPConflict(409) when deleting a service which is in \u0027UP\u0027 state."},{"line_number":54,"context_line":"Which means admin can not delete a \u0027UP\u0027 state service anymore."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_5374199b","line":55,"updated":"2015-06-05 11:10:53.000000000","message":"We should probably explicitly say that old API versions remain unchanged.","commit_id":"d4e79c72397f77c8d9cf4cb22a56df887bd4cb83"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"e217118bc8e8e09d32a8c09b29c6a1b6e180b663","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Raise HTTPConflict(409) when deleting a service which is in \u0027UP\u0027 state."},{"line_number":54,"context_line":"Which means admin can not delete a \u0027UP\u0027 state service anymore."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_58bbe2e5","line":55,"in_reply_to":"3afb71cf_5374199b","updated":"2015-06-08 08:35:42.000000000","message":"hi John,\ndo you mean we don\u0027t need to bump microversion for this change?","commit_id":"d4e79c72397f77c8d9cf4cb22a56df887bd4cb83"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1d069b783825d8a2f732cb63c1bb0c83c92f475f","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Raise HTTPConflict(409) when deleting a service which is in \u0027UP\u0027 state."},{"line_number":54,"context_line":"Which means admin can not delete a \u0027UP\u0027 state service anymore."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_44bf7cfb","line":55,"in_reply_to":"3afb71cf_58bbe2e5","updated":"2015-06-08 09:50:03.000000000","message":"what I mean is, requests for the new version, get your new behaviour.\n\nBut requests for the older version of the API, still get the old behaviour.\n\nIs that your intention, I think its whats required here.","commit_id":"d4e79c72397f77c8d9cf4cb22a56df887bd4cb83"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3fdacee6f1967fcbd0eb498d5b9854d939fd6fb3","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Dependencies"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"None"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Testing"},{"line_number":134,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_f32425b0","line":131,"updated":"2015-06-05 11:08:50.000000000","message":"So we are looking at adding an API to mark a service as down:\nhttps://review.openstack.org/#/c/169836/\n\nI think we should add a dependency on the above spec (well a soft dependency).\n\nSo the service must be down, or marked down by the user, before it can be deleted.\n\nWould that help?\n\nI guess we maybe shouldn\u0027t allow it to have any instance on it either? we force the user to evacuate them all first? Although I suspect thats overkill.","commit_id":"d4e79c72397f77c8d9cf4cb22a56df887bd4cb83"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"e217118bc8e8e09d32a8c09b29c6a1b6e180b663","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Dependencies"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"None"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Testing"},{"line_number":134,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_98c95a7b","line":131,"in_reply_to":"3afb71cf_f32425b0","updated":"2015-06-08 08:35:42.000000000","message":"okay , that would help.\nI will update it here.","commit_id":"d4e79c72397f77c8d9cf4cb22a56df887bd4cb83"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e7e97d90221a744e04a54c6aa9c39494e0a775ee","unresolved":false,"context_lines":[{"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":""},{"line_number":22,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":23,"context_line":"from deleting a running service."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which have happended performing on that service, and you delete"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1af86dd1_5683decc","line":23,"updated":"2015-06-12 17:28:52.000000000","message":"So, if I\u0027m pulling a service out of commission, I have to:\n\n 1. Stop the service\n 2. Wait for it to time out in the service heartbeat\n 3. Delete it\n\n?\n\nDeleting a service right away seems fine to me. What\u0027s the problem? The bugs you reference provide no real information, other than that you think it shouldn\u0027t be like this. The second bug even points out that no operational harm comes from doing this.","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":10263,"name":"Vilobh Meshram","email":"vilobhmm@yahoo-inc.com","username":"vilobhmm"},"change_message_id":"14cc1bbf87770538cd292e049c15b6199dee4c17","unresolved":false,"context_lines":[{"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":""},{"line_number":22,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":23,"context_line":"from deleting a running service."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which have happended performing on that service, and you delete"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1af86dd1_53364b04","line":23,"in_reply_to":"1af86dd1_5683decc","updated":"2015-07-14 17:14:23.000000000","message":"+1. Agree.","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"8c83b8df0124dce6fa6e3a3c08df1e9977889f51","unresolved":false,"context_lines":[{"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":""},{"line_number":22,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":23,"context_line":"from deleting a running service."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which have happended performing on that service, and you delete"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a41bdd9_78068087","line":23,"in_reply_to":"1af86dd1_5683decc","updated":"2015-07-14 16:40:40.000000000","message":"Dan, are you talking about services other than the nova compute service?  Please see the use case section below.","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"82b0c1d3de1a9f8fa765918901fea0f56ed5d9f6","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from deleting a running service."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which have happended performing on that service, and you delete"},{"line_number":27,"context_line":"the service, then you will loose some resource on it."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Another one is if you delete a service, you can never bring that service back"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da20952f_3a2998e6","line":26,"updated":"2015-09-06 05:48:21.000000000","message":"s/happended/happened/","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"8c83b8df0124dce6fa6e3a3c08df1e9977889f51","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This may lead some inconsistent results. For example, if there are some"},{"line_number":26,"context_line":"operations which have happended performing on that service, and you delete"},{"line_number":27,"context_line":"the service, then you will loose some resource on it."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Another one is if you delete a service, you can never bring that service back"},{"line_number":30,"context_line":"except that service get restarted again(currently, there is not API to cover"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a41bdd9_44387c3d","line":27,"updated":"2015-07-14 16:40:40.000000000","message":"I suggest a few minor updates for clarity:\n\ns/if there are some operations which have happended performing on that service/for nova-compute, if there are important operations actively occurring/\n\ns/and you delete the service/and if you delete the service at that time/\n\ns/loose some resource on it./likely lose some important information supported by that service./","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":10263,"name":"Vilobh Meshram","email":"vilobhmm@yahoo-inc.com","username":"vilobhmm"},"change_message_id":"14cc1bbf87770538cd292e049c15b6199dee4c17","unresolved":false,"context_lines":[{"line_number":27,"context_line":"the service, then you will loose some resource on it."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Another one is if you delete a service, you can never bring that service back"},{"line_number":30,"context_line":"except that service get restarted again(currently, there is not API to cover"},{"line_number":31,"context_line":"adding a new service), we should keep consistent with our api functionality."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"On the deleted running service side, it will report an error when it try to"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1af86dd1_9303a30f","line":30,"updated":"2015-07-14 17:14:23.000000000","message":"not -\u003e no","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"8c83b8df0124dce6fa6e3a3c08df1e9977889f51","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Another one is if you delete a service, you can never bring that service back"},{"line_number":30,"context_line":"except that service get restarted again(currently, there is not API to cover"},{"line_number":31,"context_line":"adding a new service), we should keep consistent with our api functionality."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"On the deleted running service side, it will report an error when it try to"},{"line_number":34,"context_line":"update the service status to conductor since that service object in DB was"},{"line_number":35,"context_line":"deleted. see the bug [2]_ for reference."}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a41bdd9_5b013669","line":32,"updated":"2015-07-14 16:40:40.000000000","message":"s/except that service get/unless that service gets/\n\ns/, we should keep consistent with our api functionality././  \n  (I think this part of the sentence isn\u0027t necessary.)","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"8c83b8df0124dce6fa6e3a3c08df1e9977889f51","unresolved":false,"context_lines":[{"line_number":33,"context_line":"On the deleted running service side, it will report an error when it try to"},{"line_number":34,"context_line":"update the service status to conductor since that service object in DB was"},{"line_number":35,"context_line":"deleted. see the bug [2]_ for reference."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"},{"line_number":39,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a41bdd9_2e1e725f","line":36,"updated":"2015-07-14 16:40:40.000000000","message":"s/it try to/it tries to/\n\ns/to conductor since that service object in DB was deleted/to nova-conductor since the service object in the DB was deleted/","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e7e97d90221a744e04a54c6aa9c39494e0a775ee","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Use Cases"},{"line_number":39,"context_line":"----------"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"We should not delete services which are in \u0027UP\u0027 state."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Project Priority"},{"line_number":44,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1af86dd1_56351e44","line":41,"updated":"2015-06-12 17:28:52.000000000","message":"This isn\u0027t a use case.","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"8c83b8df0124dce6fa6e3a3c08df1e9977889f51","unresolved":false,"context_lines":[{"line_number":39,"context_line":"----------"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"We should not delete services which are in \u0027UP\u0027 state."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Project Priority"},{"line_number":44,"context_line":"-----------------"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a41bdd9_3bb23207","line":42,"updated":"2015-07-14 16:40:40.000000000","message":"Eli, I\u0027d suggest very briefly giving an example of the proper way to shut down the nova compute service and state what goes wrong when you directly shut down a service such as nova compute.  Here\u0027s a reference for a safe way to shut down the nova compute service\nhttps://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/4/html/Installation_and_Configuration_Guide/Safely_Removing_Compute_Resources.html\n\nIn this instance, you need to disable, transition, and shut down the compute node service to properly maintain the VMs.  If you just shut it down without doing these things, then the VMs can\u0027t be transitioned over to a new host.  So having a warning about directly deleting this active service, proposed in this spec, can help keep that problem from happening.","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"82b0c1d3de1a9f8fa765918901fea0f56ed5d9f6","unresolved":false,"context_lines":[{"line_number":93,"context_line":"Other end user impact"},{"line_number":94,"context_line":"---------------------"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Prevously, python-novaclient will only get HTTPNotFound when deleting a service"},{"line_number":97,"context_line":"which is not found."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Now, python-novaclient will get a HTTPConflict if the deleting service is"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da20952f_fa1ec0b9","line":96,"updated":"2015-09-06 05:48:21.000000000","message":"s/Prevously/Previously/","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"8c83b8df0124dce6fa6e3a3c08df1e9977889f51","unresolved":false,"context_lines":[{"line_number":154,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":".. [1] https://bugs.launchpad.net/nova/+bug/1386535"},{"line_number":157,"context_line":".. [2] https://bugs.launchpad.net/nova/+bug/1401469"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a41bdd9_a4c62866","line":157,"updated":"2015-07-14 16:40:40.000000000","message":"https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/4/html/Installation_and_Configuration_Guide/Safely_Removing_Compute_Resources.html  \n(There may be a better reference for this, but I don\u0027t have it handy)","commit_id":"34633b72e580e914c36564ab8a1a9d2b7f9f45e7"}],"specs/liberty/judge-service-state-when-deleting.rst":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"f7209d236913dbd2312c890bfb61445fcbcb2d4e","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, when performing a delete operation on a service, nova will not"},{"line_number":14,"context_line":"check whether the service is running or not -- we just destroy the service"},{"line_number":15,"context_line":"regardless. This can lead to unexpected results and improve secrity."},{"line_number":16,"context_line":"For more detail, please see Reference section."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_70b2024a","line":15,"updated":"2015-03-16 08:50:24.000000000","message":"s/secrity/security","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"e6767e81af08ddd454e36034236e4953c94509e6","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":22,"context_line":"from deleting a running service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_e98255c7","line":22,"updated":"2015-03-11 04:07:32.000000000","message":"After this, if I need remove a compute node, I have to stop a service BEFORE run \"DELETE /os-serivce/\u003cid\u003e\"? What about migrating necessary data before deleting its service and report which service is down.","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"99af8e0c9b97b63c0dcad8c9ec8136bd2db3f5cc","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":22,"context_line":"from deleting a running service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_6c1cb36b","line":22,"in_reply_to":"9a80dd14_69574527","updated":"2015-03-11 04:23:45.000000000","message":"Then the data on that service would be lost by \u0027force\u0027 flag? Do you think this API should take care of the data on the service being deleted?","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"f7209d236913dbd2312c890bfb61445fcbcb2d4e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":22,"context_line":"from deleting a running service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_50b7be39","line":22,"in_reply_to":"9a80dd14_6c1cb36b","updated":"2015-03-16 08:50:24.000000000","message":"hi, nova-api is a state-less service, it will not record any data of a service.\n\nin this spec, I only add a new option when delete a service, which will help to improve the security when doing a delete operation.","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"7c6a067ce9e78e42ade7481717907ac3e0bf57ba","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Users can delete a running service from nova-api, we need to prevent user"},{"line_number":22,"context_line":"from deleting a running service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_69574527","line":22,"in_reply_to":"9a80dd14_e98255c7","updated":"2015-03-11 04:18:58.000000000","message":"You still can delete a running service, see line 58","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"b699df2079de9ebddb8653785ced66ef05b4773b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"REST API impact"},{"line_number":52,"context_line":"---------------"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"DELETE/os-serivce/\u003cid\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Will return HTTPBadRequest if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_84066084","line":54,"updated":"2015-03-16 06:49:15.000000000","message":"s/os-serivce/os-services","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"f7209d236913dbd2312c890bfb61445fcbcb2d4e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"REST API impact"},{"line_number":52,"context_line":"---------------"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"DELETE/os-serivce/\u003cid\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Will return HTTPBadRequest if the service we want to delete is in \u0027UP\u0027 state."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_b54f0c91","line":54,"in_reply_to":"9a80dd14_84066084","updated":"2015-03-16 08:50:24.000000000","message":"Done","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"f7209d236913dbd2312c890bfb61445fcbcb2d4e","unresolved":false,"context_lines":[{"line_number":84,"context_line":"which is not found."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Now, python-novaclient will get a HTTPBadRequest if the deleting service is"},{"line_number":87,"context_line":"in \u0027UP\u0027 status, and python-novaclient needs to support the following new options"},{"line_number":88,"context_line":"when doing \u0027nova service-delete \u003cid\u003e\u0027:"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"\u0027nova service-delete \u003cid\u003e --force\u0027 to force delete a running service."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_b079da94","line":87,"updated":"2015-03-16 08:50:24.000000000","message":"s/status/state","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"b699df2079de9ebddb8653785ced66ef05b4773b","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Work Items"},{"line_number":117,"context_line":"----------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Modify delete function in REST api to support service status judgement"},{"line_number":120,"context_line":"before deleting it, add testing if \u0027--force\u0027 provided."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_64a32c43","line":119,"updated":"2015-03-16 06:49:15.000000000","message":"There is difference between state and status for nova service.  So only use state, please.\n\nstatus with value \u0027 enabled\u0027  or \u0027disabled\u0027\n\nstate with value \u0027up\u0027 or \u0027down\u0027","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"f7209d236913dbd2312c890bfb61445fcbcb2d4e","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Work Items"},{"line_number":117,"context_line":"----------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Modify delete function in REST api to support service status judgement"},{"line_number":120,"context_line":"before deleting it, add testing if \u0027--force\u0027 provided."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_9533e812","line":119,"in_reply_to":"9a80dd14_64a32c43","updated":"2015-03-16 08:50:24.000000000","message":"Done","commit_id":"83f428c12d7a8787ff1c809a891f24c33c613b08"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"8eab36182a3b65781d2d17eb57a5fb97b8e84681","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, when performing a delete operation on a service, nova will not"},{"line_number":14,"context_line":"check whether the service is running or not -- we just destroy the service"},{"line_number":15,"context_line":"regardless. This can lead to unexpected results, to improve security, we"},{"line_number":16,"context_line":"can checking the service state before deleting it."},{"line_number":17,"context_line":"For more detail, please see Reference section."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_0a617b11","line":15,"updated":"2015-03-16 17:25:50.000000000","message":"suggest the following:\ns/results, to improve security, we can checking the service state/results. To improve Nova service availability, the service state should be checked/","commit_id":"d684c36385b38c2c90b832bf550f263919c18fad"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"dbe4a76936bbfbbb3977a6b014a6113fcf3c8537","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, when performing a delete operation on a service, nova will not"},{"line_number":14,"context_line":"check whether the service is running or not -- we just destroy the service"},{"line_number":15,"context_line":"regardless. This can lead to unexpected results, to improve security, we"},{"line_number":16,"context_line":"can checking the service state before deleting it."},{"line_number":17,"context_line":"For more detail, please see Reference section."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_edaa6f19","line":15,"in_reply_to":"9a80dd14_0a617b11","updated":"2015-03-17 01:00:56.000000000","message":"Done","commit_id":"d684c36385b38c2c90b832bf550f263919c18fad"}]}
