)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"bccc807706ed2366ef1e92eb0a4042846c50753d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e236ba65_6a2b70e0","updated":"2026-01-14 14:13:23.000000000","message":"The get_connection method is not tested in unit tests.","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"c41eb00a2754bf7589299efbf8bc53da2bedb662","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d89078e9_32cc9376","updated":"2026-01-14 11:47:20.000000000","message":"recheck","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0259f36de801a948b988d7bb835542c233283063","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"79e658a0_ce2a572d","in_reply_to":"e236ba65_6a2b70e0","updated":"2026-01-15 09:46:45.000000000","message":"Done","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0259f36de801a948b988d7bb835542c233283063","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"60662505_25e0405b","updated":"2026-01-15 09:46:45.000000000","message":"Do you think that the [WIP] in the message is still needed?","commit_id":"cd4f9327e61822f24c99bc7c0ebfd92b2b8c1433"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"4167dc99275c9bd9ed92e5afb3f58d0156d7e0ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"769fa348_a721dd21","in_reply_to":"60662505_25e0405b","updated":"2026-03-24 13:16:48.000000000","message":"Done","commit_id":"cd4f9327e61822f24c99bc7c0ebfd92b2b8c1433"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0649bcab543738a6c81428e349e4658b515e07e3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"803270cd_f98db5a1","updated":"2026-02-05 10:31:52.000000000","message":"This looks good, just a couple of small things.","commit_id":"949f83d9b81b83c2cbb005f2193d035c94328820"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"4167dc99275c9bd9ed92e5afb3f58d0156d7e0ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a352690b_3a8147be","in_reply_to":"803270cd_f98db5a1","updated":"2026-03-24 13:16:48.000000000","message":"Done","commit_id":"949f83d9b81b83c2cbb005f2193d035c94328820"}],"ceilometer/keystone_client.py":[{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"4e09732001c038e06c25b316fe821d7412626898","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    return session"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"}],"source_content_type":"text/x-python","patch_set":2,"id":"db8a2489_55b0e854","line":42,"updated":"2026-01-14 14:15:15.000000000","message":"Maybe we should do like in get_client and pass the group with default value DEFAULT_GROUP instead of hardcoding it in the get_session call?","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0259f36de801a948b988d7bb835542c233283063","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    return session"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"}],"source_content_type":"text/x-python","patch_set":2,"id":"18bb0b60_b48c8ca4","line":42,"in_reply_to":"db8a2489_55b0e854","updated":"2026-01-15 09:46:45.000000000","message":"Done","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"bccc807706ed2366ef1e92eb0a4042846c50753d","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"582cfca9_c146afd1","line":43,"updated":"2026-01-14 14:13:23.000000000","message":"The trust_id parameter is passed, but never used.","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"4e09732001c038e06c25b316fe821d7412626898","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b0030fe3_99d682f8","line":43,"updated":"2026-01-14 14:15:15.000000000","message":"Why do we choose by default \"auth\" as service_type?","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"e2d8d66fa8eaa3aaf27ef9afa4c8000d5befebcd","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f8dcc6db_0924ccb2","line":43,"in_reply_to":"0a15d319_33bd9db4","updated":"2026-03-24 13:16:26.000000000","message":"Done","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0259f36de801a948b988d7bb835542c233283063","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"af079f24_c19f543a","line":43,"in_reply_to":"582cfca9_c146afd1","updated":"2026-01-15 09:46:45.000000000","message":"Done","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"7e982f39793afd6e7d7ade6d07ecc607b213552e","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f3fffc10_fa891e21","line":43,"in_reply_to":"582cfca9_c146afd1","updated":"2026-02-03 20:53:53.000000000","message":"I have removed it.","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"7e982f39793afd6e7d7ade6d07ecc607b213552e","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"0a15d319_33bd9db4","line":43,"in_reply_to":"b0030fe3_99d682f8","updated":"2026-02-03 20:53:53.000000000","message":"This is a default, and initially, this is because the function is in the keystoneclient. I cannot recall why it was chosen, but I think it was because the resources I was dealing with were projects and domains, which came under keystone, and calls to get_connection were replacing get_client, which returned a KeystoneClient.\n\nI realise now that \"auth\" is deprecated, and keystone uses \"identity\"","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"e2d8d66fa8eaa3aaf27ef9afa4c8000d5befebcd","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection("},{"line_number":43,"context_line":"        conf, service_type\u003d\"auth\", trust_id\u003dNone, requests_session\u003dNone):"},{"line_number":44,"context_line":"    sess \u003d get_session("},{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"61a25ea2_dfb1a88f","line":43,"in_reply_to":"f3fffc10_fa891e21","updated":"2026-03-24 13:16:26.000000000","message":"Done","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"7e982f39793afd6e7d7ade6d07ecc607b213552e","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        conf, requests_session\u003drequests_session, group\u003dDEFAULT_GROUP)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    # https://github.com/openstack/nova/blob/master/nova/utils.py#L905"},{"line_number":48,"context_line":"    conn \u003d connection.Connection("},{"line_number":49,"context_line":"        session\u003dsess,"},{"line_number":50,"context_line":"        oslo_conf\u003dconf,"},{"line_number":51,"context_line":"        service_types\u003d{service_type}"}],"source_content_type":"text/x-python","patch_set":2,"id":"ef01890c_df8967e5","line":48,"updated":"2026-02-03 20:53:53.000000000","message":"Based on the usage of connection.Connection across ceilometer, I think that we should use kwargs, since Connection can take a wide range of params, I will update to take this into account","commit_id":"96df9fd77669f862468a4ac9c647f7eee3a9366b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0259f36de801a948b988d7bb835542c233283063","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    return session"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# TODO(efoley): should this accept the group parameter?"},{"line_number":43,"context_line":"def get_connection("},{"line_number":44,"context_line":"        conf, service_type\u003d\"auth\", requests_session\u003dNone, group\u003dDEFAULT_GROUP):"},{"line_number":45,"context_line":"    sess \u003d get_session("}],"source_content_type":"text/x-python","patch_set":3,"id":"81bfa1bb_b81ab700","line":42,"updated":"2026-01-15 09:46:45.000000000","message":"This comment is now outdated, we can remove it.","commit_id":"cd4f9327e61822f24c99bc7c0ebfd92b2b8c1433"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"7e982f39793afd6e7d7ade6d07ecc607b213552e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    return session"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# TODO(efoley): should this accept the group parameter?"},{"line_number":43,"context_line":"def get_connection("},{"line_number":44,"context_line":"        conf, service_type\u003d\"auth\", requests_session\u003dNone, group\u003dDEFAULT_GROUP):"},{"line_number":45,"context_line":"    sess \u003d get_session("}],"source_content_type":"text/x-python","patch_set":3,"id":"1be0a2cf_4b31dfe7","line":42,"in_reply_to":"81bfa1bb_b81ab700","updated":"2026-02-03 20:53:53.000000000","message":"Acknowledged","commit_id":"cd4f9327e61822f24c99bc7c0ebfd92b2b8c1433"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"7e982f39793afd6e7d7ade6d07ecc607b213552e","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# TODO(efoley): should this accept the group parameter?"},{"line_number":43,"context_line":"def get_connection("},{"line_number":44,"context_line":"        conf, service_type\u003d\"auth\", requests_session\u003dNone, group\u003dDEFAULT_GROUP):"},{"line_number":45,"context_line":"    sess \u003d get_session("},{"line_number":46,"context_line":"        conf, requests_session\u003drequests_session, group\u003dgroup)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a9fde45d_d5255189","line":43,"updated":"2026-02-03 20:53:53.000000000","message":"I don\u0027t think this is the right place for this anymore.\nThe other OpenStack clients (designate, manila, neutron) get the resources associated with the services.\nWith the openstack sdk being used, it makes more sense to me to get_connection (and get session) to a file called openstack_utils, since it deals with common functions to establish a connection to an OpenStack cloud, regardless of the service.\n\nThere are parts of the code where keystoneclient is called to get projects, users, domains, service catalog, and I don\u0027t think those should be combined in a single file with auth functions.","commit_id":"fec8ac89fee9151974c07f8dd1d0fb96c85be453"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0649bcab543738a6c81428e349e4658b515e07e3","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    return session"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# TODO(efoley): should this accept the group parameter?"},{"line_number":43,"context_line":"def get_connection("},{"line_number":44,"context_line":"        conf, service_type\u003d\"auth\", requests_session\u003dNone, group\u003dDEFAULT_GROUP):"},{"line_number":45,"context_line":"    sess \u003d get_session("}],"source_content_type":"text/x-python","patch_set":5,"id":"8fd1af39_35f9d3d3","line":42,"updated":"2026-02-05 10:31:52.000000000","message":"Remove this TODO","commit_id":"949f83d9b81b83c2cbb005f2193d035c94328820"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"e2d8d66fa8eaa3aaf27ef9afa4c8000d5befebcd","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    return session"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# TODO(efoley): should this accept the group parameter?"},{"line_number":43,"context_line":"def get_connection("},{"line_number":44,"context_line":"        conf, service_type\u003d\"auth\", requests_session\u003dNone, group\u003dDEFAULT_GROUP):"},{"line_number":45,"context_line":"    sess \u003d get_session("}],"source_content_type":"text/x-python","patch_set":5,"id":"10c5248f_6ceb8f93","line":42,"in_reply_to":"8fd1af39_35f9d3d3","updated":"2026-03-24 13:16:26.000000000","message":"Done","commit_id":"949f83d9b81b83c2cbb005f2193d035c94328820"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0649bcab543738a6c81428e349e4658b515e07e3","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# TODO(efoley): should this accept the group parameter?"},{"line_number":43,"context_line":"def get_connection("},{"line_number":44,"context_line":"        conf, service_type\u003d\"auth\", requests_session\u003dNone, group\u003dDEFAULT_GROUP):"},{"line_number":45,"context_line":"    sess \u003d get_session("},{"line_number":46,"context_line":"        conf, requests_session\u003drequests_session, group\u003dgroup)"}],"source_content_type":"text/x-python","patch_set":5,"id":"86a89c45_a16b7999","line":43,"updated":"2026-02-05 10:31:52.000000000","message":"Add a small docstring, similar to what get_client does, makeing clear that this will return an openstacksdk connection.","commit_id":"949f83d9b81b83c2cbb005f2193d035c94328820"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"e2d8d66fa8eaa3aaf27ef9afa4c8000d5befebcd","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# TODO(efoley): should this accept the group parameter?"},{"line_number":43,"context_line":"def get_connection("},{"line_number":44,"context_line":"        conf, service_type\u003d\"auth\", requests_session\u003dNone, group\u003dDEFAULT_GROUP):"},{"line_number":45,"context_line":"    sess \u003d get_session("},{"line_number":46,"context_line":"        conf, requests_session\u003drequests_session, group\u003dgroup)"}],"source_content_type":"text/x-python","patch_set":5,"id":"925c2a8c_d8ef6e06","line":43,"in_reply_to":"86a89c45_a16b7999","updated":"2026-03-24 13:16:26.000000000","message":"Done","commit_id":"949f83d9b81b83c2cbb005f2193d035c94328820"}],"ceilometer/tests/unit/test_keystone_client.py":[{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"cf4b3e5b60a439896de5dc606cbf1791c40598cd","unresolved":true,"context_lines":[{"line_number":185,"context_line":"            self.CONF,"},{"line_number":186,"context_line":"            requests_session\u003dNone,"},{"line_number":187,"context_line":"            group\u003dkeystone_client.DEFAULT_GROUP)"},{"line_number":188,"context_line":"        mock_connection.assert_called_with("},{"line_number":189,"context_line":"            session\u003dmock_get_session.return_value,"},{"line_number":190,"context_line":"            oslo_conf\u003dself.CONF,"},{"line_number":191,"context_line":"            service_types\u003d{\"identity\"})"}],"source_content_type":"text/x-python","patch_set":10,"id":"24055c78_5f26a5de","line":188,"updated":"2026-03-11 14:51:47.000000000","message":"Just one more small nit, this one should be also assert_called_once_with, like all the rest of the assertions, which is the correct behaviour. After that, I am good to go.","commit_id":"0a3005790c7d36198dbb2a473143cb75890224f8"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"e2d8d66fa8eaa3aaf27ef9afa4c8000d5befebcd","unresolved":false,"context_lines":[{"line_number":185,"context_line":"            self.CONF,"},{"line_number":186,"context_line":"            requests_session\u003dNone,"},{"line_number":187,"context_line":"            group\u003dkeystone_client.DEFAULT_GROUP)"},{"line_number":188,"context_line":"        mock_connection.assert_called_with("},{"line_number":189,"context_line":"            session\u003dmock_get_session.return_value,"},{"line_number":190,"context_line":"            oslo_conf\u003dself.CONF,"},{"line_number":191,"context_line":"            service_types\u003d{\"identity\"})"}],"source_content_type":"text/x-python","patch_set":10,"id":"4f96c1f3_c428459c","line":188,"in_reply_to":"24055c78_5f26a5de","updated":"2026-03-24 13:16:26.000000000","message":"Done","commit_id":"0a3005790c7d36198dbb2a473143cb75890224f8"}]}
