)]}'
{"specs/queens/approved/add-update-keypair-api.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Nova allow user to specify Keypair when boot instance, but"},{"line_number":19,"context_line":"Nova currently does not allow users to update keypairs, which means,"},{"line_number":20,"context_line":"as an user:"},{"line_number":21,"context_line":"1. If I lost my private key, I will not be able to login to my instance again;"},{"line_number":22,"context_line":"2. If I didn\u0027t specify keypair while booting, there is no way to add keypair"},{"line_number":23,"context_line":"latter for secure login."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_34cc6788","line":21,"updated":"2017-09-22 14:42:17.000000000","message":"nit: it would be nice if this numbered list was formatted as such, right now it just wraps.\n\nYou\u0027d need to do:\n\nas an user:\n\n  1. If I lost my private key, I will not be able to login to\n     my instance again;\n  2. If I didn\u0027t specify keypair while booting, there is no\n     way to add keypair later for secure login.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Nova allow user to specify Keypair when boot instance, but"},{"line_number":19,"context_line":"Nova currently does not allow users to update keypairs, which means,"},{"line_number":20,"context_line":"as an user:"},{"line_number":21,"context_line":"1. If I lost my private key, I will not be able to login to my instance again;"},{"line_number":22,"context_line":"2. If I didn\u0027t specify keypair while booting, there is no way to add keypair"},{"line_number":23,"context_line":"latter for secure login."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_e72df146","line":21,"in_reply_to":"7f515b1d_34cc6788","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"as an user:"},{"line_number":21,"context_line":"1. If I lost my private key, I will not be able to login to my instance again;"},{"line_number":22,"context_line":"2. If I didn\u0027t specify keypair while booting, there is no way to add keypair"},{"line_number":23,"context_line":"latter for secure login."},{"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":2,"id":"7f515b1d_34e34708","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":6},"updated":"2017-09-22 14:42:17.000000000","message":"later","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":20,"context_line":"as an user:"},{"line_number":21,"context_line":"1. If I lost my private key, I will not be able to login to my instance again;"},{"line_number":22,"context_line":"2. If I didn\u0027t specify keypair while booting, there is no way to add keypair"},{"line_number":23,"context_line":"latter for secure login."},{"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":2,"id":"7f515b1d_07ffedaa","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":6},"in_reply_to":"7f515b1d_34e34708","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As an user:"},{"line_number":29,"context_line":"1. If I lost my private key, I can use this API to change the keypair"},{"line_number":30,"context_line":"and login to my instance."},{"line_number":31,"context_line":"2. If I didn\u0027t specify keypair while booting, I can use this API to"},{"line_number":32,"context_line":"add the keypair and login to my instance using the SSH key."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_34910754","line":29,"updated":"2017-09-22 14:42:17.000000000","message":"format these as numbered lists in rst please, same as above","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As an user:"},{"line_number":29,"context_line":"1. If I lost my private key, I can use this API to change the keypair"},{"line_number":30,"context_line":"and login to my instance."},{"line_number":31,"context_line":"2. If I didn\u0027t specify keypair while booting, I can use this API to"},{"line_number":32,"context_line":"add the keypair and login to my instance using the SSH key."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_c732f5a7","line":29,"in_reply_to":"7f515b1d_34910754","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As an user:"},{"line_number":29,"context_line":"1. If I lost my private key, I can use this API to change the keypair"},{"line_number":30,"context_line":"and login to my instance."},{"line_number":31,"context_line":"2. If I didn\u0027t specify keypair while booting, I can use this API to"},{"line_number":32,"context_line":"add the keypair and login to my instance using the SSH key."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_f4a80f78","line":30,"range":{"start_line":29,"start_character":3,"end_line":30,"end_character":25},"updated":"2017-09-22 14:42:17.000000000","message":"Well, not quite. You also need to reboot and/or rebuild the instance depending on how cloud-init is configured.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e17968a0e38899fb819f69a10e3f192e8b5f8e6a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As an user:"},{"line_number":29,"context_line":"1. If I lost my private key, I can use this API to change the keypair"},{"line_number":30,"context_line":"and login to my instance."},{"line_number":31,"context_line":"2. If I didn\u0027t specify keypair while booting, I can use this API to"},{"line_number":32,"context_line":"add the keypair and login to my instance using the SSH key."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_f4624116","line":30,"range":{"start_line":29,"start_character":3,"end_line":30,"end_character":25},"in_reply_to":"7f515b1d_f4a80f78","updated":"2017-09-23 02:11:48.000000000","message":"-1 for this.\nAnd this can not work in a running-once cloud-init. The DB keypair and guest key may stay inconsistent. That can not be solved. If rebuild is required everytime, so https://review.openstack.org/#/c/375221/ this the reasonable method.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As an user:"},{"line_number":29,"context_line":"1. If I lost my private key, I can use this API to change the keypair"},{"line_number":30,"context_line":"and login to my instance."},{"line_number":31,"context_line":"2. If I didn\u0027t specify keypair while booting, I can use this API to"},{"line_number":32,"context_line":"add the keypair and login to my instance using the SSH key."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_a727f964","line":30,"range":{"start_line":29,"start_character":3,"end_line":30,"end_character":25},"in_reply_to":"7f515b1d_f4a80f78","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"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":"A new microversion is proposed which adds the following call::"},{"line_number":38,"context_line":"PUT /v2.1/servers/{server_id}/os-keypairs"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"This call will update the instance\u0027s keypair name in database with to"},{"line_number":41,"context_line":"the keypair name provided in request body."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_14c5eb3c","line":38,"range":{"start_line":38,"start_character":30,"end_line":38,"end_character":41},"updated":"2017-09-22 14:42:17.000000000","message":"I don\u0027t think we\u0027d call it os-keypairs, it would be \u0027keypair\u0027 or something since you can only have one and it should match the key in the server GET response body.\n\nSo actually it would probably just be \"key_name\", and then I wonder why we wouldn\u0027t just do this in the normal update server PUT call request body?","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"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":"A new microversion is proposed which adds the following call::"},{"line_number":38,"context_line":"PUT /v2.1/servers/{server_id}/os-keypairs"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"This call will update the instance\u0027s keypair name in database with to"},{"line_number":41,"context_line":"the keypair name provided in request body."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_94b1dbe4","line":38,"updated":"2017-09-22 14:42:17.000000000","message":"this doesn\u0027t format correct, you have to drop a line and indent","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"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":"A new microversion is proposed which adds the following call::"},{"line_number":38,"context_line":"PUT /v2.1/servers/{server_id}/os-keypairs"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"This call will update the instance\u0027s keypair name in database with to"},{"line_number":41,"context_line":"the keypair name provided in request body."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_e7d29134","line":38,"range":{"start_line":38,"start_character":30,"end_line":38,"end_character":41},"in_reply_to":"7f515b1d_14c5eb3c","updated":"2017-09-23 03:34:55.000000000","message":"Hmm, good point.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"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":"A new microversion is proposed which adds the following call::"},{"line_number":38,"context_line":"PUT /v2.1/servers/{server_id}/os-keypairs"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"This call will update the instance\u0027s keypair name in database with to"},{"line_number":41,"context_line":"the keypair name provided in request body."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_872cfd47","line":38,"in_reply_to":"7f515b1d_94b1dbe4","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"A new microversion is proposed which adds the following call::"},{"line_number":38,"context_line":"PUT /v2.1/servers/{server_id}/os-keypairs"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"This call will update the instance\u0027s keypair name in database with to"},{"line_number":41,"context_line":"the keypair name provided in request body."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As the new keypair can only became effective with the help of"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_14fdeb39","line":40,"range":{"start_line":40,"start_character":67,"end_line":40,"end_character":69},"updated":"2017-09-22 14:42:17.000000000","message":"s/to//","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"A new microversion is proposed which adds the following call::"},{"line_number":38,"context_line":"PUT /v2.1/servers/{server_id}/os-keypairs"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"This call will update the instance\u0027s keypair name in database with to"},{"line_number":41,"context_line":"the keypair name provided in request body."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As the new keypair can only became effective with the help of"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_67e6a119","line":40,"range":{"start_line":40,"start_character":67,"end_line":40,"end_character":69},"in_reply_to":"7f515b1d_14fdeb39","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"1714a2fa9d521dfaf71970c95692a28802a12f35","unresolved":false,"context_lines":[{"line_number":41,"context_line":"the keypair name provided in request body."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As the new keypair can only became effective with the help of"},{"line_number":44,"context_line":"cloudinit(or similar agent). User have to reboot or rebuild the"},{"line_number":45,"context_line":"instance after updating the instance\u0027s keypair."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Also, related policy checks will be added to control the access"},{"line_number":48,"context_line":"policy of this API."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_c9c1ff30","line":45,"range":{"start_line":44,"start_character":29,"end_line":45,"end_character":47},"updated":"2017-09-22 12:14:55.000000000","message":"This will have to be explicitly documented, to remove the expectation that *just* using this new keypairs API is enough to have the guest start using the new keypairs.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e17968a0e38899fb819f69a10e3f192e8b5f8e6a","unresolved":false,"context_lines":[{"line_number":41,"context_line":"the keypair name provided in request body."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As the new keypair can only became effective with the help of"},{"line_number":44,"context_line":"cloudinit(or similar agent). User have to reboot or rebuild the"},{"line_number":45,"context_line":"instance after updating the instance\u0027s keypair."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Also, related policy checks will be added to control the access"},{"line_number":48,"context_line":"policy of this API."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_d499851f","line":45,"range":{"start_line":44,"start_character":29,"end_line":45,"end_character":47},"in_reply_to":"7f515b1d_b4c297e8","updated":"2017-09-23 02:11:48.000000000","message":"-1 for this.\nAnother way to think about this is that you are expanding the functionality of reboot. What about one day user want to change password at a reboot?","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"the keypair name provided in request body."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As the new keypair can only became effective with the help of"},{"line_number":44,"context_line":"cloudinit(or similar agent). User have to reboot or rebuild the"},{"line_number":45,"context_line":"instance after updating the instance\u0027s keypair."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Also, related policy checks will be added to control the access"},{"line_number":48,"context_line":"policy of this API."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_b4c297e8","line":45,"range":{"start_line":44,"start_character":29,"end_line":45,"end_character":47},"in_reply_to":"7f515b1d_c9c1ff30","updated":"2017-09-22 14:42:17.000000000","message":"Yup, discussed this at the PTG, it\u0027s going to have to be well documented in the API for usage. Also, the end user doesn\u0027t know if a reboot will do it since the cloud-init config is per-deployment, so they might also have to rebuild.\n\nNote that I think cold migrating and unshelving an offloaded instance would also update the keypair as it\u0027s a new guest on a new host.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"cloudinit(or similar agent). User have to reboot or rebuild the"},{"line_number":45,"context_line":"instance after updating the instance\u0027s keypair."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Also, related policy checks will be added to control the access"},{"line_number":48,"context_line":"policy of this API."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Alternatives"},{"line_number":51,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_d462b316","line":48,"range":{"start_line":47,"start_character":0,"end_line":48,"end_character":19},"updated":"2017-09-22 14:42:17.000000000","message":"We didn\u0027t talk about this at the PTG, I\u0027m not sure if it\u0027s necessary if we just make it part of the PUT /servers API request body rather than it\u0027s own new API endpoint, but it\u0027s worth discussing.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":44,"context_line":"cloudinit(or similar agent). User have to reboot or rebuild the"},{"line_number":45,"context_line":"instance after updating the instance\u0027s keypair."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Also, related policy checks will be added to control the access"},{"line_number":48,"context_line":"policy of this API."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Alternatives"},{"line_number":51,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_87887d1f","line":48,"range":{"start_line":47,"start_character":0,"end_line":48,"end_character":19},"in_reply_to":"7f515b1d_d462b316","updated":"2017-09-23 03:34:55.000000000","message":"Yeah, I was thinking about separate API so I put it this way, but if we are adding it to PUT /servers API (which sounds reasonable) Then it can probably reuse that Policy.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Alternatives"},{"line_number":51,"context_line":"------------"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"It is also possible to add key_name as a parameter for rebuild"},{"line_number":54,"context_line":"API. This will limit the user update keypair functionality only"},{"line_number":55,"context_line":"do rebuild."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Data model impact"},{"line_number":58,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_946c3b09","line":55,"range":{"start_line":53,"start_character":0,"end_line":55,"end_character":11},"updated":"2017-09-22 14:42:17.000000000","message":"Yeah, could link to https://review.openstack.org/#/c/375221/ also.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Alternatives"},{"line_number":51,"context_line":"------------"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"It is also possible to add key_name as a parameter for rebuild"},{"line_number":54,"context_line":"API. This will limit the user update keypair functionality only"},{"line_number":55,"context_line":"do rebuild."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Data model impact"},{"line_number":58,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_a798196a","line":55,"range":{"start_line":53,"start_character":0,"end_line":55,"end_character":11},"in_reply_to":"7f515b1d_946c3b09","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Following changes will be introduced in a new API microversion."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* PUT /servers/{server_id}/os-keypairs"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Proposed JSON request body for the new API::"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_d44bd384","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":38},"updated":"2017-09-22 14:42:17.000000000","message":"As noted above, I think this can just be in the PUT /servers/{server_id} body since it\u0027s just updating the keypair name. A whole new API to pass in a body with a single key name seems like too much work here.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Following changes will be introduced in a new API microversion."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* PUT /servers/{server_id}/os-keypairs"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Proposed JSON request body for the new API::"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_879d1d5b","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":38},"in_reply_to":"7f515b1d_d44bd384","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"* The HTTP response code 400 is returned on a bad request."},{"line_number":83,"context_line":"* The HTTP response code 401 is returned if request is unauthorized. (keystone)"},{"line_number":84,"context_line":"* The HTTP response code 403 is returned if request is forbidden. (policy)"},{"line_number":85,"context_line":"* The HTTP response code 404 is returned if no server could be found."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Security impact"},{"line_number":88,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_345c674a","line":85,"range":{"start_line":85,"start_character":47,"end_line":85,"end_character":53},"updated":"2017-09-22 14:42:17.000000000","message":"or keypair with that name","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"* The HTTP response code 400 is returned on a bad request."},{"line_number":83,"context_line":"* The HTTP response code 401 is returned if request is unauthorized. (keystone)"},{"line_number":84,"context_line":"* The HTTP response code 403 is returned if request is forbidden. (policy)"},{"line_number":85,"context_line":"* The HTTP response code 404 is returned if no server could be found."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Security impact"},{"line_number":88,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_67a2219d","line":85,"range":{"start_line":85,"start_character":47,"end_line":85,"end_character":53},"in_reply_to":"7f515b1d_345c674a","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"1714a2fa9d521dfaf71970c95692a28802a12f35","unresolved":false,"context_lines":[{"line_number":87,"context_line":"Security impact"},{"line_number":88,"context_line":"---------------"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"None"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Notifications impact"},{"line_number":93,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_a9b7e3d8","line":90,"range":{"start_line":90,"start_character":0,"end_line":90,"end_character":4},"updated":"2017-09-22 12:14:55.000000000","message":"Surely there are some security concerns. For instance, if a user\u0027s cloud credentials are compromised, this API would allow an attacker to take over all VMs by changing the keypair. Currently, if cloud credentials are compromised, the attacker can already shut off and/or delete VMs, but I don\u0027t think it\u0027s possible for the attacker to get access to the guests themselves.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"Security impact"},{"line_number":88,"context_line":"---------------"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"None"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Notifications impact"},{"line_number":93,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_479f2550","line":90,"range":{"start_line":90,"start_character":0,"end_line":90,"end_character":4},"in_reply_to":"7f515b1d_a9b7e3d8","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"1714a2fa9d521dfaf71970c95692a28802a12f35","unresolved":false,"context_lines":[{"line_number":92,"context_line":"Notifications impact"},{"line_number":93,"context_line":"--------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"None."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Other end user impact"},{"line_number":98,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_c9d69ff2","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":4},"updated":"2017-09-22 12:14:55.000000000","message":"Do we currently have keypairs creation/deletion notifications? Would this new API need new keypairs changed notifications?","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"Notifications impact"},{"line_number":93,"context_line":"--------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"None."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Other end user impact"},{"line_number":98,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_27ac298b","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":4},"in_reply_to":"7f515b1d_743f7fd6","updated":"2017-09-23 03:34:55.000000000","message":"Yeah, I could mention this","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":92,"context_line":"Notifications impact"},{"line_number":93,"context_line":"--------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"None."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Other end user impact"},{"line_number":98,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_743f7fd6","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":4},"in_reply_to":"7f515b1d_c9d69ff2","updated":"2017-09-22 14:42:17.000000000","message":"We do have notifications for keypair changes. If we just lump this into the server update operation, then it would be in the existing instance.update notification with the InstanceUpdatePayload object.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":97,"context_line":"Other end user impact"},{"line_number":98,"context_line":"---------------------"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"None."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Performance Impact"},{"line_number":103,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_b41e176e","line":100,"updated":"2017-09-22 14:42:17.000000000","message":"Changes to novaclient.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"Other end user impact"},{"line_number":98,"context_line":"---------------------"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"None."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Performance Impact"},{"line_number":103,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_07a92d7a","line":100,"in_reply_to":"7f515b1d_b41e176e","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":107,"context_line":"Other deployer impact"},{"line_number":108,"context_line":"---------------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"None."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Developer impact"},{"line_number":113,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_340a2726","line":110,"updated":"2017-09-22 14:42:17.000000000","message":"Well, deployers might need to document what their cloud does when a guest is rebooted, if cloud-init will refresh the keypairs or not.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e17968a0e38899fb819f69a10e3f192e8b5f8e6a","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Work Items"},{"line_number":127,"context_line":"----------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"* Add new PUT /servers/{server_uuid}/os-keypairs API."},{"line_number":130,"context_line":"* Add related tests."},{"line_number":131,"context_line":"* Add docs to illustrate how this API should be used."},{"line_number":132,"context_line":"* Sync changes in python-novaclient."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_349219f8","line":129,"range":{"start_line":129,"start_character":2,"end_line":129,"end_character":53},"updated":"2017-09-23 02:11:48.000000000","message":"This new API has only one foreseeable advantage is to do instance running key injection. And this the point I can accept this.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":139,"context_line":"Testing"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"We need to functionally test to test out the functionality."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Documentation Impact"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_8f21c4a2","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":59},"updated":"2017-09-22 14:42:17.000000000","message":"Can we reword this? It\u0027s super redundant.\n\nJust say:\n\n- Unit tests for negative scenarios.\n- Functional API samples tests.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":139,"context_line":"Testing"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"We need to functionally test to test out the functionality."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Documentation Impact"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_e7b731d8","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":59},"in_reply_to":"7f515b1d_8f21c4a2","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Documentation Impact"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"We need to add good documentation about how this API should be used."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"References"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_2f3890d1","line":147,"updated":"2017-09-22 14:42:17.000000000","message":"Specifically this would be updating the API reference documentation.","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Documentation Impact"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"We need to add good documentation about how this API should be used."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"References"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_67cb4153","line":147,"in_reply_to":"7f515b1d_2f3890d1","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"40c58b5599e7e8e73300f2b05ef9873f5bab631e","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"References"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"History"},{"line_number":154,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_6f5b282e","line":151,"updated":"2017-09-22 14:42:17.000000000","message":"You could link to the recap on the Queens PTG discussion for this:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2017-September/122258.html","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d5d5b9f356042887c418a468a0cb377f34b6e44f","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"References"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"History"},{"line_number":154,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_47c84554","line":151,"in_reply_to":"7f515b1d_6f5b282e","updated":"2017-09-23 03:34:55.000000000","message":"Done","commit_id":"c43de40564d42c4b4da661b7bf5d0ac073a085f6"}],"specs/queens/approved/allow-update-instance-keypair.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0da05ad72db4f02d9436e6724072b58e4042d31d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Proposed change"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"According to discussion in Queens PTG [1],a new microversion will be"},{"line_number":47,"context_line":"added to Servers update API to support updating instance\u0027s keypair"},{"line_number":48,"context_line":"name according to the ``key_name`` field provided in the request body."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_4f02c50b","line":46,"range":{"start_line":46,"start_character":38,"end_line":46,"end_character":41},"updated":"2017-10-03 14:50:13.000000000","message":"nit: make this a real link, by doing [1]_","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0da05ad72db4f02d9436e6724072b58e4042d31d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"name according to the ``key_name`` field provided in the request body."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the new keypair can only became effective with the help of"},{"line_number":51,"context_line":"cloud-init(or similar agent). User have to reboot or rebuild the"},{"line_number":52,"context_line":"instance after updating the instance\u0027s keypair."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Operations that creates new guest on new host, such as migration,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_8f179d46","line":51,"range":{"start_line":51,"start_character":28,"end_line":51,"end_character":34},"updated":"2017-10-03 14:50:13.000000000","message":", the user has to","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"8e63c96551421318ca2328663d2a7ba7c8f7c878","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Operations that creates new guest on new host, such as migration,"},{"line_number":55,"context_line":"unshelving an offloaded instance will also update the keypair inside"},{"line_number":56,"context_line":"the instance."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_e9f7318c","line":56,"updated":"2017-10-03 13:48:07.000000000","message":"Is this always true? Or is this a \"may\" scenario?\n\nBecause debug at times might be non obvious here, we should make sure that instance updates get recorded in instance actions so that when debugging why someone can\u0027t ssh into a box any more the instance actions would show that keypair was updated at a certain point in time, then the reboot happened.","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0da05ad72db4f02d9436e6724072b58e4042d31d","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Operations that creates new guest on new host, such as migration,"},{"line_number":55,"context_line":"unshelving an offloaded instance will also update the keypair inside"},{"line_number":56,"context_line":"the instance."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_0f25edab","line":56,"in_reply_to":"7f515b1d_e9f7318c","updated":"2017-10-03 14:50:13.000000000","message":"We don\u0027t have instance actions records for the server update API, only for things that actually do POST /servers/{server_id}/action. We would have an action record for the reboot/rebuild, but not the update. That\u0027s not to say we couldn\u0027t add one, like we did for os-server-external-events when extending the size of an attached volume, but it\u0027s just outside the normal flow for instance action records.","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0da05ad72db4f02d9436e6724072b58e4042d31d","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"It is also possible to add key_name as a parameter for rebuild"},{"line_number":62,"context_line":"API. This will limit the user update keypair functionality only"},{"line_number":63,"context_line":"do rebuild [2]."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Data model impact"},{"line_number":66,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_cf36b5e8","line":63,"range":{"start_line":63,"start_character":11,"end_line":63,"end_character":14},"updated":"2017-10-03 14:50:13.000000000","message":"[2]_","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0da05ad72db4f02d9436e6724072b58e4042d31d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"* The HTTP response code 400 is returned on a bad request."},{"line_number":102,"context_line":"* The HTTP response code 401 is returned if request is unauthorized. (keystone)"},{"line_number":103,"context_line":"* The HTTP response code 403 is returned if request is forbidden. (policy)"},{"line_number":104,"context_line":"* The HTTP response code 404 is returned if no server or keypair with the"},{"line_number":105,"context_line":"  provided name could be found."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Security impact"},{"line_number":108,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_cf3b55c6","line":105,"range":{"start_line":104,"start_character":2,"end_line":105,"end_character":31},"updated":"2017-10-03 14:50:13.000000000","message":"We should ask cdent about this, I can\u0027t remember if this is a 400 or 404. I think it\u0027s actually only a 404 if the server resource is not found, but stuff in the request body not being found is a 400.\n\n\u003clater\u003e\n\n(9:48:40 AM) cdent: mriedem: correct, that’s the general rule","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0da05ad72db4f02d9436e6724072b58e4042d31d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"Notifications impact"},{"line_number":115,"context_line":"--------------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Key_name field will be added to instance update notification."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Other end user impact"},{"line_number":120,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_af6139d6","line":117,"range":{"start_line":117,"start_character":0,"end_line":117,"end_character":8},"updated":"2017-10-03 14:50:13.000000000","message":"The ``key_name`` field","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0da05ad72db4f02d9436e6724072b58e4042d31d","unresolved":false,"context_lines":[{"line_number":173,"context_line":"References"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"[1] Queens PTG discussion recap"},{"line_number":177,"context_line":"  http://lists.openstack.org/pipermail/openstack-dev/2017-September/122258.html"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"[2] Reset the instance keypair while rebuilding (spec)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_0f0ccd39","line":176,"range":{"start_line":176,"start_character":0,"end_line":176,"end_character":3},"updated":"2017-10-03 14:50:13.000000000","message":"Make this a real footnote by doing:\n\n.. [1]","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0da05ad72db4f02d9436e6724072b58e4042d31d","unresolved":false,"context_lines":[{"line_number":176,"context_line":"[1] Queens PTG discussion recap"},{"line_number":177,"context_line":"  http://lists.openstack.org/pipermail/openstack-dev/2017-September/122258.html"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"[2] Reset the instance keypair while rebuilding (spec)"},{"line_number":180,"context_line":"  https://review.openstack.org/#/c/375221/"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"History"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_af3379f6","line":179,"range":{"start_line":179,"start_character":0,"end_line":179,"end_character":3},"updated":"2017-10-03 14:50:13.000000000","message":".. [2]","commit_id":"8def204961faf0038eabc62c43d5efcebe0b8d5d"}]}
