)]}'
{"ironic_python_agent/ironic_api_client.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3fea62bd621948abd3887401150d5113592893c7","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            )"},{"line_number":177,"context_line":"            return False"},{"line_number":178,"context_line":"        except (requests.exceptions.Timeout,"},{"line_number":179,"context_line":"                requests.exceptions.ConnectTimeout) as err:"},{"line_number":180,"context_line":"            LOG.warning("},{"line_number":181,"context_line":"                \u0027Timeout encountered while attempting to perform lookup \u0027"},{"line_number":182,"context_line":"                \u0027with %s, retrying. Error: %s\u0027, self.api_url, err"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_078746b7","line":179,"updated":"2020-08-01 17:19:41.000000000","message":"The difference between this block on the previous one is in the word \"encountered\" (vs \"detected\"). Why not merge them and use some generic requests Error?","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d4c11188deda8cc80c436f36f6ca25f8e4c1e47e","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            )"},{"line_number":177,"context_line":"            return False"},{"line_number":178,"context_line":"        except (requests.exceptions.Timeout,"},{"line_number":179,"context_line":"                requests.exceptions.ConnectTimeout) as err:"},{"line_number":180,"context_line":"            LOG.warning("},{"line_number":181,"context_line":"                \u0027Timeout encountered while attempting to perform lookup \u0027"},{"line_number":182,"context_line":"                \u0027with %s, retrying. Error: %s\u0027, self.api_url, err"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_bfd93258","line":179,"in_reply_to":"9f560f44_078746b7","updated":"2020-08-03 13:38:42.000000000","message":"I guess I could merge them. The distinct difference is connecttimeout which should really be still treated separately as a timeout since the others are more along the lines of \"hey, we got a connection, something happened\" versus \"we couldn\u0027t make a connection\" with the ConnectTimeout","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"09cd69188589429ea2c4f03b28c09609bdead2cf","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            )"},{"line_number":177,"context_line":"            return False"},{"line_number":178,"context_line":"        except (requests.exceptions.Timeout,"},{"line_number":179,"context_line":"                requests.exceptions.ConnectTimeout) as err:"},{"line_number":180,"context_line":"            LOG.warning("},{"line_number":181,"context_line":"                \u0027Timeout encountered while attempting to perform lookup \u0027"},{"line_number":182,"context_line":"                \u0027with %s, retrying. Error: %s\u0027, self.api_url, err"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_59963195","line":179,"in_reply_to":"9f560f44_bfd93258","updated":"2020-08-03 16:21:50.000000000","message":"Done","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3fea62bd621948abd3887401150d5113592893c7","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        except Exception as err:"},{"line_number":186,"context_line":"            # Hey! If your looking here, and you are wondering why your"},{"line_number":187,"context_line":"            # getting to this point, perhaps we might need another, different"},{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_6790c2ee","line":188,"updated":"2020-08-01 17:19:41.000000000","message":"I\u0027m not sure this is helpful to understand the issue in question. Let\u0027s instead mention that we\u0027re trying to avoid the logging system doing string substitution? I\u0027m totally sure somebody will try to \"fix\" it in a few months otherwise.","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d4c11188deda8cc80c436f36f6ca25f8e4c1e47e","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        except Exception as err:"},{"line_number":186,"context_line":"            # Hey! If your looking here, and you are wondering why your"},{"line_number":187,"context_line":"            # getting to this point, perhaps we might need another, different"},{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_7feb1adb","line":188,"in_reply_to":"9f560f44_6790c2ee","updated":"2020-08-03 13:38:42.000000000","message":"ack","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"09cd69188589429ea2c4f03b28c09609bdead2cf","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        except Exception as err:"},{"line_number":186,"context_line":"            # Hey! If your looking here, and you are wondering why your"},{"line_number":187,"context_line":"            # getting to this point, perhaps we might need another, different"},{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_b98f8d73","line":188,"in_reply_to":"9f560f44_7feb1adb","updated":"2020-08-03 16:21:50.000000000","message":"Revising to be far more verbose, and convey the required context.","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3fea62bd621948abd3887401150d5113592893c7","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            # Hey! If your looking here, and you are wondering why your"},{"line_number":187,"context_line":"            # getting to this point, perhaps we might need another, different"},{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"},{"line_number":192,"context_line":"            raise errors.LookupNodeError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_478dbed1","line":189,"updated":"2020-08-01 17:19:41.000000000","message":"nit: is \"i\" after {} intended?","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d4c11188deda8cc80c436f36f6ca25f8e4c1e47e","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            # Hey! If your looking here, and you are wondering why your"},{"line_number":187,"context_line":"            # getting to this point, perhaps we might need another, different"},{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"},{"line_number":192,"context_line":"            raise errors.LookupNodeError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_dfbd06d9","line":189,"in_reply_to":"9f560f44_478dbed1","updated":"2020-08-03 13:38:42.000000000","message":"nope, not at all.","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"09cd69188589429ea2c4f03b28c09609bdead2cf","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            # Hey! If your looking here, and you are wondering why your"},{"line_number":187,"context_line":"            # getting to this point, perhaps we might need another, different"},{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"},{"line_number":192,"context_line":"            raise errors.LookupNodeError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_998c4980","line":189,"in_reply_to":"9f560f44_dfbd06d9","updated":"2020-08-03 16:21:50.000000000","message":"Done","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3fea62bd621948abd3887401150d5113592893c7","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"},{"line_number":192,"context_line":"            raise errors.LookupNodeError(msg)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        if response.status_code !\u003d requests.codes.OK:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a7bf7a5f","line":191,"updated":"2020-08-01 17:19:41.000000000","message":"s/error/exception/ ? or are you trying to avoid logging traceback as well?","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"09cd69188589429ea2c4f03b28c09609bdead2cf","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"},{"line_number":192,"context_line":"            raise errors.LookupNodeError(msg)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        if response.status_code !\u003d requests.codes.OK:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_59dbd17a","line":191,"in_reply_to":"9f560f44_1fb49ef1","updated":"2020-08-03 16:21:50.000000000","message":"I\u0027m going to propose some extra handling so we fallback... hopefully.","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d4c11188deda8cc80c436f36f6ca25f8e4c1e47e","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            # exception being handled above."},{"line_number":189,"context_line":"            msg \u003d (\u0027Unhandled error looking up node with addresses {}i at \u0027"},{"line_number":190,"context_line":"                   \u0027{}: {}\u0027.format(params[\u0027addresses\u0027], self.api_url, err))"},{"line_number":191,"context_line":"            LOG.error(msg)"},{"line_number":192,"context_line":"            raise errors.LookupNodeError(msg)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        if response.status_code !\u003d requests.codes.OK:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_1fb49ef1","line":191,"in_reply_to":"9f560f44_a7bf7a5f","updated":"2020-08-03 13:38:42.000000000","message":"I am in hopefully some way/shape/form that will be debuggable. Logging to error will at least allow use to understand what happened to the agent, where as log.exception will never log anything if journald fails merge the exception since it is only treated as an after thought.","commit_id":"46ae8a7d2427b698477e37ed2850491c7025f5d1"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"3a792ed4d50e5645d3a133eb31d1cb112479f3b5","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            )"},{"line_number":179,"context_line":"            return False"},{"line_number":180,"context_line":"        except Exception as err:"},{"line_number":181,"context_line":"            # NOTE(TheJulia): If your looking here, and your wondering why"},{"line_number":182,"context_line":"            # the retry logic is not working or your investigating a weird"},{"line_number":183,"context_line":"            # error or even IPA just exiting,"},{"line_number":184,"context_line":"            # See https://storyboard.openstack.org/#!/story/2007968"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_77104ca9","line":181,"range":{"start_line":181,"start_character":33,"end_line":181,"end_character":60},"updated":"2020-08-04 19:30:20.000000000","message":"nit - you\u0027re looking here, and you\u0027re...","commit_id":"1f92a959b85a7fb0ce36330c5e3818a7e871ef49"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"b68844bb0080319b91dea6af0b36e73f2e87b342","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                return False"},{"line_number":199,"context_line":"            except Exception as exc_err:"},{"line_number":200,"context_line":"                LOG.error(msg)"},{"line_number":201,"context_line":"                exc_err \u003d (\u0027Unexpected exception occured while trying to \u0027"},{"line_number":202,"context_line":"                           \u0027log additional detail. Error: {}\u0027.format(exc_err))"},{"line_number":203,"context_line":"                LOG.error(exc_err)"},{"line_number":204,"context_line":"                raise errors.LookupNodeError(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_371a54cb","line":201,"updated":"2020-08-04 19:48:07.000000000","message":"it\u0027s confusing to shadow this variable imho","commit_id":"1f92a959b85a7fb0ce36330c5e3818a7e871ef49"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"14fe5407c38b002b1f607292b9c8702aad5ef262","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                return False"},{"line_number":199,"context_line":"            except Exception as exc_err:"},{"line_number":200,"context_line":"                LOG.error(msg)"},{"line_number":201,"context_line":"                exc_err \u003d (\u0027Unexpected exception occured while trying to \u0027"},{"line_number":202,"context_line":"                           \u0027log additional detail. Error: {}\u0027.format(exc_err))"},{"line_number":203,"context_line":"                LOG.error(exc_err)"},{"line_number":204,"context_line":"                raise errors.LookupNodeError(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_42110304","line":201,"in_reply_to":"9f560f44_371a54cb","updated":"2020-08-05 03:40:06.000000000","message":"I didn\u0027t even notice I did that.... DOH!","commit_id":"1f92a959b85a7fb0ce36330c5e3818a7e871ef49"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"9a4297ae869bb16699b988dca9a8659db6ab37f0","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                requests.exceptions.HTTPError) as err:"},{"line_number":175,"context_line":"            LOG.warning("},{"line_number":176,"context_line":"                \u0027Error detected while attempting to perform lookup \u0027"},{"line_number":177,"context_line":"                \u0027with %s, retrying. Error: %s\u0027, self.api_url, err"},{"line_number":178,"context_line":"            )"},{"line_number":179,"context_line":"            return False"},{"line_number":180,"context_line":"        except Exception as err:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_1440b306","line":177,"range":{"start_line":177,"start_character":24,"end_line":177,"end_character":34},"updated":"2020-08-07 14:25:27.000000000","message":"I guess it will also show \"retrying\" for the last retry? Not a big deal, but worth considering for a follow-up.","commit_id":"5eab9bced63b2b9a6753cbbf594dda7ef9d03a3a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"533c0bdc33d56bdf531f41164b6662fc6cd98553","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                requests.exceptions.HTTPError) as err:"},{"line_number":175,"context_line":"            LOG.warning("},{"line_number":176,"context_line":"                \u0027Error detected while attempting to perform lookup \u0027"},{"line_number":177,"context_line":"                \u0027with %s, retrying. Error: %s\u0027, self.api_url, err"},{"line_number":178,"context_line":"            )"},{"line_number":179,"context_line":"            return False"},{"line_number":180,"context_line":"        except Exception as err:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_74d48fe9","line":177,"range":{"start_line":177,"start_character":24,"end_line":177,"end_character":34},"in_reply_to":"9f560f44_1440b306","updated":"2020-08-07 14:35:56.000000000","message":"Eh, yeah. I guess the conundrum is we don\u0027t control the retries from here. maybe splitting apart before/after.","commit_id":"5eab9bced63b2b9a6753cbbf594dda7ef9d03a3a"}],"releasenotes/notes/fixes-agent-lookup-retries-1b4bb90b8e783aca.yaml":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"3a792ed4d50e5645d3a133eb31d1cb112479f3b5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes retry logic issues with the Agent Lookup with can result in"},{"line_number":5,"context_line":"    the lookup failing prematurely before being completed, typically"},{"line_number":6,"context_line":"    resulting in an abrupt end to the agent logging and potentially"},{"line_number":7,"context_line":"    weird errors like TypeError being reported on the agent process"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_7737ac4e","line":4,"range":{"start_line":4,"start_character":51,"end_line":4,"end_character":55},"updated":"2020-08-04 19:30:20.000000000","message":"typo - which","commit_id":"1f92a959b85a7fb0ce36330c5e3818a7e871ef49"}]}
