)]}'
{"specs/rocky/approved/add-deleted-time-attribute.rst":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"293d80655c7c82eb5db6efe112fab094b59faa43","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Return \"deleted\" time of instance when vm_state is SOFT-DELETED"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/add-deleted-time-attribute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_17883469","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":63},"updated":"2018-07-13 07:34:50.000000000","message":"even if it\u0027s not soft deleted, this \u0027deleted\u0027 will be returned as well, right?","commit_id":"8e91a2de7458d603cefbca5af916bc43609aed19"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"f96d6ae9b555b817f661286bc89582041775da78","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Return \"deleted\" time of instance when vm_state is SOFT-DELETED"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/add-deleted-time-attribute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_f2dfc6d4","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":63},"in_reply_to":"5f7c97a3_12c0424a","updated":"2018-07-13 09:05:09.000000000","message":"Yes, in the above cases should return null character string for \u0027deleted\u0027 or \u0027estimated_reclaim\u0027 key, not \u0027None\u0027.","commit_id":"8e91a2de7458d603cefbca5af916bc43609aed19"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"d49fecc74b65b29ec23feb0520cb1b06ba14a015","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Return \"deleted\" time of instance when vm_state is SOFT-DELETED"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/add-deleted-time-attribute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_d203aabc","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":63},"in_reply_to":"5f7c97a3_17883469","updated":"2018-07-13 08:46:08.000000000","message":"My opinion is that if it\u0027s not soft-deleted or deleted, return \u0027None\u0027 for \u0027deleted\u0027 and \u0027estimated_reclaim\u0027. If it\u0027s deleted, return \u0027None\u0027 for \u0027estimated_reclaim\u0027.","commit_id":"8e91a2de7458d603cefbca5af916bc43609aed19"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"64c993c55ac19bf5efb607405aaaee59ff80cdf6","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Return \"deleted\" time of instance when vm_state is SOFT-DELETED"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/add-deleted-time-attribute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_12c0424a","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":63},"in_reply_to":"5f7c97a3_d203aabc","updated":"2018-07-13 08:49:52.000000000","message":"I think we should return all \u0027key\u0027 in any condition\nwith value for different status/option...","commit_id":"8e91a2de7458d603cefbca5af916bc43609aed19"}],"specs/stein/approved/add-deleted-time-attribute.rst":[{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"3e920fa450dfe4a56e3040e7165910e69bbc9557","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"We need to add ``deleted`` and ``estimated_reclaim`` attributes in the"},{"line_number":38,"context_line":"``GET /servers/detail`` and ``GET /servers/{server_id}`` response. If instance"},{"line_number":39,"context_line":"is neither soft-deleted nor deleted, return null character string for"},{"line_number":40,"context_line":"``deleted`` and ``estimated_reclaim``. If it\u0027s deleted, return null character"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_39a1a096","line":37,"range":{"start_line":37,"start_character":15,"end_line":37,"end_character":26},"updated":"2018-08-31 03:49:59.000000000","message":"Why is this needed? At least we already have the status attribute to indicate whether an instance is deleted, soft-deleted or something else.","commit_id":"408b54c7dfff3dba7b7f024c6eb7a07ab4b6e2ac"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"2ecefd9a77ab8bec459787ba3425f38006205053","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"We need to add ``deleted`` and ``estimated_reclaim`` attributes in the"},{"line_number":38,"context_line":"``GET /servers/detail`` and ``GET /servers/{server_id}`` response. If instance"},{"line_number":39,"context_line":"is neither soft-deleted nor deleted, return null character string for"},{"line_number":40,"context_line":"``deleted`` and ``estimated_reclaim``. If it\u0027s deleted, return null character"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_42c1b153","line":37,"range":{"start_line":37,"start_character":15,"end_line":37,"end_character":26},"in_reply_to":"3f79a3b5_39a1a096","updated":"2018-09-05 02:31:33.000000000","message":"Thanks for reply.\n``deleted`` is the date and time when instance is deleted. After adding ``deleted`` attribute, admin can know the delete time of deleted or soft-deleted instances through API.","commit_id":"408b54c7dfff3dba7b7f024c6eb7a07ab4b6e2ac"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"3e920fa450dfe4a56e3040e7165910e69bbc9557","unresolved":false,"context_lines":[{"line_number":59,"context_line":"---------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Add a new API microversion to the ``GET /servers/detail`` and"},{"line_number":62,"context_line":"``GET /servers/{server_id}`` to include ``deleted`` and ``estimated_reclaim``"},{"line_number":63,"context_line":"in the response for admin users."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* For admin users::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_999a3460","line":62,"range":{"start_line":62,"start_character":56,"end_line":62,"end_character":77},"updated":"2018-08-31 03:49:59.000000000","message":"I am guessing ``estimated_reclaim`` is calculated by something like reclaim_interval - ( current_time - soft_deleted_time). But please elaborate the algorithm so reviewers can better assess it.","commit_id":"408b54c7dfff3dba7b7f024c6eb7a07ab4b6e2ac"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"14c392160bde2eb748244a281f8c1c158ccab76c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"---------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Add a new API microversion to the ``GET /servers/detail`` and"},{"line_number":62,"context_line":"``GET /servers/{server_id}`` to include ``deleted`` and ``estimated_reclaim``"},{"line_number":63,"context_line":"in the response for admin users."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* For admin users::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_2263551c","line":62,"range":{"start_line":62,"start_character":56,"end_line":62,"end_character":77},"in_reply_to":"3f79a3b5_999a3460","updated":"2018-09-05 03:10:53.000000000","message":"Done","commit_id":"408b54c7dfff3dba7b7f024c6eb7a07ab4b6e2ac"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"2ecefd9a77ab8bec459787ba3425f38006205053","unresolved":false,"context_lines":[{"line_number":59,"context_line":"---------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Add a new API microversion to the ``GET /servers/detail`` and"},{"line_number":62,"context_line":"``GET /servers/{server_id}`` to include ``deleted`` and ``estimated_reclaim``"},{"line_number":63,"context_line":"in the response for admin users."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* For admin users::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_8297c945","line":62,"range":{"start_line":62,"start_character":56,"end_line":62,"end_character":77},"in_reply_to":"3f79a3b5_999a3460","updated":"2018-09-05 02:31:33.000000000","message":"``estimated_reclaim`` is calculated by \"deleted + reclaim_instance_interval\". I will update the algorithm description here.","commit_id":"408b54c7dfff3dba7b7f024c6eb7a07ab4b6e2ac"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0720117e5c3dd33875123a942589fbf6e5823bc0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Currently, when admins want to know soft-deleted instance\u0027s soft-deleted time"},{"line_number":21,"context_line":"and estimated reclaim time by API. He will only get"},{"line_number":22,"context_line":"``OS-SRV-USG:terminated_at`` and it\u0027s null. As ``OS-SRV-USG:terminated_at``"},{"line_number":23,"context_line":"records the really deleted time, not soft-deleted."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_3f6c7205","line":21,"range":{"start_line":20,"start_character":0,"end_line":21,"end_character":34},"updated":"2018-09-09 19:26:53.000000000","message":"This sentence makes no sense. If you change the period to a comma and s/He/she/ then this would be better.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0720117e5c3dd33875123a942589fbf6e5823bc0","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Currently, when admins want to know soft-deleted instance\u0027s soft-deleted time"},{"line_number":21,"context_line":"and estimated reclaim time by API. He will only get"},{"line_number":22,"context_line":"``OS-SRV-USG:terminated_at`` and it\u0027s null. As ``OS-SRV-USG:terminated_at``"},{"line_number":23,"context_line":"records the really deleted time, not soft-deleted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"So we should return deleted_at and estimated reclaim time in"},{"line_number":26,"context_line":"``GET /servers/detail`` and ``GET /servers/{server_id}``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_ff711adf","line":23,"range":{"start_line":23,"start_character":12,"end_line":23,"end_character":18},"updated":"2018-09-09 19:26:53.000000000","message":"actual","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"baf42b8a27abe1ff514363235fd8187761f90fe6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"``OS-SRV-USG:terminated_at`` and it\u0027s null. As ``OS-SRV-USG:terminated_at``"},{"line_number":23,"context_line":"records the really deleted time, not soft-deleted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"So we should return deleted_at and estimated reclaim time in"},{"line_number":26,"context_line":"``GET /servers/detail`` and ``GET /servers/{server_id}``."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_58c2d2ea","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":57},"updated":"2018-09-06 21:42:50.000000000","message":"We also return a full server response in PUT /servers/{server_id} and POST /servers/{server_id} (rebuild action), so those would likely also be built into this since they use the same view builder, unless you\u0027re going to filter the response on vm_state?","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"baf42b8a27abe1ff514363235fd8187761f90fe6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"In some case, admins want to know soft-deleted instance\u0027s delete and"},{"line_number":32,"context_line":"estimated reclaim time by API."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_b87766d4","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":12},"updated":"2018-09-06 21:42:50.000000000","message":"Can you be specific about what cases? I mean, this is the use case section after all.\n\nI assume they just want to know how much time do they have left before the instance is reclaimed (hard deleted) so they can restore it if necessary - but in what cases is that needed? To be clear, I don\u0027t need a lot of specific reasons - the fact that we have a restore API for doing just this means we support it and expect it to happen, but if you had something specific in mind it would be helpful.\n\nMaybe the scenario is simply, a user deleted their server on accident and opens a support ticket to reclaim it, so the admin does that - but if that\u0027s the case, they can either reclaim it or not, I\u0027m not sure why the admin would care how much time they have to do it.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0720117e5c3dd33875123a942589fbf6e5823bc0","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"In some case, admins want to know soft-deleted instance\u0027s delete and"},{"line_number":32,"context_line":"estimated reclaim time by API."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_5f4cce9c","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":12},"in_reply_to":"3f79a3b5_b87766d4","updated":"2018-09-09 19:26:53.000000000","message":"Yeah, it actually seems more like the user would want to know this if listing with --deleted or something.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"baf42b8a27abe1ff514363235fd8187761f90fe6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"We need to add ``deleted`` and ``estimated_reclaim`` attributes in the"},{"line_number":38,"context_line":"``GET /servers/detail`` and ``GET /servers/{server_id}`` response. If instance"},{"line_number":39,"context_line":"is neither soft-deleted nor deleted, return null character string for"},{"line_number":40,"context_line":"``deleted`` and ``estimated_reclaim``. If it\u0027s deleted, return null character"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_782b0e94","line":37,"updated":"2018-09-06 21:42:50.000000000","message":"Same question about about responses for server update and rebuild - will those contain these new fields with null values or would the fields be omitted based on vm_state? Personally I think it\u0027s less complicated code-wise and more consistent user-wise to just always return the fields in the update and rebuild responses as well, they\u0027ll just always be null in the case of those APIs.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0720117e5c3dd33875123a942589fbf6e5823bc0","unresolved":false,"context_lines":[{"line_number":37,"context_line":"We need to add ``deleted`` and ``estimated_reclaim`` attributes in the"},{"line_number":38,"context_line":"``GET /servers/detail`` and ``GET /servers/{server_id}`` response. If instance"},{"line_number":39,"context_line":"is neither soft-deleted nor deleted, return null character string for"},{"line_number":40,"context_line":"``deleted`` and ``estimated_reclaim``. If it\u0027s deleted, return null character"},{"line_number":41,"context_line":"string for ``estimated_reclaim``. ``deleted`` is the date and time when"},{"line_number":42,"context_line":"instance is deleted. ``estimated_reclaim`` time is calculated by"},{"line_number":43,"context_line":"``deleted`` + ``reclaim_instance_interval`` (configured in nova.conf)."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_df5f7e3e","line":41,"range":{"start_line":40,"start_character":63,"end_line":41,"end_character":6},"updated":"2018-09-09 19:26:53.000000000","message":"Do you mean the json value \"null\" or an empty string?","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"baf42b8a27abe1ff514363235fd8187761f90fe6","unresolved":false,"context_lines":[{"line_number":40,"context_line":"``deleted`` and ``estimated_reclaim``. If it\u0027s deleted, return null character"},{"line_number":41,"context_line":"string for ``estimated_reclaim``. ``deleted`` is the date and time when"},{"line_number":42,"context_line":"instance is deleted. ``estimated_reclaim`` time is calculated by"},{"line_number":43,"context_line":"``deleted`` + ``reclaim_instance_interval`` (configured in nova.conf)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* Add a new API microversion to the ``GET /servers/detail`` and"},{"line_number":46,"context_line":"  ``GET /servers/{server_id}`` to include ``deleted`` and ``estimated_reclaim``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_d82022b3","line":43,"range":{"start_line":43,"start_character":14,"end_line":43,"end_character":70},"updated":"2018-09-06 21:42:50.000000000","message":"I\u0027d like to note that this assumes the API and all nova-computes are configured the same for this option, otherwise if you have different nova-computes with different values for this option, compared to the API, it will be wrong. I don\u0027t know why anyone would ever do that, but it\u0027s a weird wart on how this API works that it\u0027s dependent on config across separate services.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0720117e5c3dd33875123a942589fbf6e5823bc0","unresolved":false,"context_lines":[{"line_number":40,"context_line":"``deleted`` and ``estimated_reclaim``. If it\u0027s deleted, return null character"},{"line_number":41,"context_line":"string for ``estimated_reclaim``. ``deleted`` is the date and time when"},{"line_number":42,"context_line":"instance is deleted. ``estimated_reclaim`` time is calculated by"},{"line_number":43,"context_line":"``deleted`` + ``reclaim_instance_interval`` (configured in nova.conf)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* Add a new API microversion to the ``GET /servers/detail`` and"},{"line_number":46,"context_line":"  ``GET /servers/{server_id}`` to include ``deleted`` and ``estimated_reclaim``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_9f558620","line":43,"range":{"start_line":43,"start_character":14,"end_line":43,"end_character":70},"in_reply_to":"3f79a3b5_d82022b3","updated":"2018-09-09 19:26:53.000000000","message":"Well, it\u0027s stored in config and can differ between services because the actual value only matters to one service and it\u0027s not exposed right now I think.\n\nWe could stash the anticipated reap time in system_metadata on the instance at delete time if we wanted to be consistent about it. We\u0027d want to make sure that the compute reaper honored that value instead of the config value too, in case it gets changed between delete and reap.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"baf42b8a27abe1ff514363235fd8187761f90fe6","unresolved":false,"context_lines":[{"line_number":43,"context_line":"``deleted`` + ``reclaim_instance_interval`` (configured in nova.conf)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* Add a new API microversion to the ``GET /servers/detail`` and"},{"line_number":46,"context_line":"  ``GET /servers/{server_id}`` to include ``deleted`` and ``estimated_reclaim``"},{"line_number":47,"context_line":"  in the response."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_be218fa0","line":46,"range":{"start_line":46,"start_character":44,"end_line":46,"end_character":51},"updated":"2018-09-06 21:42:50.000000000","message":"I would use \"deleted_at\" to indicate it\u0027s a time, like terminated_at, rather than a boolean indicating status \u003d\u003d \u0027DELETED\u0027.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0720117e5c3dd33875123a942589fbf6e5823bc0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"``deleted`` + ``reclaim_instance_interval`` (configured in nova.conf)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* Add a new API microversion to the ``GET /servers/detail`` and"},{"line_number":46,"context_line":"  ``GET /servers/{server_id}`` to include ``deleted`` and ``estimated_reclaim``"},{"line_number":47,"context_line":"  in the response."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_bf50822d","line":46,"range":{"start_line":46,"start_character":44,"end_line":46,"end_character":51},"in_reply_to":"3f79a3b5_be218fa0","updated":"2018-09-09 19:26:53.000000000","message":"Agree.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"baf42b8a27abe1ff514363235fd8187761f90fe6","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Add a new API microversion to the ``GET /servers/detail`` and"},{"line_number":64,"context_line":"``GET /servers/{server_id}`` to include ``deleted`` and ``estimated_reclaim``"},{"line_number":65,"context_line":"in the response for admin users."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* For admin users::"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_de280b87","line":65,"range":{"start_line":65,"start_character":20,"end_line":65,"end_character":32},"updated":"2018-09-06 21:42:50.000000000","message":"Why would these be restricted to admin users only? The launched_at and terminated_at fields are returned for admin_or_owner by default policy today.\n\nhttps://github.com/openstack/nova/blob/stable/rocky/nova/policies/server_usage.py#L27\n\n(later)\n\nHmm, now I see the security impact section.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"baf42b8a27abe1ff514363235fd8187761f90fe6","unresolved":false,"context_lines":[{"line_number":177,"context_line":"Security impact"},{"line_number":178,"context_line":"---------------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Only admins can get soft-deleted instance. So ``deleted`` and"},{"line_number":181,"context_line":"``estimated_reclaim`` attributes will not in the ``GET /servers/detail`` and"},{"line_number":182,"context_line":"``GET /servers/{server_id}`` response for non-admin users."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_de9b2bc6","line":180,"range":{"start_line":180,"start_character":0,"end_line":180,"end_character":42},"updated":"2018-09-06 21:42:50.000000000","message":"Hmm, even if the user specifies the changes-since filter? Because that will allow non-admins to list deleted servers.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0720117e5c3dd33875123a942589fbf6e5823bc0","unresolved":false,"context_lines":[{"line_number":177,"context_line":"Security impact"},{"line_number":178,"context_line":"---------------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Only admins can get soft-deleted instance. So ``deleted`` and"},{"line_number":181,"context_line":"``estimated_reclaim`` attributes will not in the ``GET /servers/detail`` and"},{"line_number":182,"context_line":"``GET /servers/{server_id}`` response for non-admin users."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_3f3a32e5","line":180,"range":{"start_line":180,"start_character":0,"end_line":180,"end_character":42},"in_reply_to":"3f79a3b5_de9b2bc6","updated":"2018-09-09 19:26:53.000000000","message":"And again, I don\u0027t really understand why an admin cares about this. I expect they care if they can or can not restore the instance, but that\u0027s a point-in-time thing. The only other thing I can think of is if an admin-having script is listing deleted instances periodically and warning users that their deleted instances are about to be reaped or something. But in that case, wouldn\u0027t it be easier to also just show it to the users?\n\nI\u0027m not sure what the security impact is of users knowing that their instances aren\u0027t being actually deleted right away. Potentially:\n\n 1. Ops not wanting users to discover this and depend on it instead of using care when deleting things\n 2. Ops not wanting users to know that they\u0027re still consuming resources in case they\u0027re feeling nefarious\n\nOn the other hand, if I\u0027m a user of a cloud and I think I\u0027ve deleted an instance with my secret cola formula stored inside, I\u0027d like to know if the operator is actually keeping my instance around post-delete for a while.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"baf42b8a27abe1ff514363235fd8187761f90fe6","unresolved":false,"context_lines":[{"line_number":189,"context_line":"Other end user impact"},{"line_number":190,"context_line":"---------------------"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"None"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Performance Impact"},{"line_number":195,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_5e987bbe","line":192,"updated":"2018-09-06 21:42:50.000000000","message":"The new microversion support should also be in python-novaclient and python-openstackclient.","commit_id":"5adf417c42838b18df30297b8a392839863de5a8"}]}
