)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"1e12de2854972b541c45fb6fff4ac38e38793363","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Markin, Sergiy (sm515x) \u003csm515x@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-10-03 19:59:58 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Port LDAP error handling"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"With NC we have to handle our LDAP servers being less"},{"line_number":10,"context_line":"than reliable, so this change ports over the connection pool"},{"line_number":11,"context_line":"error handling from Train."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I99157759fe58df77d20cfc1c2b44f64fb31560a3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"edf72c6d_e1e44048","line":11,"range":{"start_line":7,"start_character":0,"end_line":11,"end_character":26},"updated":"2022-10-04 13:42:15.000000000","message":"This looks like private cloud details here, could you refactor this to be more generic to what problem you are facing in your downstream cloud and why this change is necessary on a more generic level?","commit_id":"a6c854f4dfd95d7522dcfe12d3a79aa622237fdc"},{"author":{"_account_id":34520,"name":"Sergiy Markin","email":"smarkin@mirantis.com","username":"sm515x"},"change_message_id":"3c31ea820d5270ae796e2a674244d8a91f37a121","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Markin, Sergiy (sm515x) \u003csm515x@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-10-03 19:59:58 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Port LDAP error handling"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"With NC we have to handle our LDAP servers being less"},{"line_number":10,"context_line":"than reliable, so this change ports over the connection pool"},{"line_number":11,"context_line":"error handling from Train."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I99157759fe58df77d20cfc1c2b44f64fb31560a3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"d5724245_e59be948","line":11,"range":{"start_line":7,"start_character":0,"end_line":11,"end_character":26},"in_reply_to":"edf72c6d_e1e44048","updated":"2022-10-04 14:31:04.000000000","message":"Done","commit_id":"a6c854f4dfd95d7522dcfe12d3a79aa622237fdc"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"77b80cac419e96ea452778e4fde31950475df1b0","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"LDAP connection error handling"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This PS implements LDAP connection error handling."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I99157759fe58df77d20cfc1c2b44f64fb31560a3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7780e827_47cf19f5","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":50},"updated":"2022-10-04 15:44:45.000000000","message":"More specifically, this handles the issue of LDAP connection errors when using pooled connections and one connection is a bit flakey. Instead of keystone repeatedly hitting the down connection, we remove it from the pool and stop throwing random errors and causing user frustration.\n\nMore context here: https://review.opendev.org/c/openstack/keystone/+/560724","commit_id":"4cae1a9597f2bd155a2b7083dba6fd2cfc58f023"},{"author":{"_account_id":34520,"name":"Sergiy Markin","email":"smarkin@mirantis.com","username":"sm515x"},"change_message_id":"38d727eb6000edf3414cb8276791516231e7ae08","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"LDAP connection error handling"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This PS implements LDAP connection error handling."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I99157759fe58df77d20cfc1c2b44f64fb31560a3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"236c5cd5_711917c5","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":50},"in_reply_to":"7780e827_47cf19f5","updated":"2022-10-07 16:26:21.000000000","message":"Done","commit_id":"4cae1a9597f2bd155a2b7083dba6fd2cfc58f023"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"726df4e2959e57308186995ecda49dbd85b1a10c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c3b4682f_6c842dad","updated":"2022-10-07 14:55:08.000000000","message":"It looks like this patch might solve the issue mentioned in https://bugs.launchpad.net/keystone/+bug/1953627\nCan you confirm?","commit_id":"4cae1a9597f2bd155a2b7083dba6fd2cfc58f023"},{"author":{"_account_id":34520,"name":"Sergiy Markin","email":"smarkin@mirantis.com","username":"sm515x"},"change_message_id":"3c31ea820d5270ae796e2a674244d8a91f37a121","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c2e81296_ca22dff5","updated":"2022-10-04 14:31:04.000000000","message":"The commit message has been corrected.","commit_id":"4cae1a9597f2bd155a2b7083dba6fd2cfc58f023"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"77b80cac419e96ea452778e4fde31950475df1b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c7d70f50_69603c0e","updated":"2022-10-04 15:44:45.000000000","message":"This has been brought up before: https://review.opendev.org/c/openstack/keystone/+/560724\n\nOne concern was figuring out how to test this. I\u0027m not sure if there is pooled LDAP connection testing, and if there is, testing for intermittent failure is tricky. One idea was putting this fix in ldappool, but that brought another list of issues around testing/validation.\n\nI\u0027ll let others chime in here if they have thoughts.","commit_id":"4cae1a9597f2bd155a2b7083dba6fd2cfc58f023"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"38e053bfa8d61c14366db948b8cf4d581e8425ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"54bdf107_1971c34f","in_reply_to":"c3b4682f_6c842dad","updated":"2022-10-07 14:58:44.000000000","message":"Yeah that looks similar to the issues we\u0027ve encountered before.","commit_id":"4cae1a9597f2bd155a2b7083dba6fd2cfc58f023"},{"author":{"_account_id":34520,"name":"Sergiy Markin","email":"smarkin@mirantis.com","username":"sm515x"},"change_message_id":"691527d123b945a86351ad21f1740aa196946c94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"11c0c845_da0aa394","updated":"2022-11-08 16:39:09.000000000","message":"Team, could you please review for +2s and WF? Thank you!","commit_id":"c706fe4bb108fafc867bf2e6f4495737fce7f5c4"},{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"9a211e301a45bf21829fee1fe9f61920722808ac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f06aed11_e98cc208","updated":"2022-12-07 21:18:36.000000000","message":"Thank you for proposing this fix.\n\nTo help me understand (and document) the behavior better, can you please write a release note describing the change in behavior? In particular, once a connection to one of the servers of the pool has failed, and the server has been removed from the pool, does keystone need to be restarted for that server to be retried? What error is thrown when all servers are down and all have been removed from the pool?","commit_id":"c6d7c2b5e8fdd8abb0907b00ef95654dd06ce3ac"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"b26482fc1d253c3e95d6a836e01196f464db5611","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"09fdf448_56ef7ab5","updated":"2023-06-20 08:32:31.000000000","message":"this might fix: https://bugs.launchpad.net/keystone/+bug/1953627\nI would want to resurrect this, if it\u0027s okay for the keystone project.","commit_id":"2035958d241ff4d13f38585c295c0936374ce1d0"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"449f8224d3cac97eed604fc28e89564b544d38e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"bf4d6e26_d29d0ee3","updated":"2023-06-23 14:40:39.000000000","message":"thanks for your help so far","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"e61fec980a0c114d1566d739f1baa3629c2b4405","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"c542005e_f09226a2","updated":"2023-06-30 14:50:39.000000000","message":"I\u0027ll try to - as agreed during the weekly meeting - address this in:\n\nhttps://opendev.org/openstack/ldappool/src/branch/master/ldappool/__init__.py\n\nas connection (error) handling in the ldappool library itself makes more sense than in keystone itself.","commit_id":"d2a9e97a362751e2351c4c857140748e3e10c8ca"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"94e364d17cc7371519dd271a04eff6e31f27b385","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":14,"id":"81cf739f_95778ad4","updated":"2023-06-30 13:23:36.000000000","message":"now got an assertion error in tox py310:\n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n\n      File \"/usr/lib/python3.10/unittest/mock.py\", line 1369, in patched\n    return func(*newargs, **newkeywargs)\n\n      File \"/home/zuul/src/opendev.org/openstack/keystone/keystone/tests/unit/test_backend_ldap_pool.py\", line 268, in test_search_ext_ensure_pool_connection_released\n    self.assertFalse(conn.active)\n\n      File \"/usr/lib/python3.10/unittest/case.py\", line 681, in assertFalse\n    raise self.failureException(msg)\n\n    AssertionError: True is not false\n\nwill try to fix this.","commit_id":"d2a9e97a362751e2351c4c857140748e3e10c8ca"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"b906a0cb8a15407b53e5ebd1903d72b68fb27d3b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"45eec6a3_65f74f14","updated":"2023-06-30 14:13:19.000000000","message":"so, my first finding:\n\naccording to[0] this uses the async function search_ext() of python-ldap\nbut the docs[1] for python-ldap state:\n\n\u003e The synchronous form with timeout, search_st() or search_ext_s(), will block for at most timeout seconds (or indefinitely if timeout is negative). A ldap.TIMEOUT exception is raised if no result is received within the specified time.\n\nso the docs at least say nothing about a ldap.TIMEOUT for the async variante.","commit_id":"d2a9e97a362751e2351c4c857140748e3e10c8ca"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"65df2fdf1581c00c41e1438a0d6b0f0907e33263","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":14,"id":"2e5fd2de_dfda632b","in_reply_to":"81cf739f_95778ad4","updated":"2023-06-30 13:54:26.000000000","message":"currently going back through the implementation and changes of this logic, starting with: https://review.opendev.org/c/openstack/keystone/+/754488\n\nwhich has a very helpful commit message with more pointers.","commit_id":"d2a9e97a362751e2351c4c857140748e3e10c8ca"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"6cb74a179299eec1d8ab76089fdaf9f48d91bf2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"91af94de_0f5c696b","updated":"2023-12-01 07:33:05.000000000","message":"recheck","commit_id":"82d04d6171f8614631b11393a1c6aa8eaa21aa15"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"f27aa253a0056448fb8acf306ff464af2924e04a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"b530890d_2dcdf5e8","in_reply_to":"91af94de_0f5c696b","updated":"2023-12-01 08:41:22.000000000","message":"Hi Grzegorz!\n\nI fear the currently used approach in this review won\u0027t work as-is.\n\nI wanted to address this in lib ldappool directly, where it makes more sense from an architectural point of view, but other work got in the way.\n\nthis was also discussed with the keystone team - see previous comments here.\n\nI would be glad if anybody would take over this effort to finally fix this issue from people more familiar with keystone or the ldappool library, as I\u0027m not sure I\u0027ll spend much time on this in the near future.\n\nSome of the error handling seems to be also handled better upstream in the underlying python library python-ldap, see this long open PR for more information:\n\nhttps://github.com/python-ldap/python-ldap/pull/267\n\nhüpe that helps","commit_id":"82d04d6171f8614631b11393a1c6aa8eaa21aa15"}],"keystone/identity/backends/ldap/common.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8f2de693d6c498f6c89fcd572d37fab8508a8b74","unresolved":true,"context_lines":[{"line_number":863,"context_line":"                self._remove_connection_from_pool(conn, \"TIMEOUT\")"},{"line_number":864,"context_line":"                conn_ctxt.__exit__(*sys.exc_info())"},{"line_number":865,"context_line":"                raise"},{"line_number":866,"context_line":"        return AsynchronousMessage(msgid, conn, conn_ctxt)"},{"line_number":867,"context_line":""},{"line_number":868,"context_line":"    def result3(self, message, all\u003d1, timeout\u003dNone,"},{"line_number":869,"context_line":"                resp_ctrl_classes\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"6075bbdc_7f5e18c5","line":866,"updated":"2023-06-23 14:15:52.000000000","message":"I don\u0027t understand why this is okay not to handle other exceptions - if neither of the if statements evaluates to true, then what?","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"449f8224d3cac97eed604fc28e89564b544d38e5","unresolved":true,"context_lines":[{"line_number":863,"context_line":"                self._remove_connection_from_pool(conn, \"TIMEOUT\")"},{"line_number":864,"context_line":"                conn_ctxt.__exit__(*sys.exc_info())"},{"line_number":865,"context_line":"                raise"},{"line_number":866,"context_line":"        return AsynchronousMessage(msgid, conn, conn_ctxt)"},{"line_number":867,"context_line":""},{"line_number":868,"context_line":"    def result3(self, message, all\u003d1, timeout\u003dNone,"},{"line_number":869,"context_line":"                resp_ctrl_classes\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"b209f48c_bfcaacaf","line":866,"in_reply_to":"6075bbdc_7f5e18c5","updated":"2023-06-23 14:40:39.000000000","message":"so, just to put this in writing:\n\nthis races when neither if condition is satisfied and the msgid is variable is never assigned any value resulting in:\n\n[..]\n File \"/home/zuul/src/opendev.org/openstack/keystone/keystone/identity/backends/ldap/common.py\", line 866, in search_ext\n    return AsynchronousMessage(msgid, conn, conn_ctxt)\nUnboundLocalError: local variable \u0027msgid\u0027 referenced before assignment\n\nso I would add, immediately before the return:\n\nmsgid \u003d 0 if msgid is None\n\nI assume msgid is an Integer value?\n\nTo address Pete\u0027s point I\u0027d add a \"raise\" for all other error instances as well.","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"3055b48555ffd4c61ac13bf460c09abe07aa546a","unresolved":false,"context_lines":[{"line_number":863,"context_line":"                self._remove_connection_from_pool(conn, \"TIMEOUT\")"},{"line_number":864,"context_line":"                conn_ctxt.__exit__(*sys.exc_info())"},{"line_number":865,"context_line":"                raise"},{"line_number":866,"context_line":"        return AsynchronousMessage(msgid, conn, conn_ctxt)"},{"line_number":867,"context_line":""},{"line_number":868,"context_line":"    def result3(self, message, all\u003d1, timeout\u003dNone,"},{"line_number":869,"context_line":"                resp_ctrl_classes\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"010de089_6c3e12d7","line":866,"in_reply_to":"b209f48c_bfcaacaf","updated":"2023-06-30 08:24:45.000000000","message":"Done","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8f2de693d6c498f6c89fcd572d37fab8508a8b74","unresolved":true,"context_lines":[{"line_number":900,"context_line":"        except Exception:"},{"line_number":901,"context_line":"            # We don\u0027t want to ignore thrown"},{"line_number":902,"context_line":"            # exceptions, raise them"},{"line_number":903,"context_line":"            raise"},{"line_number":904,"context_line":"        finally:"},{"line_number":905,"context_line":"            # Now that we have the results from the LDAP server for"},{"line_number":906,"context_line":"            # the message, we don\u0027t need the the context manager used"}],"source_content_type":"text/x-python","patch_set":11,"id":"6e900be7_5bcca444","line":903,"updated":"2023-06-23 14:15:52.000000000","message":"This is an empty statement, isn\u0027t it? The \"finally:\" clause does not prevent exceptions from bubbling up.","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"3055b48555ffd4c61ac13bf460c09abe07aa546a","unresolved":false,"context_lines":[{"line_number":900,"context_line":"        except Exception:"},{"line_number":901,"context_line":"            # We don\u0027t want to ignore thrown"},{"line_number":902,"context_line":"            # exceptions, raise them"},{"line_number":903,"context_line":"            raise"},{"line_number":904,"context_line":"        finally:"},{"line_number":905,"context_line":"            # Now that we have the results from the LDAP server for"},{"line_number":906,"context_line":"            # the message, we don\u0027t need the the context manager used"}],"source_content_type":"text/x-python","patch_set":11,"id":"23e63bdc_31d42d90","line":903,"in_reply_to":"09098803_e97476bd","updated":"2023-06-30 08:24:45.000000000","message":"I just verified this, in python, unhandled exceptions are bubbled up and can be handled there, no need to catch every exception manually.","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"449f8224d3cac97eed604fc28e89564b544d38e5","unresolved":true,"context_lines":[{"line_number":900,"context_line":"        except Exception:"},{"line_number":901,"context_line":"            # We don\u0027t want to ignore thrown"},{"line_number":902,"context_line":"            # exceptions, raise them"},{"line_number":903,"context_line":"            raise"},{"line_number":904,"context_line":"        finally:"},{"line_number":905,"context_line":"            # Now that we have the results from the LDAP server for"},{"line_number":906,"context_line":"            # the message, we don\u0027t need the the context manager used"}],"source_content_type":"text/x-python","patch_set":11,"id":"09098803_e97476bd","line":903,"in_reply_to":"6e900be7_5bcca444","updated":"2023-06-23 14:40:39.000000000","message":"so should I just delete this?","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"9c10fa1df10415973aa1d03dd69b10ca5426fed7","unresolved":true,"context_lines":[{"line_number":854,"context_line":"                                    serverctrls, clientctrls,"},{"line_number":855,"context_line":"                                    timeout, sizelimit)"},{"line_number":856,"context_line":"        except Exception as exc:"},{"line_number":857,"context_line":"            if isinstance(exc, ldap.SERVER_DOWN):"},{"line_number":858,"context_line":"                self._remove_connection_from_pool(conn,"},{"line_number":859,"context_line":"                                                  \"SERVER_DOWN\")"},{"line_number":860,"context_line":"                conn_ctxt.__exit__(*sys.exc_info())"}],"source_content_type":"text/x-python","patch_set":14,"id":"5aa94107_c5e72239","line":857,"updated":"2023-06-30 14:20:33.000000000","message":"Why is this not \"except ldap.SERVER_DOWN\"?","commit_id":"d2a9e97a362751e2351c4c857140748e3e10c8ca"}],"keystone/resource/core.py":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"77b80cac419e96ea452778e4fde31950475df1b0","unresolved":true,"context_lines":[{"line_number":1064,"context_line":"            \u0027group_member_attribute\u0027, \u0027group_desc_attribute\u0027,"},{"line_number":1065,"context_line":"            \u0027group_attribute_ignore\u0027, \u0027group_additional_attribute_mapping\u0027,"},{"line_number":1066,"context_line":"            \u0027tls_cacertfile\u0027, \u0027tls_cacertdir\u0027, \u0027use_tls\u0027, \u0027tls_req_cert\u0027,"},{"line_number":1067,"context_line":"            \u0027connection_timeout\u0027,"},{"line_number":1068,"context_line":"            \u0027use_pool\u0027, \u0027pool_size\u0027, \u0027pool_retry_max\u0027, \u0027pool_retry_delay\u0027,"},{"line_number":1069,"context_line":"            \u0027pool_connection_timeout\u0027, \u0027pool_connection_lifetime\u0027,"},{"line_number":1070,"context_line":"            \u0027use_auth_pool\u0027, \u0027auth_pool_size\u0027, \u0027auth_pool_connection_lifetime\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"f4a61788_585b171b","line":1067,"range":{"start_line":1067,"start_character":12,"end_line":1067,"end_character":33},"updated":"2022-10-04 15:44:45.000000000","message":"Not sure if this is referenced anywhere in the change?","commit_id":"4cae1a9597f2bd155a2b7083dba6fd2cfc58f023"},{"author":{"_account_id":34520,"name":"Sergiy Markin","email":"smarkin@mirantis.com","username":"sm515x"},"change_message_id":"38d727eb6000edf3414cb8276791516231e7ae08","unresolved":false,"context_lines":[{"line_number":1064,"context_line":"            \u0027group_member_attribute\u0027, \u0027group_desc_attribute\u0027,"},{"line_number":1065,"context_line":"            \u0027group_attribute_ignore\u0027, \u0027group_additional_attribute_mapping\u0027,"},{"line_number":1066,"context_line":"            \u0027tls_cacertfile\u0027, \u0027tls_cacertdir\u0027, \u0027use_tls\u0027, \u0027tls_req_cert\u0027,"},{"line_number":1067,"context_line":"            \u0027connection_timeout\u0027,"},{"line_number":1068,"context_line":"            \u0027use_pool\u0027, \u0027pool_size\u0027, \u0027pool_retry_max\u0027, \u0027pool_retry_delay\u0027,"},{"line_number":1069,"context_line":"            \u0027pool_connection_timeout\u0027, \u0027pool_connection_lifetime\u0027,"},{"line_number":1070,"context_line":"            \u0027use_auth_pool\u0027, \u0027auth_pool_size\u0027, \u0027auth_pool_connection_lifetime\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9105d0c8_76d2a2e5","line":1067,"range":{"start_line":1067,"start_character":12,"end_line":1067,"end_character":33},"in_reply_to":"f4a61788_585b171b","updated":"2022-10-07 16:26:21.000000000","message":"Gage, you are right, thank you. We use ldap.pool_connection_timeout instead. Fixed in the new version.","commit_id":"4cae1a9597f2bd155a2b7083dba6fd2cfc58f023"}],"releasenotes/notes/handle-ldap-errors-10c03ce773ad1d59.yaml":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"fa5e7afec032b7c3592bfd036b91ef44390837fc","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    fixes https://bugs.launchpad.net/keystone/+bug/1953627"},{"line_number":5,"context_line":"    by checking for ldap.SERVER_DOWN and ldap.SERVER_TIMEOUT"},{"line_number":6,"context_line":"    exceptions."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"54d22616_e4b1a987","line":6,"updated":"2023-06-20 09:47:43.000000000","message":"Part of Kristi\u0027s question is still open: What happens once connections have been removed from the pool, how will keystone recover once the server is reachable again? Answering that question seems crucial in order to decide whether this is actually a complete fix or only a partial one.","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"5227b74b1de3e31138316842ac75387499da918c","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    fixes https://bugs.launchpad.net/keystone/+bug/1953627"},{"line_number":5,"context_line":"    by checking for ldap.SERVER_DOWN and ldap.SERVER_TIMEOUT"},{"line_number":6,"context_line":"    exceptions."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"f87f9a8d_5b893645","line":6,"in_reply_to":"54d22616_e4b1a987","updated":"2023-06-20 09:57:32.000000000","message":"yeah, will do some research in the keystone codebase to answer this.\n\nadditional comments from people who know the codebase would be appreciated though, as I\u0027m new to keystone.\n\nat least I have a general understanding of ldap and auth stuff I guess, but it might take some time.","commit_id":"572418eb8b7fee7829ce7508cad138abe5b6525d"}]}
