)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"eb344da41d08522f9162b231760c73c8db8ba08c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e166ed5b_5046e522","updated":"2024-01-30 19:53:11.000000000","message":"recheck depends-on has landed","commit_id":"42bd10fb1b6f36d409aa998e3942e2b86e162622"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"306dff3e79c4ceac27f8b48bc0713f8fed995d78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"d33fa175_da64fe4d","updated":"2024-04-24 14:17:24.000000000","message":"Overall LGTM with the exception of this likely needs a release note. We\u0027re changing the client library, we\u0027re dropping a requirement. Might just be good to communicate as operational context to users.","commit_id":"136be235fb0eb80e316d62c573ea2ce269e35877"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"1ab5e0f95fe89a2aed231187c97002ed0dc7f437","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"587da3cd_98f3882d","in_reply_to":"d33fa175_da64fe4d","updated":"2024-04-29 01:10:27.000000000","message":"Done","commit_id":"136be235fb0eb80e316d62c573ea2ce269e35877"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"06f70713fa70fc9ee21f3fc861c2137f41474762","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"f1864a3e_98bf918f","updated":"2024-04-29 23:48:18.000000000","message":"Last change from the 2x+2A+A was just a clean rebase. Re-Approving.","commit_id":"bd2dc773710a09deaacec55242555553992616d7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b1cae242da7496f86aea188894fcf3d31a182dbb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"5307a391_0bc6bca3","updated":"2024-05-01 16:18:42.000000000","message":"Just clean rebases.... so re-approving.","commit_id":"91d4bacbec347835dd284ea6943374b929b361e2"}],"ironic/common/cinder.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"910c91d56977aaad157be347d61c4bad9abd0aac","unresolved":true,"context_lines":[{"line_number":229,"context_line":"              {\u0027node\u0027: node.uuid})"},{"line_number":230,"context_line":"    try:"},{"line_number":231,"context_line":"        block_storage \u003d get_client(context\u003dtask.context)"},{"line_number":232,"context_line":"    except openstack_exc.OpenStackCloudException as e:"},{"line_number":233,"context_line":"        msg \u003d _(\u0027Failed to connect to block storage service \u0027"},{"line_number":234,"context_line":"                \u0027: %(err)s\u0027) % {\u0027err\u0027: e}"},{"line_number":235,"context_line":"        raise exception.StorageError(msg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"69ddfb8b_da3a8e06","line":232,"range":{"start_line":232,"start_character":25,"end_line":232,"end_character":48},"updated":"2024-04-15 11:16:05.000000000","message":"This is a backwards-compatible alias for `SDKException`. You should use `SDKException` or one of the more granular exception subclasses instead.","commit_id":"ba17897a51542455c804c18b72a8ac1dcec11576"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"23643a274f282125729bb9a8d2593d6163450668","unresolved":false,"context_lines":[{"line_number":229,"context_line":"              {\u0027node\u0027: node.uuid})"},{"line_number":230,"context_line":"    try:"},{"line_number":231,"context_line":"        block_storage \u003d get_client(context\u003dtask.context)"},{"line_number":232,"context_line":"    except openstack_exc.OpenStackCloudException as e:"},{"line_number":233,"context_line":"        msg \u003d _(\u0027Failed to connect to block storage service \u0027"},{"line_number":234,"context_line":"                \u0027: %(err)s\u0027) % {\u0027err\u0027: e}"},{"line_number":235,"context_line":"        raise exception.StorageError(msg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"b842e85b_706f8916","line":232,"range":{"start_line":232,"start_character":25,"end_line":232,"end_character":48},"in_reply_to":"69ddfb8b_da3a8e06","updated":"2024-04-18 23:26:59.000000000","message":"Done","commit_id":"ba17897a51542455c804c18b72a8ac1dcec11576"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ec22557ee4afa628d54b2d0efaa0cab4be1d15cf","unresolved":true,"context_lines":[{"line_number":416,"context_line":"        attachment_id \u003d _get_attachment_id(node, volume)"},{"line_number":417,"context_line":"        try:"},{"line_number":418,"context_line":"            # Update the API attachment record"},{"line_number":419,"context_line":"            volume.detach(attachment_id)"},{"line_number":420,"context_line":"        except openstack_exc.OpenStackCloudException as e:"},{"line_number":421,"context_line":"            _handle_errors(_(\u0027Failed to inform cinder that the detachment for \u0027"},{"line_number":422,"context_line":"                             \u0027volume %(vol_id)s from node %(node)s has been \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"12b43f74_90b69c35","line":419,"updated":"2024-04-15 11:14:35.000000000","message":"You need to pass a client to this:\n\n```\nvolume.detach(block_storage, attachment_id)\n```\n\nor use the proxy API:\n\n```\nblock_storage.detach_volume(volume, attachment_id)\n```","commit_id":"ba17897a51542455c804c18b72a8ac1dcec11576"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"23643a274f282125729bb9a8d2593d6163450668","unresolved":false,"context_lines":[{"line_number":416,"context_line":"        attachment_id \u003d _get_attachment_id(node, volume)"},{"line_number":417,"context_line":"        try:"},{"line_number":418,"context_line":"            # Update the API attachment record"},{"line_number":419,"context_line":"            volume.detach(attachment_id)"},{"line_number":420,"context_line":"        except openstack_exc.OpenStackCloudException as e:"},{"line_number":421,"context_line":"            _handle_errors(_(\u0027Failed to inform cinder that the detachment for \u0027"},{"line_number":422,"context_line":"                             \u0027volume %(vol_id)s from node %(node)s has been \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"68525214_5ffc155e","line":419,"in_reply_to":"12b43f74_90b69c35","updated":"2024-04-18 23:26:59.000000000","message":"Done","commit_id":"ba17897a51542455c804c18b72a8ac1dcec11576"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8ae8f4fb5c81a65e8f2b2ec9c9e049e6ee8b1698","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    if not _CINDER_SESSION:"},{"line_number":38,"context_line":"        service_auth \u003d keystone.get_auth(\u0027cinder\u0027)"},{"line_number":39,"context_line":"        _CINDER_SESSION \u003d keystone.get_session("},{"line_number":40,"context_line":"            \u0027cinder\u0027, timeout\u003dCONF.cinder.timeout, auth\u003dservice_auth)"},{"line_number":41,"context_line":"    return _CINDER_SESSION"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"b7daa9ec_105e8344","line":40,"range":{"start_line":40,"start_character":51,"end_line":40,"end_character":69},"updated":"2024-04-19 04:33:09.000000000","message":"Yeah, it can\u0027t be the auth, into the session alone, you have to create a combined payload. See my next comment.","commit_id":"2f5772d70f20101787a6edb758c5baa6a8e3fc94"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"cb64a77e3dc951cabe32a6b63325317ea17619c5","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if not _CINDER_SESSION:"},{"line_number":38,"context_line":"        service_auth \u003d keystone.get_auth(\u0027cinder\u0027)"},{"line_number":39,"context_line":"        _CINDER_SESSION \u003d keystone.get_session("},{"line_number":40,"context_line":"            \u0027cinder\u0027, timeout\u003dCONF.cinder.timeout, auth\u003dservice_auth)"},{"line_number":41,"context_line":"    return _CINDER_SESSION"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"023ed94b_3a64f142","line":40,"range":{"start_line":40,"start_character":51,"end_line":40,"end_character":69},"in_reply_to":"b7daa9ec_105e8344","updated":"2024-04-23 22:32:36.000000000","message":"Done","commit_id":"2f5772d70f20101787a6edb758c5baa6a8e3fc94"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8ae8f4fb5c81a65e8f2b2ec9c9e049e6ee8b1698","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    :returns: A cinder client."},{"line_number":50,"context_line":"    \"\"\""},{"line_number":51,"context_line":"    session \u003d _get_cinder_session()"},{"line_number":52,"context_line":"    conn \u003d openstack.connection.Connection(session\u003dsession, oslo_conf\u003dCONF)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    return conn.global_request(context.global_id).block_storage"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"07d7cccd_52343723","line":52,"updated":"2024-04-19 04:33:09.000000000","message":"so basically the issue here is your going to need to spawn a connection with more than just the client config. You\u0027ll need to basically build up the user auth token context (via context.auth_token) *and* the service_auth which can just be from the parameters in ironic.conf.\n\nTo do so you would create a new auth dictionary using the service_token.ServiceTokenAuthWrapper(user_auth, service_auth)\n\nhttps://github.com/openstack/openstacksdk/blob/master/openstack/connection.py#L174-L212\n\nThe big difference there is we chose not to create a new service_user configuration object which nova decided to do, since realistically we also had the original auth data and the service *also* represented our credentials.","commit_id":"2f5772d70f20101787a6edb758c5baa6a8e3fc94"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"cb64a77e3dc951cabe32a6b63325317ea17619c5","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    :returns: A cinder client."},{"line_number":50,"context_line":"    \"\"\""},{"line_number":51,"context_line":"    session \u003d _get_cinder_session()"},{"line_number":52,"context_line":"    conn \u003d openstack.connection.Connection(session\u003dsession, oslo_conf\u003dCONF)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    return conn.global_request(context.global_id).block_storage"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"677ecc42_2c6936e5","line":52,"in_reply_to":"07d7cccd_52343723","updated":"2024-04-23 22:32:36.000000000","message":"Done","commit_id":"2f5772d70f20101787a6edb758c5baa6a8e3fc94"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f67c8692a506ea624a025e556d7c4c307a915e9e","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    conn \u003d openstack.connection.Connection("},{"line_number":99,"context_line":"        session\u003dsess, oslo_conf\u003dCONF,"},{"line_number":100,"context_line":"        block_storage_endpoint_override\u003dendpoint,"},{"line_number":101,"context_line":"        volumev3_endpoint_override\u003dendpoint)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    return conn.global_request(context.global_id).block_storage"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"8080b87a_8e91164f","line":101,"updated":"2024-04-23 22:13:30.000000000","message":"block_storage_api_version\u003d\"3\"","commit_id":"0c9683914bea0ad612eb959db51c8dcb3a3b6757"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"cb64a77e3dc951cabe32a6b63325317ea17619c5","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    conn \u003d openstack.connection.Connection("},{"line_number":99,"context_line":"        session\u003dsess, oslo_conf\u003dCONF,"},{"line_number":100,"context_line":"        block_storage_endpoint_override\u003dendpoint,"},{"line_number":101,"context_line":"        volumev3_endpoint_override\u003dendpoint)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    return conn.global_request(context.global_id).block_storage"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5d2cb9ed_726d0233","line":101,"in_reply_to":"8080b87a_8e91164f","updated":"2024-04-23 22:32:36.000000000","message":"Done","commit_id":"0c9683914bea0ad612eb959db51c8dcb3a3b6757"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"332e7d5e7ef3ae1f4f54444ab9ca4bb09caf22a4","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    :param context: request context,"},{"line_number":47,"context_line":"                    instance of ironic.common.context.RequestContext"},{"line_number":48,"context_line":"    :param auth_from_config: (boolean) When True, use auth values from"},{"line_number":49,"context_line":"                             conf parameters"},{"line_number":50,"context_line":"    :returns: A cinder client."},{"line_number":51,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":18,"id":"c85cf6c2_fa8ff6e2","side":"PARENT","line":48,"updated":"2024-04-26 12:58:39.000000000","message":"Why was the docstring removed? Did you intend to remove the parameter as well?","commit_id":"d68aea2ebecbf98878573f25570af3e0196d6f5f"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"b5b91922581f2150f306c0e00964d3eb42410321","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    :param context: request context,"},{"line_number":47,"context_line":"                    instance of ironic.common.context.RequestContext"},{"line_number":48,"context_line":"    :param auth_from_config: (boolean) When True, use auth values from"},{"line_number":49,"context_line":"                             conf parameters"},{"line_number":50,"context_line":"    :returns: A cinder client."},{"line_number":51,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":18,"id":"2d9100ea_81c76513","side":"PARENT","line":48,"in_reply_to":"c85cf6c2_fa8ff6e2","updated":"2024-04-29 01:10:08.000000000","message":"Restored","commit_id":"d68aea2ebecbf98878573f25570af3e0196d6f5f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"332e7d5e7ef3ae1f4f54444ab9ca4bb09caf22a4","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    conn \u003d openstack.connection.Connection("},{"line_number":96,"context_line":"        session\u003dsess,"},{"line_number":97,"context_line":"        block_storage_endpoint_override\u003dendpoint,"},{"line_number":98,"context_line":"        block_storage_api_version\u003d\u00273\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    return conn.global_request(context.global_id).block_storage"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"5c6e959f_f183307c","line":98,"updated":"2024-04-26 12:58:39.000000000","message":"I wonder if the change to use version 3 explicitly is also release note worthy. Or did we use v3 before as well?","commit_id":"136be235fb0eb80e316d62c573ea2ce269e35877"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"b5b91922581f2150f306c0e00964d3eb42410321","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    conn \u003d openstack.connection.Connection("},{"line_number":96,"context_line":"        session\u003dsess,"},{"line_number":97,"context_line":"        block_storage_endpoint_override\u003dendpoint,"},{"line_number":98,"context_line":"        block_storage_api_version\u003d\u00273\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    return conn.global_request(context.global_id).block_storage"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"16c724ea_1138d1f4","line":98,"in_reply_to":"5c6e959f_f183307c","updated":"2024-04-29 01:10:08.000000000","message":"We already use v3, which is achieved by setting service_type\u003dvolumev3:\n\nhttps://opendev.org/openstack/ironic/src/branch/master/ironic/conf/cinder.py#L40\n\nIts just that the sdk also requires explicit version to be requested otherwise it assumes v2","commit_id":"136be235fb0eb80e316d62c573ea2ce269e35877"}],"ironic/conf/cinder.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"bb080211b7cba4338bb74573b5a678d60a139a16","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    conf.register_opts(opts, group\u003d\u0027cinder\u0027)"},{"line_number":43,"context_line":"    auth.register_auth_opts(conf, \u0027cinder\u0027, service_type\u003d\u0027volumev3\u0027)"},{"line_number":44,"context_line":"    # volumev3 implies min_version\u003d3.0, which needs to be set explicitly"},{"line_number":45,"context_line":"    conf.set_override(\u0027min_version\u0027, \u00273.0\u0027, group\u003d\u0027cinder\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def list_opts():"}],"source_content_type":"text/x-python","patch_set":7,"id":"c1a73025_23533938","line":45,"updated":"2024-04-08 05:38:26.000000000","message":"BTW the error I\u0027m attempting to fix is here[1], suggestions welcome\n\n  ERROR ironic.conductor.utils [None req-d16a06f8-650e-49be-b121-51086b6402a6 None None] Unexpected error while preparing to deploy to node 8e4acba8-e858-4e72-9c00-d9e5da034e08: keystoneauth1.exceptions.discovery.ImpliedMinVersionMismatch: service_type volumev3 was given which implies major API version 3 but min_version of 2.0 was also given. Please update your code to use the official service_type block-storage.\n\n\nhttps://zuul.opendev.org/t/openstack/build/ae060cf311274044849e44a67a56f213/log/controller/logs/screen-ir-cond.txt#1380","commit_id":"3b7a76a52f08346df7f8e9cc260f334d90dfb560"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"b5b91922581f2150f306c0e00964d3eb42410321","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    conf.register_opts(opts, group\u003d\u0027cinder\u0027)"},{"line_number":43,"context_line":"    auth.register_auth_opts(conf, \u0027cinder\u0027, service_type\u003d\u0027volumev3\u0027)"},{"line_number":44,"context_line":"    # volumev3 implies min_version\u003d3.0, which needs to be set explicitly"},{"line_number":45,"context_line":"    conf.set_override(\u0027min_version\u0027, \u00273.0\u0027, group\u003d\u0027cinder\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def list_opts():"}],"source_content_type":"text/x-python","patch_set":7,"id":"c8688743_301743c8","line":45,"in_reply_to":"c1a73025_23533938","updated":"2024-04-29 01:10:08.000000000","message":"Done","commit_id":"3b7a76a52f08346df7f8e9cc260f334d90dfb560"}],"requirements.txt":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ec22557ee4afa628d54b2d0efaa0cab4be1d15cf","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# The order of packages is significant, because pip processes them in the order"},{"line_number":6,"context_line":"# of appearance. Changing the order has an impact on the overall integration"},{"line_number":7,"context_line":"# process, which may cause wedges in the gate later."},{"line_number":8,"context_line":"pbr\u003e\u003d3.1.1 # Apache-2.0"},{"line_number":9,"context_line":"SQLAlchemy\u003e\u003d1.4.0 # MIT"},{"line_number":10,"context_line":"alembic\u003e\u003d1.4.2 # MIT"}],"source_content_type":"text/plain","patch_set":10,"id":"21408eff_5122fe05","line":7,"updated":"2024-04-15 11:14:35.000000000","message":"unrelated to this patch, but this doesn\u0027t apply since pip 20.3 introduced the new dependency resolver","commit_id":"ba17897a51542455c804c18b72a8ac1dcec11576"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"332e7d5e7ef3ae1f4f54444ab9ca4bb09caf22a4","unresolved":false,"context_lines":[{"line_number":44,"context_line":"psutil\u003e\u003d3.2.2 # BSD"},{"line_number":45,"context_line":"futurist\u003e\u003d1.2.0 # Apache-2.0"},{"line_number":46,"context_line":"tooz\u003e\u003d2.7.0 # Apache-2.0"},{"line_number":47,"context_line":"openstacksdk\u003e\u003d0.48.0 # Apache-2.0"},{"line_number":48,"context_line":"sushy\u003e\u003d4.8.0"},{"line_number":49,"context_line":"construct\u003e\u003d2.9.39 # MIT"},{"line_number":50,"context_line":"netaddr\u003e\u003d0.9.0 # BSD"}],"source_content_type":"text/plain","patch_set":18,"id":"611226de_7e0e4aaa","line":47,"updated":"2024-04-26 12:58:39.000000000","message":"I assume this does not need bumping up?","commit_id":"136be235fb0eb80e316d62c573ea2ce269e35877"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"b5b91922581f2150f306c0e00964d3eb42410321","unresolved":false,"context_lines":[{"line_number":44,"context_line":"psutil\u003e\u003d3.2.2 # BSD"},{"line_number":45,"context_line":"futurist\u003e\u003d1.2.0 # Apache-2.0"},{"line_number":46,"context_line":"tooz\u003e\u003d2.7.0 # Apache-2.0"},{"line_number":47,"context_line":"openstacksdk\u003e\u003d0.48.0 # Apache-2.0"},{"line_number":48,"context_line":"sushy\u003e\u003d4.8.0"},{"line_number":49,"context_line":"construct\u003e\u003d2.9.39 # MIT"},{"line_number":50,"context_line":"netaddr\u003e\u003d0.9.0 # BSD"}],"source_content_type":"text/plain","patch_set":18,"id":"56b749ef_60e46f01","line":47,"in_reply_to":"611226de_7e0e4aaa","updated":"2024-04-29 01:10:08.000000000","message":"Indeed, all required actions didn\u0027t land until 0.99.0","commit_id":"136be235fb0eb80e316d62c573ea2ce269e35877"}]}
