)]}'
{"tacker_horizon/openstack_dashboard/dashboards/nfv/vnffgmanager/views.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"388dd1df038c1ec32126671fcc63fe1ae954b6d2","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        try:"},{"line_number":94,"context_line":"            vnffg \u003d tacker_api.tacker.get_vnffg(self.request, vnffg_id)"},{"line_number":95,"context_line":"            vnffg[\"vnffg\"][\"mgmt_ip_address\"] \u003d jsonutils.loads("},{"line_number":96,"context_line":"                vnffg[\"vnffg\"][\"mgmt_ip_address\"]) if vnffg[\"vnffg\"].get("},{"line_number":97,"context_line":"                \"mgmt_ip_address\") else None"},{"line_number":98,"context_line":"            return vnffg"}],"source_content_type":"text/x-python","patch_set":1,"id":"b5cb3e24_54c601ad","line":95,"updated":"2021-08-24 07:27:00.000000000","message":"Same as [1].\n\n[1] https://review.opendev.org/c/openstack/tacker-horizon/+/805069/1/tacker_horizon/openstack_dashboard/dashboards/nfv/vnfmanager/views.py#97","commit_id":"641211312fdeeff6255fbf97d954a7813e5eccc6"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"882fcf6e600bf0de63f8e8d3917cf8c1ba774b3b","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        try:"},{"line_number":94,"context_line":"            vnffg \u003d tacker_api.tacker.get_vnffg(self.request, vnffg_id)"},{"line_number":95,"context_line":"            vnffg[\"vnffg\"][\"mgmt_ip_address\"] \u003d jsonutils.loads("},{"line_number":96,"context_line":"                vnffg[\"vnffg\"][\"mgmt_ip_address\"]) if vnffg[\"vnffg\"].get("},{"line_number":97,"context_line":"                \"mgmt_ip_address\") else None"},{"line_number":98,"context_line":"            return vnffg"}],"source_content_type":"text/x-python","patch_set":1,"id":"de9e8f4f_c96b3b71","line":95,"in_reply_to":"b5cb3e24_54c601ad","updated":"2021-08-24 15:18:49.000000000","message":"Done","commit_id":"641211312fdeeff6255fbf97d954a7813e5eccc6"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"ae7f0bf59ab1c12309524fb64ee87614b4938adf","unresolved":true,"context_lines":[{"line_number":96,"context_line":"                vnffg[\"vnffg\"][\"mgmt_ip_address\"]) if vnffg[\"vnffg\"].get("},{"line_number":97,"context_line":"                \"mgmt_ip_address\") else None"},{"line_number":98,"context_line":"            return vnffg"},{"line_number":99,"context_line":"        except ValueError:"},{"line_number":100,"context_line":"            msg \u003d _(\u0027Required attribute mgmt_ip_address missing.\u0027)"},{"line_number":101,"context_line":"            LOG.error(msg)"},{"line_number":102,"context_line":"        except Exception:"},{"line_number":103,"context_line":"            redirect \u003d reverse(self.redirect_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"8b979e2d_2f4fd72c","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":66},"updated":"2021-08-24 22:59:43.000000000","message":"It\u0027s better for me to add another catching exception for `KeyError` for expected but missing attribute instead of modifying exception for `ValueError`. You can find missing attribute as `e` in `Except KeyError as e` for example. What do you think?","commit_id":"e2f14dc315dc5cdc1f1e858691a860b0cd40a47f"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"35552756799dd9d8e573ada805d7ff84693a1db2","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                vnffg[\"vnffg\"][\"mgmt_ip_address\"]) if vnffg[\"vnffg\"].get("},{"line_number":97,"context_line":"                \"mgmt_ip_address\") else None"},{"line_number":98,"context_line":"            return vnffg"},{"line_number":99,"context_line":"        except ValueError:"},{"line_number":100,"context_line":"            msg \u003d _(\u0027Required attribute mgmt_ip_address missing.\u0027)"},{"line_number":101,"context_line":"            LOG.error(msg)"},{"line_number":102,"context_line":"        except Exception:"},{"line_number":103,"context_line":"            redirect \u003d reverse(self.redirect_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"2bdfdc8c_8cd8c897","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":66},"in_reply_to":"8b979e2d_2f4fd72c","updated":"2021-08-25 05:55:21.000000000","message":"Done.","commit_id":"e2f14dc315dc5cdc1f1e858691a860b0cd40a47f"}],"tacker_horizon/openstack_dashboard/dashboards/nfv/vnfmanager/views.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"388dd1df038c1ec32126671fcc63fe1ae954b6d2","unresolved":true,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        try:"},{"line_number":96,"context_line":"            vnf \u003d tacker_api.tacker.get_vnf(self.request, vnf_id)"},{"line_number":97,"context_line":"            vnf[\"vnf\"][\"mgmt_ip_address\"] \u003d jsonutils.loads("},{"line_number":98,"context_line":"                    vnf[\"vnf\"][\"mgmt_ip_address\"]) \\"},{"line_number":99,"context_line":"                if vnf[\"vnf\"][\"mgmt_ip_address\"] else None"},{"line_number":100,"context_line":"            return vnf"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5213cf_d6399e6f","line":97,"updated":"2021-08-24 07:27:00.000000000","message":"Such a change of attribute in tacker can be happened again, caused the same error. So, why don\u0027t add logging to notify the expected attribute cannot be found? Current log message at L.102 is not so helpful for us.","commit_id":"641211312fdeeff6255fbf97d954a7813e5eccc6"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"882fcf6e600bf0de63f8e8d3917cf8c1ba774b3b","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        try:"},{"line_number":96,"context_line":"            vnf \u003d tacker_api.tacker.get_vnf(self.request, vnf_id)"},{"line_number":97,"context_line":"            vnf[\"vnf\"][\"mgmt_ip_address\"] \u003d jsonutils.loads("},{"line_number":98,"context_line":"                    vnf[\"vnf\"][\"mgmt_ip_address\"]) \\"},{"line_number":99,"context_line":"                if vnf[\"vnf\"][\"mgmt_ip_address\"] else None"},{"line_number":100,"context_line":"            return vnf"}],"source_content_type":"text/x-python","patch_set":1,"id":"4a763609_d905abc3","line":97,"in_reply_to":"5a5213cf_d6399e6f","updated":"2021-08-24 15:18:49.000000000","message":"Done","commit_id":"641211312fdeeff6255fbf97d954a7813e5eccc6"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"ae7f0bf59ab1c12309524fb64ee87614b4938adf","unresolved":true,"context_lines":[{"line_number":98,"context_line":"                    vnf[\"vnf\"][\"mgmt_ip_address\"]) \\"},{"line_number":99,"context_line":"                if vnf[\"vnf\"][\"mgmt_ip_address\"] else None"},{"line_number":100,"context_line":"            return vnf"},{"line_number":101,"context_line":"        except ValueError:"},{"line_number":102,"context_line":"            msg \u003d _(\u0027Required attribute mgmt_ip_address missing.\u0027)"},{"line_number":103,"context_line":"            LOG.error(msg)"},{"line_number":104,"context_line":"        except Exception:"},{"line_number":105,"context_line":"            redirect \u003d reverse(self.redirect_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"66fffb4f_cfe0cab1","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":66},"updated":"2021-08-24 22:59:43.000000000","message":"same as [1].\n\n[1] https://review.opendev.org/c/openstack/tacker-horizon/+/805069/2/tacker_horizon/openstack_dashboard/dashboards/nfv/vnffgmanager/views.py#95","commit_id":"e2f14dc315dc5cdc1f1e858691a860b0cd40a47f"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"35552756799dd9d8e573ada805d7ff84693a1db2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    vnf[\"vnf\"][\"mgmt_ip_address\"]) \\"},{"line_number":99,"context_line":"                if vnf[\"vnf\"][\"mgmt_ip_address\"] else None"},{"line_number":100,"context_line":"            return vnf"},{"line_number":101,"context_line":"        except ValueError:"},{"line_number":102,"context_line":"            msg \u003d _(\u0027Required attribute mgmt_ip_address missing.\u0027)"},{"line_number":103,"context_line":"            LOG.error(msg)"},{"line_number":104,"context_line":"        except Exception:"},{"line_number":105,"context_line":"            redirect \u003d reverse(self.redirect_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"2cd08941_4ba63074","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":66},"in_reply_to":"66fffb4f_cfe0cab1","updated":"2021-08-25 05:55:21.000000000","message":"Done","commit_id":"e2f14dc315dc5cdc1f1e858691a860b0cd40a47f"}]}
