)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"2c15b070b5c893a0b11874cab0c353791a89baf2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"094f002a_18c58713","updated":"2024-08-07 08:12:39.000000000","message":"This is utterly useful for situations where ceilometer is deployed before other services","commit_id":"2493eb41d0d0a4fa22b642deb08d16df7609ab70"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"7aab8a70113b05b8dac6aced89c2acb11597d0c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fe01bfd1_761a688f","updated":"2024-08-07 10:24:30.000000000","message":"We talked about adding a test for this situation. You said you had an idea how it could be tested. Can you please update the patch?","commit_id":"2493eb41d0d0a4fa22b642deb08d16df7609ab70"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"5a27d6012d78a2f3e95998391a260682052a22b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"832bf4ab_7a815c45","updated":"2024-10-04 08:46:51.000000000","message":"The tests are failing, do we intend to fix them? This fix would be very useful for modern deployments.","commit_id":"13f0f40704d84b2dc248f0e6d1e5122441eda75c"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"2d80f946899d8357a4ca0c8283774be2c8f7cab6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ca7065ac_abb9afbb","updated":"2024-10-04 08:57:10.000000000","message":"recheck","commit_id":"13f0f40704d84b2dc248f0e6d1e5122441eda75c"},{"author":{"_account_id":5241,"name":"Martin Magr","email":"mmagr@redhat.com","username":"mmagr"},"change_message_id":"6b390a8d5c81c53c3e6d3986c5c0949fe2db4839","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"46daa748_da2f4e66","updated":"2025-03-13 14:08:29.000000000","message":"Hi Takashi, I\u0027m taking over this patch. Comments are inline.","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":12,"id":"f0981735_84f79ddb","updated":"2026-03-17 15:11:58.000000000","message":"A few more points\n\n* Please add a release note\n\n* IMO the retry for missing endpoint should be optional to avoid impact in existing deployments relying on discovery based on available endpoints. We should add an option to optionally enable the retry mechanism.","commit_id":"9cf8a95b17648679d3f8aca4da54838b297f5604"}],"ceilometer/polling/manager.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0b1dd38e00b80dccbc8c62cffcc78b59b0cccf64","unresolved":true,"context_lines":[{"line_number":132,"context_line":"            source_discovery \u003d (self.agent_manager.discover(self._discovery,"},{"line_number":133,"context_line":"                                                            discovery_cache)"},{"line_number":134,"context_line":"                                if self._discovery else [])"},{"line_number":135,"context_line":"        except ka_exceptions.ClientException as e:"},{"line_number":136,"context_line":"            LOG.debug(\"No service endpoint in catalog or cache\")"},{"line_number":137,"context_line":"            raise e"},{"line_number":138,"context_line":"        if self._resources:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fe37b956_6eb43dab","line":135,"range":{"start_line":135,"start_character":45,"end_line":135,"end_character":49},"updated":"2024-11-26 07:01:31.000000000","message":"you don\u0027t need \u0027as e\u0027 and can use bare \u0027raise\u0027","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            source_discovery \u003d (self.agent_manager.discover(self._discovery,"},{"line_number":133,"context_line":"                                                            discovery_cache)"},{"line_number":134,"context_line":"                                if self._discovery else [])"},{"line_number":135,"context_line":"        except ka_exceptions.ClientException as e:"},{"line_number":136,"context_line":"            LOG.debug(\"No service endpoint in catalog or cache\")"},{"line_number":137,"context_line":"            raise e"},{"line_number":138,"context_line":"        if self._resources:"}],"source_content_type":"text/x-python","patch_set":4,"id":"8d736831_8370c1ea","line":135,"range":{"start_line":135,"start_character":45,"end_line":135,"end_character":49},"in_reply_to":"6fe2df90_97e39bed","updated":"2026-03-17 15:11:58.000000000","message":"Done","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":5241,"name":"Martin Magr","email":"mmagr@redhat.com","username":"mmagr"},"change_message_id":"6b390a8d5c81c53c3e6d3986c5c0949fe2db4839","unresolved":true,"context_lines":[{"line_number":132,"context_line":"            source_discovery \u003d (self.agent_manager.discover(self._discovery,"},{"line_number":133,"context_line":"                                                            discovery_cache)"},{"line_number":134,"context_line":"                                if self._discovery else [])"},{"line_number":135,"context_line":"        except ka_exceptions.ClientException as e:"},{"line_number":136,"context_line":"            LOG.debug(\"No service endpoint in catalog or cache\")"},{"line_number":137,"context_line":"            raise e"},{"line_number":138,"context_line":"        if self._resources:"}],"source_content_type":"text/x-python","patch_set":4,"id":"6fe2df90_97e39bed","line":135,"range":{"start_line":135,"start_character":45,"end_line":135,"end_character":49},"in_reply_to":"fe37b956_6eb43dab","updated":"2025-03-13 14:08:29.000000000","message":"Acknowledged","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0b1dd38e00b80dccbc8c62cffcc78b59b0cccf64","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                                                            discovery_cache)"},{"line_number":134,"context_line":"                                if self._discovery else [])"},{"line_number":135,"context_line":"        except ka_exceptions.ClientException as e:"},{"line_number":136,"context_line":"            LOG.debug(\"No service endpoint in catalog or cache\")"},{"line_number":137,"context_line":"            raise e"},{"line_number":138,"context_line":"        if self._resources:"},{"line_number":139,"context_line":"            static_resources_group \u003d self.agent_manager.construct_group_id("}],"source_content_type":"text/x-python","patch_set":4,"id":"8e1ef1cd_ed6a610c","line":136,"range":{"start_line":136,"start_character":23,"end_line":136,"end_character":62},"updated":"2024-11-26 07:01:31.000000000","message":"This is common for all the messages added, but I wonder if ClientException here can be caused only by missing endpoint ? (For example can the same exception raised when the service does not exist ?).","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":5241,"name":"Martin Magr","email":"mmagr@redhat.com","username":"mmagr"},"change_message_id":"6b390a8d5c81c53c3e6d3986c5c0949fe2db4839","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                                                            discovery_cache)"},{"line_number":134,"context_line":"                                if self._discovery else [])"},{"line_number":135,"context_line":"        except ka_exceptions.ClientException as e:"},{"line_number":136,"context_line":"            LOG.debug(\"No service endpoint in catalog or cache\")"},{"line_number":137,"context_line":"            raise e"},{"line_number":138,"context_line":"        if self._resources:"},{"line_number":139,"context_line":"            static_resources_group \u003d self.agent_manager.construct_group_id("}],"source_content_type":"text/x-python","patch_set":4,"id":"adf0738c_8484ce1f","line":136,"range":{"start_line":136,"start_character":23,"end_line":136,"end_character":62},"in_reply_to":"8e1ef1cd_ed6a610c","updated":"2025-03-13 14:08:29.000000000","message":"Possibly yes. I will spawn a devstack and try to use EndpointNotFound exception instead.","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                                                            discovery_cache)"},{"line_number":134,"context_line":"                                if self._discovery else [])"},{"line_number":135,"context_line":"        except ka_exceptions.ClientException as e:"},{"line_number":136,"context_line":"            LOG.debug(\"No service endpoint in catalog or cache\")"},{"line_number":137,"context_line":"            raise e"},{"line_number":138,"context_line":"        if self._resources:"},{"line_number":139,"context_line":"            static_resources_group \u003d self.agent_manager.construct_group_id("}],"source_content_type":"text/x-python","patch_set":4,"id":"d5090738_19f15338","line":136,"range":{"start_line":136,"start_character":23,"end_line":136,"end_character":62},"in_reply_to":"adf0738c_8484ce1f","updated":"2026-03-17 15:11:58.000000000","message":"Done","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0b1dd38e00b80dccbc8c62cffcc78b59b0cccf64","unresolved":true,"context_lines":[{"line_number":200,"context_line":"                key \u003d Resources.key(source_name, pollster)"},{"line_number":201,"context_line":"                try:"},{"line_number":202,"context_line":"                    candidate_res \u003d list("},{"line_number":203,"context_line":"                        self.resources[key].get(discovery_cache))"},{"line_number":204,"context_line":"                except ka_exceptions.ClientException:"},{"line_number":205,"context_line":"                    LOG.warning(\"Endpoint missing during polling, \""},{"line_number":206,"context_line":"                                \"refreshing keystone client.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"78223d2f_9eefd3fe","line":203,"range":{"start_line":203,"start_character":63,"end_line":203,"end_character":65},"updated":"2024-11-26 07:01:31.000000000","message":"Can we also put the logic from L220 into the same try-except block ? That may reduce the duplicate code. The updated code does not try discover twice but I don\u0027t know how much beneficial to execute it twice in the short span.\n\n\n```\ntry:\n    candidate_res \u003d list(\n        self.resources[key].get(discovery_cache))\n    if not candidate_res and pollster.obj.default_discovery:\n        candidate_res \u003d self.manager.discover(\n            [pollster.obj.default_discovery], discovery_cache)\nexcept ka_exceptions.ClientException:\n    LOG.warning(\"Endpoint missing during polling, \"\n                \"refreshing keystone client.\")\n    ...\n```","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":5241,"name":"Martin Magr","email":"mmagr@redhat.com","username":"mmagr"},"change_message_id":"6b390a8d5c81c53c3e6d3986c5c0949fe2db4839","unresolved":true,"context_lines":[{"line_number":200,"context_line":"                key \u003d Resources.key(source_name, pollster)"},{"line_number":201,"context_line":"                try:"},{"line_number":202,"context_line":"                    candidate_res \u003d list("},{"line_number":203,"context_line":"                        self.resources[key].get(discovery_cache))"},{"line_number":204,"context_line":"                except ka_exceptions.ClientException:"},{"line_number":205,"context_line":"                    LOG.warning(\"Endpoint missing during polling, \""},{"line_number":206,"context_line":"                                \"refreshing keystone client.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"c0842bac_3da064cb","line":203,"range":{"start_line":203,"start_character":63,"end_line":203,"end_character":65},"in_reply_to":"78223d2f_9eefd3fe","updated":"2025-03-13 14:08:29.000000000","message":"Agreed. Will rewrite this logic to avoid code duplication","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                key \u003d Resources.key(source_name, pollster)"},{"line_number":201,"context_line":"                try:"},{"line_number":202,"context_line":"                    candidate_res \u003d list("},{"line_number":203,"context_line":"                        self.resources[key].get(discovery_cache))"},{"line_number":204,"context_line":"                except ka_exceptions.ClientException:"},{"line_number":205,"context_line":"                    LOG.warning(\"Endpoint missing during polling, \""},{"line_number":206,"context_line":"                                \"refreshing keystone client.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"e14f2afd_7be3bc3d","line":203,"range":{"start_line":203,"start_character":63,"end_line":203,"end_character":65},"in_reply_to":"c0842bac_3da064cb","updated":"2026-03-17 15:11:58.000000000","message":"Done","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0b1dd38e00b80dccbc8c62cffcc78b59b0cccf64","unresolved":true,"context_lines":[{"line_number":785,"context_line":"                        service_type \u003d getattr("},{"line_number":786,"context_line":"                            self.conf.service_types,"},{"line_number":787,"context_line":"                            discoverer.KEYSTONE_REQUIRED_FOR_SERVICE)"},{"line_number":788,"context_line":"                        if not keystone_client.\\"},{"line_number":789,"context_line":"                                get_service_catalog(self.keystone).\\"},{"line_number":790,"context_line":"                                get_endpoints(service_type\u003dservice_type):"},{"line_number":791,"context_line":"                            LOG.warning("},{"line_number":792,"context_line":"                                \u0027Skipping %(name)s, %(service_type)s service \u0027"},{"line_number":793,"context_line":"                                \u0027is not registered in keystone\u0027,"},{"line_number":794,"context_line":"                                {\u0027name\u0027: name, \u0027service_type\u0027: service_type})"},{"line_number":795,"context_line":"                            continue"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"                    discovered \u003d discoverer.discover(self, param)"},{"line_number":798,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f9f383f_0af31040","line":795,"range":{"start_line":788,"start_character":0,"end_line":795,"end_character":36},"updated":"2024-11-26 07:01:31.000000000","message":"We also have to tweak this, I guess ?","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":false,"context_lines":[{"line_number":785,"context_line":"                        service_type \u003d getattr("},{"line_number":786,"context_line":"                            self.conf.service_types,"},{"line_number":787,"context_line":"                            discoverer.KEYSTONE_REQUIRED_FOR_SERVICE)"},{"line_number":788,"context_line":"                        if not keystone_client.\\"},{"line_number":789,"context_line":"                                get_service_catalog(self.keystone).\\"},{"line_number":790,"context_line":"                                get_endpoints(service_type\u003dservice_type):"},{"line_number":791,"context_line":"                            LOG.warning("},{"line_number":792,"context_line":"                                \u0027Skipping %(name)s, %(service_type)s service \u0027"},{"line_number":793,"context_line":"                                \u0027is not registered in keystone\u0027,"},{"line_number":794,"context_line":"                                {\u0027name\u0027: name, \u0027service_type\u0027: service_type})"},{"line_number":795,"context_line":"                            continue"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"                    discovered \u003d discoverer.discover(self, param)"},{"line_number":798,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"a7d66032_4bc30403","line":795,"range":{"start_line":788,"start_character":0,"end_line":795,"end_character":36},"in_reply_to":"26f4d5b1_16147218","updated":"2026-03-17 15:11:58.000000000","message":"Done","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":5241,"name":"Martin Magr","email":"mmagr@redhat.com","username":"mmagr"},"change_message_id":"6b390a8d5c81c53c3e6d3986c5c0949fe2db4839","unresolved":true,"context_lines":[{"line_number":785,"context_line":"                        service_type \u003d getattr("},{"line_number":786,"context_line":"                            self.conf.service_types,"},{"line_number":787,"context_line":"                            discoverer.KEYSTONE_REQUIRED_FOR_SERVICE)"},{"line_number":788,"context_line":"                        if not keystone_client.\\"},{"line_number":789,"context_line":"                                get_service_catalog(self.keystone).\\"},{"line_number":790,"context_line":"                                get_endpoints(service_type\u003dservice_type):"},{"line_number":791,"context_line":"                            LOG.warning("},{"line_number":792,"context_line":"                                \u0027Skipping %(name)s, %(service_type)s service \u0027"},{"line_number":793,"context_line":"                                \u0027is not registered in keystone\u0027,"},{"line_number":794,"context_line":"                                {\u0027name\u0027: name, \u0027service_type\u0027: service_type})"},{"line_number":795,"context_line":"                            continue"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"                    discovered \u003d discoverer.discover(self, param)"},{"line_number":798,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"26f4d5b1_16147218","line":795,"range":{"start_line":788,"start_character":0,"end_line":795,"end_character":36},"in_reply_to":"3f9f383f_0af31040","updated":"2025-03-13 14:08:29.000000000","message":"Most probably yes, thanks for heads up.","commit_id":"6d55b562a8ff1a88ff75778af80aece37b5b0055"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"962d64cd7170380ad8e512dd931e9d5c917c986b","unresolved":true,"context_lines":[{"line_number":234,"context_line":"            tenacity.retry_if_exception_type(ka_exceptions.EndpointNotFound)"},{"line_number":235,"context_line":"        ),"},{"line_number":236,"context_line":"        reraise\u003dTrue)"},{"line_number":237,"context_line":"    def _discover(self, pollster, discovery_cache, refresh\u003dFalse):"},{"line_number":238,"context_line":"        if refresh:"},{"line_number":239,"context_line":"            self.manager._force_ka_refresh()"},{"line_number":240,"context_line":"        candidate_res \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"acf14fa2_800c15fb","line":237,"updated":"2026-03-11 20:13:34.000000000","message":"Does it make sense to do the retry here if refresh\u003d\u003dFalse? I think in that case you\u0027ll always get the EndpointNotFound right? Should we maybe call the _force_ka_refresh in the except block?","commit_id":"4ea5d264c4e5036d5236b71302b4781ef8a7fd64"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":true,"context_lines":[{"line_number":946,"context_line":"        else:"},{"line_number":947,"context_line":"            raise self._keystone_last_exception"},{"line_number":948,"context_line":""},{"line_number":949,"context_line":"    def _force_ka_refresh(self):"},{"line_number":950,"context_line":"        self._keystone \u003d None"},{"line_number":951,"context_line":"        self._keystone_last_exception \u003d None"},{"line_number":952,"context_line":"        # Here we trigger the new session creation"},{"line_number":953,"context_line":"        kctemp \u003d self.keystone  # noqa"},{"line_number":954,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"cf0b08d6_384e1218","line":951,"range":{"start_line":949,"start_character":32,"end_line":951,"end_character":44},"updated":"2026-03-17 15:11:58.000000000","message":"I wonder if we need a lock mechanism here assuming self._keystone might be updated and used concurrently","commit_id":"9cf8a95b17648679d3f8aca4da54838b297f5604"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":true,"context_lines":[{"line_number":950,"context_line":"        self._keystone \u003d None"},{"line_number":951,"context_line":"        self._keystone_last_exception \u003d None"},{"line_number":952,"context_line":"        # Here we trigger the new session creation"},{"line_number":953,"context_line":"        kctemp \u003d self.keystone  # noqa"},{"line_number":954,"context_line":""},{"line_number":955,"context_line":"    @staticmethod"},{"line_number":956,"context_line":"    def _parse_discoverer(url):"}],"source_content_type":"text/x-python","patch_set":12,"id":"b615fcd2_cc35f03d","line":953,"range":{"start_line":953,"start_character":8,"end_line":953,"end_character":14},"updated":"2026-03-17 15:11:58.000000000","message":"You can probably use `_`.\n\nAlso I think we don\u0027t need this here, right ? Because self.keystone should be refreshed by next call at L973","commit_id":"9cf8a95b17648679d3f8aca4da54838b297f5604"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":true,"context_lines":[{"line_number":972,"context_line":"        if not keystone_client.\\"},{"line_number":973,"context_line":"                get_service_catalog(self.keystone).\\"},{"line_number":974,"context_line":"                get_endpoints(service_type\u003dservice_type):"},{"line_number":975,"context_line":"            LOG.debug(f\u0027Did not find {service_type} in keystone, \u0027"},{"line_number":976,"context_line":"                      \u0027refreshing\u0027)"},{"line_number":977,"context_line":"            self._force_ka_refresh()"},{"line_number":978,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":12,"id":"1560c8a2_d118e9a0","line":975,"range":{"start_line":975,"start_character":22,"end_line":975,"end_character":23},"updated":"2026-03-17 15:11:58.000000000","message":"Do not use f-string to delay string interpolation.","commit_id":"9cf8a95b17648679d3f8aca4da54838b297f5604"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":true,"context_lines":[{"line_number":975,"context_line":"            LOG.debug(f\u0027Did not find {service_type} in keystone, \u0027"},{"line_number":976,"context_line":"                      \u0027refreshing\u0027)"},{"line_number":977,"context_line":"            self._force_ka_refresh()"},{"line_number":978,"context_line":"            return False"},{"line_number":979,"context_line":"        return True"},{"line_number":980,"context_line":""},{"line_number":981,"context_line":"    def discover(self, discovery\u003dNone, discovery_cache\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"4687b0ce_a9b53dda","line":978,"range":{"start_line":978,"start_character":19,"end_line":978,"end_character":24},"updated":"2026-03-17 15:11:58.000000000","message":"Do we really reach this point ? I though that get_endpoints may raise EndpointNotFound in case the requested endpoint is not found.","commit_id":"9cf8a95b17648679d3f8aca4da54838b297f5604"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cf0b2548576991152269475eb9236e0491a0d23","unresolved":true,"context_lines":[{"line_number":1012,"context_line":"                    if discovery_cache is not None:"},{"line_number":1013,"context_line":"                        discovery_cache[url] \u003d discovered"},{"line_number":1014,"context_line":"                except ka_exceptions.ClientException as e:"},{"line_number":1015,"context_line":"                    LOG.error(\u0027Skipping %(name)s, keystone issue: \u0027"},{"line_number":1016,"context_line":"                              \u0027%(exc)s\u0027, {\u0027name\u0027: name, \u0027exc\u0027: e})"},{"line_number":1017,"context_line":"                    raise"},{"line_number":1018,"context_line":"                except Exception as err:"}],"source_content_type":"text/x-python","patch_set":12,"id":"7229467d_1d49bd77","line":1015,"range":{"start_line":1015,"start_character":31,"end_line":1015,"end_character":39},"updated":"2026-03-17 15:11:58.000000000","message":"This log needs to be updated.","commit_id":"9cf8a95b17648679d3f8aca4da54838b297f5604"}]}
