)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"b259bd2918606940a1b9cceaa5eec3b83a890ae3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f643e176_bd4d88a6","updated":"2025-03-26 20:40:08.000000000","message":"recheck","commit_id":"1221d35a5687d20c782ee904f38fca6087375d41"}],"openstack_dashboard/dashboards/project/instances/tabs.py":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"8d307fcb93ea5a827c928c616ad437492245dd94","unresolved":true,"context_lines":[{"line_number":57,"context_line":"                    instance.image \u003d None"},{"line_number":58,"context_line":"        except AttributeError:"},{"line_number":59,"context_line":"            exceptions.handle(self.request,"},{"line_number":60,"context_line":"                             _(\u0027Failed to get attached volumes. Make sure they are accessible from this tenant.\u0027))"},{"line_number":61,"context_line":"        return {\"instance\": instance}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"490f3cdb_b413a497","line":60,"updated":"2025-03-26 14:24:32.000000000","message":"Hello, please replace tenant to project","commit_id":"e3b0b5cfff72c8265b92b89acea3c7db165bcba0"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"24a91cdb46d32d2e4cc0287cddb4b6cd4e4b2026","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                    instance.image \u003d None"},{"line_number":58,"context_line":"        except AttributeError:"},{"line_number":59,"context_line":"            exceptions.handle(self.request,"},{"line_number":60,"context_line":"                             _(\u0027Failed to get attached volumes. Make sure they are accessible from this tenant.\u0027))"},{"line_number":61,"context_line":"        return {\"instance\": instance}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"db4af370_64806839","line":60,"in_reply_to":"490f3cdb_b413a497","updated":"2025-03-26 14:46:50.000000000","message":"Done","commit_id":"e3b0b5cfff72c8265b92b89acea3c7db165bcba0"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"8b44c8c91cbfa25c26fa8271b991084f179ffb8e","unresolved":true,"context_lines":[{"line_number":58,"context_line":"        except AttributeError:"},{"line_number":59,"context_line":"            exceptions.handle(self.request,"},{"line_number":60,"context_line":"                              _(\u0027Failed to get attached volumes. Make sure\u0027"},{"line_number":61,"context_line":"                                \u0027 they are accessible from this project.\u0027))"},{"line_number":62,"context_line":"        return {\"instance\": instance}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"d4abaecf_ffb4959e","line":61,"updated":"2025-03-26 16:25:27.000000000","message":"This is a huge try-except block. Could you instead move the instance.volumes to a separate line, and only do try-except for that line?","commit_id":"db618e9509258ab52f568569c3dc532117f3cb0d"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"afc3a70a9f9caffa4943cf285ebc5391aef776b3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        except AttributeError:"},{"line_number":59,"context_line":"            exceptions.handle(self.request,"},{"line_number":60,"context_line":"                              _(\u0027Failed to get attached volumes. Make sure\u0027"},{"line_number":61,"context_line":"                                \u0027 they are accessible from this project.\u0027))"},{"line_number":62,"context_line":"        return {\"instance\": instance}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"106e2b0e_f0e98d34","line":61,"in_reply_to":"0640510b_fb8b59aa","updated":"2025-03-26 19:27:37.000000000","message":"I\u0027m not sure why, it may be a quirk of the pythonclient, I will try to look into it tomorrow. In any case, either of your proposal seems good to me, use whichever you prefer, or we can look into it more tomorrow.","commit_id":"db618e9509258ab52f568569c3dc532117f3cb0d"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"4cf59326daf8b50a0041d7dfe70d48a3ba395c62","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        except AttributeError:"},{"line_number":59,"context_line":"            exceptions.handle(self.request,"},{"line_number":60,"context_line":"                              _(\u0027Failed to get attached volumes. Make sure\u0027"},{"line_number":61,"context_line":"                                \u0027 they are accessible from this project.\u0027))"},{"line_number":62,"context_line":"        return {\"instance\": instance}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"0640510b_fb8b59aa","line":61,"in_reply_to":"68c5dc19_4e5526c9","updated":"2025-03-26 19:09:56.000000000","message":"Would this be acceptable ?\n if hasattr(instance,\u0027volumes\u0027) and instance.volumes and not instance.image:","commit_id":"db618e9509258ab52f568569c3dc532117f3cb0d"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"6166354cd07a831fc630d84449ebe86ddbd1d03c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        except AttributeError:"},{"line_number":59,"context_line":"            exceptions.handle(self.request,"},{"line_number":60,"context_line":"                              _(\u0027Failed to get attached volumes. Make sure\u0027"},{"line_number":61,"context_line":"                                \u0027 they are accessible from this project.\u0027))"},{"line_number":62,"context_line":"        return {\"instance\": instance}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"68c5dc19_4e5526c9","line":61,"in_reply_to":"d4abaecf_ffb4959e","updated":"2025-03-26 18:32:35.000000000","message":"I did but it\u0027s not where I would\u0027ve fixed this.   Why is \"volumes\" not there but empty with \u0027{}\u0027 or \u0027[]\u0027 ?","commit_id":"db618e9509258ab52f568569c3dc532117f3cb0d"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"b002dc896300e093b3dd261111261d46267e273b","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                exceptions.handle(self.request,"},{"line_number":54,"context_line":"                                  _(\u0027Failed to get attached volume.\u0027))"},{"line_number":55,"context_line":"            try:"},{"line_number":56,"context_line":"                instance.image \u003d {"},{"line_number":57,"context_line":"                    \u0027id\u0027: volume.volume_image_metadata[\u0027image_id\u0027],"},{"line_number":58,"context_line":"                    \u0027name\u0027: volume.volume_image_metadata[\u0027image_name\u0027],"},{"line_number":59,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":9,"id":"64f4bbd2_6a35fad9","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":34},"updated":"2025-03-27 12:31:57.000000000","message":"shouldn\u0027t we also set instance.image \u003d None if the instance.volumes issue is hit ?","commit_id":"1221d35a5687d20c782ee904f38fca6087375d41"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"10ea91d44190186ecd58483111d65ee1e4461509","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                exceptions.handle(self.request,"},{"line_number":54,"context_line":"                                  _(\u0027Failed to get attached volume.\u0027))"},{"line_number":55,"context_line":"            try:"},{"line_number":56,"context_line":"                instance.image \u003d {"},{"line_number":57,"context_line":"                    \u0027id\u0027: volume.volume_image_metadata[\u0027image_id\u0027],"},{"line_number":58,"context_line":"                    \u0027name\u0027: volume.volume_image_metadata[\u0027image_name\u0027],"},{"line_number":59,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":9,"id":"4ca18f50_e7656dbb","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":34},"in_reply_to":"14ad36e7_c15098ff","updated":"2025-04-04 12:58:33.000000000","message":"Acknowledged","commit_id":"1221d35a5687d20c782ee904f38fca6087375d41"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"fc4ab9ff7d781a2b19bc458883073cf17aaaedd7","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                exceptions.handle(self.request,"},{"line_number":54,"context_line":"                                  _(\u0027Failed to get attached volume.\u0027))"},{"line_number":55,"context_line":"            try:"},{"line_number":56,"context_line":"                instance.image \u003d {"},{"line_number":57,"context_line":"                    \u0027id\u0027: volume.volume_image_metadata[\u0027image_id\u0027],"},{"line_number":58,"context_line":"                    \u0027name\u0027: volume.volume_image_metadata[\u0027image_name\u0027],"},{"line_number":59,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":9,"id":"fd59cfb2_658646ed","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":34},"in_reply_to":"64f4bbd2_6a35fad9","updated":"2025-03-27 16:24:13.000000000","message":"I think it\u0027s only used when volumes are not empty.","commit_id":"1221d35a5687d20c782ee904f38fca6087375d41"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"432b77915e22c89a69053b9afad128cb82def046","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                exceptions.handle(self.request,"},{"line_number":54,"context_line":"                                  _(\u0027Failed to get attached volume.\u0027))"},{"line_number":55,"context_line":"            try:"},{"line_number":56,"context_line":"                instance.image \u003d {"},{"line_number":57,"context_line":"                    \u0027id\u0027: volume.volume_image_metadata[\u0027image_id\u0027],"},{"line_number":58,"context_line":"                    \u0027name\u0027: volume.volume_image_metadata[\u0027image_name\u0027],"},{"line_number":59,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":9,"id":"14ad36e7_c15098ff","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":34},"in_reply_to":"fd59cfb2_658646ed","updated":"2025-03-27 19:16:05.000000000","message":"From that code, we apparently set it from the volume metadata when a volume is present .  I don\u0027t mind, I can just close this as resolved if it\u0027s not a big deal.","commit_id":"1221d35a5687d20c782ee904f38fca6087375d41"}]}
