)]}'
{"nova/compute/api.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"3d72ebc4000e62362e8b57859fe60861eb52d533","unresolved":true,"context_lines":[{"line_number":5414,"context_line":"        return do_volume_snapshot_create(self, context, bdm.instance)"},{"line_number":5415,"context_line":""},{"line_number":5416,"context_line":"    def volume_snapshot_delete(self, context, volume_id, snapshot_id,"},{"line_number":5417,"context_line":"                               delete_info):"},{"line_number":5418,"context_line":"        bdm \u003d self._get_bdm_by_volume_id("},{"line_number":5419,"context_line":"            context, volume_id, expected_attrs\u003d[\u0027instance\u0027])"},{"line_number":5420,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a1c056d_d9648c3b","line":5417,"range":{"start_line":5417,"start_character":31,"end_line":5417,"end_character":42},"updated":"2021-03-19 14:16:31.000000000","message":"Oooohh!","commit_id":"715d75e6d78048851ce0f4af2359c959b86e2904"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ddc5d58d7040941753828b36d246fc114a1e9a0a","unresolved":false,"context_lines":[{"line_number":5414,"context_line":"        return do_volume_snapshot_create(self, context, bdm.instance)"},{"line_number":5415,"context_line":""},{"line_number":5416,"context_line":"    def volume_snapshot_delete(self, context, volume_id, snapshot_id,"},{"line_number":5417,"context_line":"                               delete_info):"},{"line_number":5418,"context_line":"        bdm \u003d self._get_bdm_by_volume_id("},{"line_number":5419,"context_line":"            context, volume_id, expected_attrs\u003d[\u0027instance\u0027])"},{"line_number":5420,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"12cfe1f8_5994c52d","line":5417,"range":{"start_line":5417,"start_character":31,"end_line":5417,"end_character":42},"in_reply_to":"5a1c056d_d9648c3b","updated":"2021-03-19 16:50:42.000000000","message":"😎","commit_id":"715d75e6d78048851ce0f4af2359c959b86e2904"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"15d12d915988794a5765f7a2b52d8d3b5f361dd2","unresolved":true,"context_lines":[{"line_number":5419,"context_line":"            context, volume_id, expected_attrs\u003d[\u0027instance\u0027])"},{"line_number":5420,"context_line":""},{"line_number":5421,"context_line":"        @check_instance_host()"},{"line_number":5422,"context_line":"        @check_instance_state(vm_state\u003dNone)"},{"line_number":5423,"context_line":"        def do_volume_snapshot_delete(self, context, instance):"},{"line_number":5424,"context_line":"            # FIXME(lyarwood): Avoid bug #1919487 by rejecting the request"},{"line_number":5425,"context_line":"            # to delete an intermediary volume snapshot offline as this isn\u0027t"}],"source_content_type":"text/x-python","patch_set":3,"id":"726df9e1_aa610d4c","line":5422,"updated":"2021-03-19 14:15:45.000000000","message":"I guess we can\u0027t encode the instance state here become it needs extra logic?","commit_id":"715d75e6d78048851ce0f4af2359c959b86e2904"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ddc5d58d7040941753828b36d246fc114a1e9a0a","unresolved":false,"context_lines":[{"line_number":5419,"context_line":"            context, volume_id, expected_attrs\u003d[\u0027instance\u0027])"},{"line_number":5420,"context_line":""},{"line_number":5421,"context_line":"        @check_instance_host()"},{"line_number":5422,"context_line":"        @check_instance_state(vm_state\u003dNone)"},{"line_number":5423,"context_line":"        def do_volume_snapshot_delete(self, context, instance):"},{"line_number":5424,"context_line":"            # FIXME(lyarwood): Avoid bug #1919487 by rejecting the request"},{"line_number":5425,"context_line":"            # to delete an intermediary volume snapshot offline as this isn\u0027t"}],"source_content_type":"text/x-python","patch_set":3,"id":"07860519_bd280007","line":5422,"in_reply_to":"726df9e1_aa610d4c","updated":"2021-03-19 16:50:42.000000000","message":"Yarp.","commit_id":"715d75e6d78048851ce0f4af2359c959b86e2904"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"15d12d915988794a5765f7a2b52d8d3b5f361dd2","unresolved":true,"context_lines":[{"line_number":5427,"context_line":"            # This should be fixed in a future release but as it is essentially"},{"line_number":5428,"context_line":"            # a new feature wouldn\u0027t be something we could backport. As such"},{"line_number":5429,"context_line":"            # reject the request here so n-api can respond correctly to c-vol."},{"line_number":5430,"context_line":"            if (delete_info[\u0027merge_target_file\u0027] is not None and"},{"line_number":5431,"context_line":"                instance.vm_state !\u003d vm_states.ACTIVE"},{"line_number":5432,"context_line":"            ):"},{"line_number":5433,"context_line":"                raise exception.InstanceInvalidState("}],"source_content_type":"text/x-python","patch_set":3,"id":"538d8fbc_a678c053","line":5430,"range":{"start_line":5430,"start_character":16,"end_line":5430,"end_character":27},"updated":"2021-03-19 14:15:45.000000000","message":"Where did this var come from?","commit_id":"715d75e6d78048851ce0f4af2359c959b86e2904"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ddc5d58d7040941753828b36d246fc114a1e9a0a","unresolved":false,"context_lines":[{"line_number":5427,"context_line":"            # This should be fixed in a future release but as it is essentially"},{"line_number":5428,"context_line":"            # a new feature wouldn\u0027t be something we could backport. As such"},{"line_number":5429,"context_line":"            # reject the request here so n-api can respond correctly to c-vol."},{"line_number":5430,"context_line":"            if (delete_info[\u0027merge_target_file\u0027] is not None and"},{"line_number":5431,"context_line":"                instance.vm_state !\u003d vm_states.ACTIVE"},{"line_number":5432,"context_line":"            ):"},{"line_number":5433,"context_line":"                raise exception.InstanceInvalidState("}],"source_content_type":"text/x-python","patch_set":3,"id":"356de827_a7762e43","line":5430,"range":{"start_line":5430,"start_character":16,"end_line":5430,"end_character":27},"in_reply_to":"538d8fbc_a678c053","updated":"2021-03-19 16:50:42.000000000","message":"See above, I can pass it in but it\u0027s not required. We only pass in context and instance for the decorators.","commit_id":"715d75e6d78048851ce0f4af2359c959b86e2904"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a8c38389689a504346f3a9d92875091cd9909474","unresolved":true,"context_lines":[{"line_number":5492,"context_line":"            # This should be fixed in a future release but as it is essentially"},{"line_number":5493,"context_line":"            # a new feature wouldn\u0027t be something we could backport. As such"},{"line_number":5494,"context_line":"            # reject the request here so n-api can respond correctly to c-vol."},{"line_number":5495,"context_line":"            if (delete_info[\u0027merge_target_file\u0027] is not None and"},{"line_number":5496,"context_line":"                instance.vm_state !\u003d vm_states.ACTIVE"},{"line_number":5497,"context_line":"            ):"},{"line_number":5498,"context_line":"                raise exception.InstanceInvalidState("}],"source_content_type":"text/x-python","patch_set":4,"id":"2bb7a56e_4667cbd5","line":5495,"range":{"start_line":5495,"start_character":29,"end_line":5495,"end_character":46},"updated":"2021-03-24 15:46:08.000000000","message":"As far as I see this is an undocumented parameter in the API ref but you threat it as always present. Is it safe to use delete_info[\"merge_target_file\"] ? I would assume that as this is undocumented it might be missing. And therefore delete_info.get(\"delete_info\") would be safer.","commit_id":"4f19636063d8e038610d6788aada389d468c423e"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"47e1574ff7b5665b2ca50d88f3b644b82d525502","unresolved":false,"context_lines":[{"line_number":5492,"context_line":"            # This should be fixed in a future release but as it is essentially"},{"line_number":5493,"context_line":"            # a new feature wouldn\u0027t be something we could backport. As such"},{"line_number":5494,"context_line":"            # reject the request here so n-api can respond correctly to c-vol."},{"line_number":5495,"context_line":"            if (delete_info[\u0027merge_target_file\u0027] is not None and"},{"line_number":5496,"context_line":"                instance.vm_state !\u003d vm_states.ACTIVE"},{"line_number":5497,"context_line":"            ):"},{"line_number":5498,"context_line":"                raise exception.InstanceInvalidState("}],"source_content_type":"text/x-python","patch_set":4,"id":"8611222d_fc25a3f9","line":5495,"range":{"start_line":5495,"start_character":29,"end_line":5495,"end_character":46},"in_reply_to":"2bb7a56e_4667cbd5","updated":"2021-03-24 16:03:32.000000000","message":"ACK yeah that\u0027s valid, it isn\u0027t required so .get is safer here.","commit_id":"4f19636063d8e038610d6788aada389d468c423e"}]}
