)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"45c06b97fc310d8941ccf8d01d979072fda47e15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"917bf0d2_77b0d93b","updated":"2026-02-02 16:54:37.000000000","message":"recheck prometheus threading job timed out while running tempest tests","commit_id":"ab6bf91b3aa953a1e810de6385317fc72b0b5c92"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d625ccd2ffe3ad2eb213a658ed7678c81cb34639","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"5e7abd2b_6be51a61","updated":"2026-02-19 18:05:59.000000000","message":"ill look at this agian on monday but overall i think it looks ok","commit_id":"957b984b5dfe53adba68e56ebcb09155706ee1d4"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"b1accd3012088689d45258c23daf59ff1d763b82","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"74695e50_057d917c","updated":"2026-02-19 17:47:40.000000000","message":"recheck","commit_id":"957b984b5dfe53adba68e56ebcb09155706ee1d4"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"0d32d0b9a9494f909840b446890ed659802f04a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"710183d2_6b7ab732","updated":"2026-02-23 18:21:26.000000000","message":"LGTM","commit_id":"cfbe8224f33278775adc590aa14124822566babe"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"787d724f44acf430a1bbbf7cdd50c2443fd54329","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"cc47dcde_407d4aab","updated":"2026-02-24 13:03:42.000000000","message":"check-rdo failed while deploying openstack","commit_id":"8546305266b2885da542fd232957248e00d01f9d"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"454e3a17e1d1ccd2284d8d1c8bba4275ae614551","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"b7bf2b7f_710572a7","updated":"2026-02-24 18:37:02.000000000","message":"recheck","commit_id":"8546305266b2885da542fd232957248e00d01f9d"}],"watcher/common/nova_helper.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d625ccd2ffe3ad2eb213a658ed7678c81cb34639","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    This decorator catches novaclient exceptions and handles them as follows:"},{"line_number":64,"context_line":"    - NotFound exceptions: logs a debug message and raises"},{"line_number":65,"context_line":"      ComputeResourceNotFound"},{"line_number":66,"context_line":"    - Other novaclient exceptions: re-raises as NovaClientError"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    Use this for methods that retrieve individual resources by ID where a"},{"line_number":69,"context_line":"    missing resource is a valid outcome but other errors should be propagated."}],"source_content_type":"text/x-python","patch_set":31,"id":"4bd47e95_fc32a3b4","line":66,"in_reply_to":"4e7d78cc_b9af494d","updated":"2026-02-19 18:05:59.000000000","message":"this is incorrect we are translating into out own exception.NovaClientError\n\nwhich is what this si refencing","commit_id":"957b984b5dfe53adba68e56ebcb09155706ee1d4"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"0d32d0b9a9494f909840b446890ed659802f04a9","unresolved":true,"context_lines":[{"line_number":395,"context_line":"        self._config_overrides \u003d True"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def _create_sdk_connection(self, session\u003dNone, context\u003dNone):"},{"line_number":398,"context_line":"        \"\"\"Create and return an OpenStackSDK Connection"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        :param session: Optional keystone session to create the openstack"},{"line_number":401,"context_line":"        connection."}],"source_content_type":"text/x-python","patch_set":33,"id":"07a24158_ce421e38","line":398,"range":{"start_line":398,"start_character":0,"end_line":398,"end_character":55},"updated":"2026-02-23 18:21:26.000000000","message":"nit: it does create, but doesn\u0027t really return it","commit_id":"cfbe8224f33278775adc590aa14124822566babe"}],"watcher/decision_engine/model/notification/nova.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d625ccd2ffe3ad2eb213a658ed7678c81cb34639","unresolved":true,"context_lines":[{"line_number":75,"context_line":"    def update_instance(self, instance, data):"},{"line_number":76,"context_line":"        n_version \u003d versionutils.convert_version_to_int("},{"line_number":77,"context_line":"            data[\u0027nova_object.version\u0027]"},{"line_number":78,"context_line":"        )"},{"line_number":79,"context_line":"        instance_data \u003d data[\u0027nova_object.data\u0027]"},{"line_number":80,"context_line":"        instance_flavor_data \u003d instance_data[\u0027flavor\u0027][\u0027nova_object.data\u0027]"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"68bc11f4_661596e6","line":78,"updated":"2026-02-19 18:05:59.000000000","message":"its not an int and it cant be compare that way genrically\n\nthis is fucntional because it happens to multiple by 1000\n\nhttps://github.com/openstack/oslo.utils/blob/master/oslo_utils/versionutils.py#L57-L71\n\nbut we shoudl still prefer micoversion_parse instead.\n\nhttps://github.com/openstack/microversion-parse/blob/master/microversion_parse/__init__.py#L190\nhttps://github.com/openstack/watcher/blob/master/requirements.txt#L47\n\nwe can fix this later i guess but i would prefer if we standardisted on using that for all version comparison","commit_id":"957b984b5dfe53adba68e56ebcb09155706ee1d4"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"4b3d98013e3470a84b061332e29126a6b1062f57","unresolved":true,"context_lines":[{"line_number":75,"context_line":"    def update_instance(self, instance, data):"},{"line_number":76,"context_line":"        n_version \u003d versionutils.convert_version_to_int("},{"line_number":77,"context_line":"            data[\u0027nova_object.version\u0027]"},{"line_number":78,"context_line":"        )"},{"line_number":79,"context_line":"        instance_data \u003d data[\u0027nova_object.data\u0027]"},{"line_number":80,"context_line":"        instance_flavor_data \u003d instance_data[\u0027flavor\u0027][\u0027nova_object.data\u0027]"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"802e7bb8_9706453d","line":78,"in_reply_to":"68bc11f4_661596e6","updated":"2026-02-19 18:22:10.000000000","message":"done, I\u0027m ok changing to microversion_parse I only used versionutils since it was already used in watcher/objects/base","commit_id":"957b984b5dfe53adba68e56ebcb09155706ee1d4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c05b7115569d6cb3dd482d5d4bbad06db84fe81f","unresolved":true,"context_lines":[{"line_number":75,"context_line":"    def update_instance(self, instance, data):"},{"line_number":76,"context_line":"        n_version \u003d versionutils.convert_version_to_int("},{"line_number":77,"context_line":"            data[\u0027nova_object.version\u0027]"},{"line_number":78,"context_line":"        )"},{"line_number":79,"context_line":"        instance_data \u003d data[\u0027nova_object.data\u0027]"},{"line_number":80,"context_line":"        instance_flavor_data \u003d instance_data[\u0027flavor\u0027][\u0027nova_object.data\u0027]"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"cdf5b5ba_d0c3881f","line":78,"in_reply_to":"802e7bb8_9706453d","updated":"2026-02-19 18:26:05.000000000","message":"it would work i just woudl prefer to do the tuple comparison that micoversion-parse does","commit_id":"957b984b5dfe53adba68e56ebcb09155706ee1d4"}],"watcher/tests/unit/common/test_nova_helper.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"0d32d0b9a9494f909840b446890ed659802f04a9","unresolved":true,"context_lines":[{"line_number":1229,"context_line":"        self.mock_connection.compute.abort_server_migration.\\"},{"line_number":1230,"context_line":"            assert_called_once_with(1, instance.id)"},{"line_number":1231,"context_line":""},{"line_number":1232,"context_line":"    def test_is_pinned_az_available_version_supported(self, mock_cinder):"},{"line_number":1233,"context_line":"        \"\"\"Test is_pinned_az_available returns True for version \u003e\u003d 2.96.\"\"\""},{"line_number":1234,"context_line":"        nova_util \u003d nova_helper.NovaHelper()"},{"line_number":1235,"context_line":"        CONF.set_override(\u0027api_version\u0027, \u00272.96\u0027, group\u003d\u0027nova\u0027)"}],"source_content_type":"text/x-python","patch_set":33,"id":"9998943f_b4432084","line":1232,"range":{"start_line":1232,"start_character":8,"end_line":1232,"end_character":53},"updated":"2026-02-23 18:21:26.000000000","message":"nit: by using ddt we could reduce from 4 to a sigle test definition.","commit_id":"cfbe8224f33278775adc590aa14124822566babe"}]}
