)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5f2bf53f9f158848541d04044fafbb213c787b5f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"to get the image service endpoint via keystoneauth adapter and"},{"line_number":12,"context_line":"the service catalog via the request context."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Periodic tasks run without an actual token so there is no way"},{"line_number":15,"context_line":"to get the service catalog and the KSA adapter code to get the"},{"line_number":16,"context_line":"endpoint raises EndpointNotFound when trying to build the"},{"line_number":17,"context_line":"\"image_ref_url\" entry in the legacy instance notification payload."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_f407b1c8","line":15,"range":{"start_line":14,"start_character":55,"end_line":15,"end_character":26},"updated":"2018-03-20 21:36:58.000000000","message":"unless auth creds are provided in conf","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"cc8f20620c6e4f08ac6a4ccc1d743eba82938764","unresolved":false,"context_lines":[{"line_number":11,"context_line":"to get the image service endpoint via keystoneauth adapter and"},{"line_number":12,"context_line":"the service catalog via the request context."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Periodic tasks run without an actual token so there is no way"},{"line_number":15,"context_line":"to get the service catalog and the KSA adapter code to get the"},{"line_number":16,"context_line":"endpoint raises EndpointNotFound when trying to build the"},{"line_number":17,"context_line":"\"image_ref_url\" entry in the legacy instance notification payload."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_74cba149","line":15,"range":{"start_line":14,"start_character":55,"end_line":15,"end_character":26},"in_reply_to":"df7087c5_547d3d1a","updated":"2018-03-20 21:44:22.000000000","message":"huh?  You can specify auth creds in [glance] today and this problem goes away.\n\n[Later] Oh, my bad, I thought we had code like in neutronv2.api.get_client that looks for admin creds.  Sorry about that.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"67304f6b685e7713cbe0d75a1a968cb3f7b0ac40","unresolved":false,"context_lines":[{"line_number":11,"context_line":"to get the image service endpoint via keystoneauth adapter and"},{"line_number":12,"context_line":"the service catalog via the request context."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Periodic tasks run without an actual token so there is no way"},{"line_number":15,"context_line":"to get the service catalog and the KSA adapter code to get the"},{"line_number":16,"context_line":"endpoint raises EndpointNotFound when trying to build the"},{"line_number":17,"context_line":"\"image_ref_url\" entry in the legacy instance notification payload."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_547d3d1a","line":15,"range":{"start_line":14,"start_character":55,"end_line":15,"end_character":26},"in_reply_to":"df7087c5_f407b1c8","updated":"2018-03-20 21:40:17.000000000","message":"Right, this comment is not talking about theoretical things that aren\u0027t actually available to us today.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"18e6e601cf5162f716daf4f09b874fbd21b2c1b9","unresolved":false,"context_lines":[{"line_number":21,"context_line":"instances is the image id (for volume-backed instances it\u0027s an empty"},{"line_number":22,"context_line":"string)."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"This doesn\u0027t affect versioned notifications since those don\u0027t use the"},{"line_number":25,"context_line":"\"image_ref_url\" entry in the payload that is created, they just have"},{"line_number":26,"context_line":"an \"image_uuid\" entry in the versioned notification payload which is"},{"line_number":27,"context_line":"populated via instance.image_ref."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"An upgrade impact release note is added in the case that some consuming"},{"line_number":30,"context_line":"service is actually relying on that legacy notification field being"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_871397b8","line":27,"range":{"start_line":24,"start_character":0,"end_line":27,"end_character":33},"updated":"2018-03-21 11:44:15.000000000","message":"+1\nAll hail the versioned notifications!","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3038cded51a0b6b42c2f99644a10f156dccf40cf","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"An upgrade impact release note is added in the case that some consuming"},{"line_number":30,"context_line":"service is actually relying on that legacy notification field being"},{"line_number":31,"context_line":"a URL and parsing it as such. The thinking here, however, is this is"},{"line_number":32,"context_line":"better than not sending the field at all, or setting it to None."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Long-term this code all gets replaced with versioned notifications."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_d49aadc3","line":32,"range":{"start_line":31,"start_character":30,"end_line":32,"end_character":64},"updated":"2018-03-20 21:26:15.000000000","message":"Also, as discussed in IRC, if a consuming service is blindly taking the image_ref_url and making a GET request with it, it will fail for all volume-backed instances, so anything using this field is going to have to be smart already about parsing it.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"18e6e601cf5162f716daf4f09b874fbd21b2c1b9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Long-term this code all gets replaced with versioned notifications."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Change-Id: Ie23a9c922776b028da0720c939846cba233ac472"},{"line_number":37,"context_line":"Closes-Bug: #1753550"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_62f511ed","line":37,"updated":"2018-03-21 11:44:15.000000000","message":"This patch does not want to solve the fact that notification sending hits the keystone API (if glance/api_serer is not configured). I\u0027m OK with that as this patch already solves the reported issue. \n\nI reported a separate bug to solve the unnecessary keystone API call when the result is not even used for versioned notifications.\n\nhttps://bugs.launchpad.net/nova/+bug/1757407","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0370c8236bc9b6e99b28747364eee1434bd1b11f","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Long-term this code all gets replaced with versioned notifications."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Change-Id: Ie23a9c922776b028da0720c939846cba233ac472"},{"line_number":37,"context_line":"Closes-Bug: #1753550"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_ec64afe7","line":37,"in_reply_to":"df7087c5_62f511ed","updated":"2018-03-21 15:19:57.000000000","message":"Eric pointed out yesterday that the keystoneauth1 library will cache the service catalog / endpoint information after the first call to keystone, so we aren\u0027t hitting keystone API every time we try to do this, only the first time. I\u0027m not exactly sure how the caching works though, i.e. you\u0027d think we\u0027d have already gotten the glance endpoint information at least once when we created the instance that was then stopped by the periodic task (and the periodic task doesn\u0027t have a token so that\u0027s why it failed to get the endpoint).","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4afdae491507d4ae4da35522e3b055b24b99f7d2","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Long-term this code all gets replaced with versioned notifications."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Change-Id: Ie23a9c922776b028da0720c939846cba233ac472"},{"line_number":37,"context_line":"Closes-Bug: #1753550"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_4be497ac","line":37,"in_reply_to":"df7087c5_ec64afe7","updated":"2018-03-21 22:47:24.000000000","message":"Once per unique context, I think.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"}],"nova/notifications/base.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5f2bf53f9f158848541d04044fafbb213c787b5f","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        # id for the URL (yes it\u0027s a lie, but it\u0027s best effort at this point)."},{"line_number":408,"context_line":"        with excutils.save_and_reraise_exception() as exc_ctx:"},{"line_number":409,"context_line":"            if context.auth_token is None:"},{"line_number":410,"context_line":"                image_ref_url \u003d instance.image_ref"},{"line_number":411,"context_line":"                exc_ctx.reraise \u003d False"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    instance_type \u003d instance.get_flavor()"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_5421bd4c","line":410,"updated":"2018-03-20 21:36:58.000000000","message":"log a warning?","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"cc8f20620c6e4f08ac6a4ccc1d743eba82938764","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        # id for the URL (yes it\u0027s a lie, but it\u0027s best effort at this point)."},{"line_number":408,"context_line":"        with excutils.save_and_reraise_exception() as exc_ctx:"},{"line_number":409,"context_line":"            if context.auth_token is None:"},{"line_number":410,"context_line":"                image_ref_url \u003d instance.image_ref"},{"line_number":411,"context_line":"                exc_ctx.reraise \u003d False"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    instance_type \u003d instance.get_flavor()"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_f42d71fd","line":410,"in_reply_to":"df7087c5_34a769aa","updated":"2018-03-20 21:44:22.000000000","message":"Fair.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"67304f6b685e7713cbe0d75a1a968cb3f7b0ac40","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        # id for the URL (yes it\u0027s a lie, but it\u0027s best effort at this point)."},{"line_number":408,"context_line":"        with excutils.save_and_reraise_exception() as exc_ctx:"},{"line_number":409,"context_line":"            if context.auth_token is None:"},{"line_number":410,"context_line":"                image_ref_url \u003d instance.image_ref"},{"line_number":411,"context_line":"                exc_ctx.reraise \u003d False"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    instance_type \u003d instance.get_flavor()"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_34a769aa","line":410,"in_reply_to":"df7087c5_5421bd4c","updated":"2018-03-20 21:40:17.000000000","message":"Thought about logging something but that would get really annoying when periodics are running every minute if they are sending notifications, and there isn\u0027t much the operator can do about it outside of (1) switching entirely to versioned notifications, which not many people are using yet if at all, or (2) set CONF.glance.api_servers, which we don\u0027t really want people doing anymore now that we have the new KSA adapter hotness.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"}],"releasenotes/notes/bug-1753550-image-ref-url-notifications-42df5911a46b7de7.yaml":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5f2bf53f9f158848541d04044fafbb213c787b5f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``image_ref_url`` entry in legacy instance notification payloads will"},{"line_number":5,"context_line":"    be just the instance image id if ``[glance]/api_servers`` is not set"},{"line_number":6,"context_line":"    and the notification is being sent from a periodic task. In this case the"},{"line_number":7,"context_line":"    periodic task does not have a token to get the image service endpoint URL"},{"line_number":8,"context_line":"    from the identity service so only the image id is in the payload. This"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df7087c5_f4a331b0","line":5,"updated":"2018-03-20 21:36:58.000000000","message":"and no creds are supplied in [glance] conf","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"67304f6b685e7713cbe0d75a1a968cb3f7b0ac40","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``image_ref_url`` entry in legacy instance notification payloads will"},{"line_number":5,"context_line":"    be just the instance image id if ``[glance]/api_servers`` is not set"},{"line_number":6,"context_line":"    and the notification is being sent from a periodic task. In this case the"},{"line_number":7,"context_line":"    periodic task does not have a token to get the image service endpoint URL"},{"line_number":8,"context_line":"    from the identity service so only the image id is in the payload. This"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df7087c5_74c6414c","line":5,"in_reply_to":"df7087c5_f4a331b0","updated":"2018-03-20 21:40:17.000000000","message":"There is no way to supply creds to glance config in nova.conf right now, so it\u0027s not appropriate to talk about that here.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5f2bf53f9f158848541d04044fafbb213c787b5f","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    and the notification is being sent from a periodic task. In this case the"},{"line_number":7,"context_line":"    periodic task does not have a token to get the image service endpoint URL"},{"line_number":8,"context_line":"    from the identity service so only the image id is in the payload. This"},{"line_number":9,"context_line":"    does not affect versioned notifications."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df7087c5_149ee562","line":9,"updated":"2018-03-20 21:36:58.000000000","message":"...or mention here that you can make the problem go away by specifying [glance]api_servers and/or auth creds.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"67304f6b685e7713cbe0d75a1a968cb3f7b0ac40","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    and the notification is being sent from a periodic task. In this case the"},{"line_number":7,"context_line":"    periodic task does not have a token to get the image service endpoint URL"},{"line_number":8,"context_line":"    from the identity service so only the image id is in the payload. This"},{"line_number":9,"context_line":"    does not affect versioned notifications."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df7087c5_34c0c92a","line":9,"in_reply_to":"df7087c5_149ee562","updated":"2018-03-20 21:40:17.000000000","message":"This already talks about the former, and the latter isn\u0027t an option right now.","commit_id":"6482165bb1f44f5c98d9361153d737c22c92112d"}]}
