)]}'
{"cinder/volume/manager.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"303caa7f412269ccf97b234f25f3d0c5248cabde","unresolved":false,"context_lines":[{"line_number":909,"context_line":"                      resource\u003dsnapshot)"},{"line_number":910,"context_line":"            snapshot.status \u003d fields.SnapshotStatus.AVAILABLE"},{"line_number":911,"context_line":"            snapshot.save()"},{"line_number":912,"context_line":"            return"},{"line_number":913,"context_line":"        except Exception:"},{"line_number":914,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":915,"context_line":"                snapshot.status \u003d fields.SnapshotStatus.ERROR_DELETING"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_6346ba50","side":"PARENT","line":912,"range":{"start_line":912,"start_character":12,"end_line":912,"end_character":18},"updated":"2016-05-25 06:39:22.000000000","message":"Why is this removed from here? It does not seem to belong to this patch.","commit_id":"81453aef76ecece4e568127141cb05b99a2100b6"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"11c4c405ee92d5f4762990efedccb221075f8645","unresolved":false,"context_lines":[{"line_number":974,"context_line":"                self.db.volume_attachment_get_used_by_volume_id(context,"},{"line_number":975,"context_line":"                                                                volume_id))"},{"line_number":976,"context_line":"            if not attachments:"},{"line_number":977,"context_line":"                LOG.error(_LE(\u0027Attach was requested, however there were no\u0027"},{"line_number":978,"context_line":"                              \u0027attachment records found for the specified \u0027"},{"line_number":979,"context_line":"                              \u0027volume, was initialize_connection called?\u0027),"},{"line_number":980,"context_line":"                          resource\u003dvolume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_bd93abf9","line":977,"updated":"2016-05-24 23:48:34.000000000","message":"Trivial: Missing space on the end.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"303caa7f412269ccf97b234f25f3d0c5248cabde","unresolved":false,"context_lines":[{"line_number":979,"context_line":"                              \u0027volume, was initialize_connection called?\u0027),"},{"line_number":980,"context_line":"                          resource\u003dvolume)"},{"line_number":981,"context_line":"                raise exception.InvalidVolume("},{"line_number":982,"context_line":"                    reason\u003d_(\"Unable to find attachment record\"))"},{"line_number":983,"context_line":"            if len(attachments) \u003e 1:"},{"line_number":984,"context_line":"                # NOTE(jdg): Try and hack something for the weird multi-attach"},{"line_number":985,"context_line":"                # cases that are in right now for R/O values and migration"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_6367dab7","line":982,"range":{"start_line":982,"start_character":30,"end_line":982,"end_character":62},"updated":"2016-05-25 06:39:22.000000000","message":"The tempest tests blow up with this error, I will try to look into it a bit more.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"11c4c405ee92d5f4762990efedccb221075f8645","unresolved":false,"context_lines":[{"line_number":1000,"context_line":"                if len(unused_attachments) !\u003d 1:"},{"line_number":1001,"context_line":"                    LOG.error(_LE(\u0027Attach was requested, however there \u0027"},{"line_number":1002,"context_line":"                                  \u0027were more than one attachment records \u0027"},{"line_number":1003,"context_line":"                                  \u0027records found for the specified volume,\u0027"},{"line_number":1004,"context_line":"                                  \u0027 unable to attach\u0027),"},{"line_number":1005,"context_line":"                              resource\u003dvolume)"},{"line_number":1006,"context_line":"                    raise exception.InvalidVolume("}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_1db9177a","line":1003,"range":{"start_line":1003,"start_character":35,"end_line":1003,"end_character":42},"updated":"2016-05-24 23:48:34.000000000","message":"Trivial: \"records\" repeated twice.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"303caa7f412269ccf97b234f25f3d0c5248cabde","unresolved":false,"context_lines":[{"line_number":1000,"context_line":"                if len(unused_attachments) !\u003d 1:"},{"line_number":1001,"context_line":"                    LOG.error(_LE(\u0027Attach was requested, however there \u0027"},{"line_number":1002,"context_line":"                                  \u0027were more than one attachment records \u0027"},{"line_number":1003,"context_line":"                                  \u0027records found for the specified volume,\u0027"},{"line_number":1004,"context_line":"                                  \u0027 unable to attach\u0027),"},{"line_number":1005,"context_line":"                              resource\u003dvolume)"},{"line_number":1006,"context_line":"                    raise exception.InvalidVolume("}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_233cb2be","line":1003,"range":{"start_line":1003,"start_character":35,"end_line":1003,"end_character":42},"in_reply_to":"bab6814e_1db9177a","updated":"2016-05-25 06:39:22.000000000","message":"Theoretically it can also happen that the unused_attachments list is empty in which case the error message is misleading.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"4dd79885f95e1c88949d2aee34f2f16a223baea4","unresolved":false,"context_lines":[{"line_number":1010,"context_line":""},{"line_number":1011,"context_line":"            self._notify_about_volume_usage(context, volume,"},{"line_number":1012,"context_line":"                                            \"attach.start\")"},{"line_number":1013,"context_line":"            attachment \u003d attachments[0]"},{"line_number":1014,"context_line":"            volume_metadata \u003d self.db.volume_admin_metadata_update("},{"line_number":1015,"context_line":"                context.elevated(), volume_id,"},{"line_number":1016,"context_line":"                {\"attached_mode\": mode}, False)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_e728a135","line":1013,"range":{"start_line":1013,"start_character":12,"end_line":1013,"end_character":39},"updated":"2016-05-31 20:28:30.000000000","message":"This should be in the else branch of the \u0027if len(attachments) \u003e 1\u0027 above, otherwise you will always overwrite \u0027attachment \u003d unused_attachments[0]\u0027 with this.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"4dd79885f95e1c88949d2aee34f2f16a223baea4","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"                          \u0027%(instance)s at mountpoint %(mount)s on host \u0027"},{"line_number":1045,"context_line":"                          \u0027%(host)s.\u0027,"},{"line_number":1046,"context_line":"                          {\u0027volume_id\u0027: volume_id, \u0027instance\u0027: instance_uuid,"},{"line_number":1047,"context_line":"                           \u0027mount\u0027: mountpoint, \u0027host\u0027: host_name},"},{"line_number":1048,"context_line":"                          resource\u003dvolume)"},{"line_number":1049,"context_line":"                self.driver.attach_volume(context,"},{"line_number":1050,"context_line":"                                          volume,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_1a8898c4","line":1047,"range":{"start_line":1047,"start_character":56,"end_line":1047,"end_character":65},"updated":"2016-05-31 20:28:30.000000000","message":"host_name is None here as Nova does not provide it at attach time, it\u0027s only contained by the connector info at initialize_connection time.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"4dd79885f95e1c88949d2aee34f2f16a223baea4","unresolved":false,"context_lines":[{"line_number":1049,"context_line":"                self.driver.attach_volume(context,"},{"line_number":1050,"context_line":"                                          volume,"},{"line_number":1051,"context_line":"                                          instance_uuid,"},{"line_number":1052,"context_line":"                                          host_name,"},{"line_number":1053,"context_line":"                                          mountpoint)"},{"line_number":1054,"context_line":"            except Exception:"},{"line_number":1055,"context_line":"                with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_babd0c6a","line":1052,"range":{"start_line":1052,"start_character":42,"end_line":1052,"end_character":51},"updated":"2016-05-31 20:28:30.000000000","message":"Same as above.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"4dd79885f95e1c88949d2aee34f2f16a223baea4","unresolved":false,"context_lines":[{"line_number":1060,"context_line":"            volume \u003d self.db.volume_attached(context.elevated(),"},{"line_number":1061,"context_line":"                                             attachment_id,"},{"line_number":1062,"context_line":"                                             instance_uuid,"},{"line_number":1063,"context_line":"                                             host_name,"},{"line_number":1064,"context_line":"                                             mountpoint,"},{"line_number":1065,"context_line":"                                             mode)"},{"line_number":1066,"context_line":"            self._notify_about_volume_usage(context, volume, \"attach.end\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_5a8ea0d0","line":1063,"range":{"start_line":1063,"start_character":45,"end_line":1063,"end_character":54},"updated":"2016-05-31 20:28:30.000000000","message":"I guess this one overwrites the DB.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"303caa7f412269ccf97b234f25f3d0c5248cabde","unresolved":false,"context_lines":[{"line_number":1385,"context_line":"        # refresh_connection_info case from Nova.  We\u0027ll look for something"},{"line_number":1386,"context_line":"        # that appears to match and return it.  The problem is we can\u0027t"},{"line_number":1387,"context_line":"        # tell in this case if it\u0027s a multi-attach or a simple refresh.  We"},{"line_number":1388,"context_line":"        # can try and hack around that in the attach method"},{"line_number":1389,"context_line":"        for att in attachments:"},{"line_number":1390,"context_line":"            if (connector[\u0027host\u0027] \u003d\u003d att[\u0027attached_host\u0027] and"},{"line_number":1391,"context_line":"                    connector[\u0027ip\u0027] \u003d\u003d att[\u0027ip\u0027]):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_63b99a15","line":1388,"range":{"start_line":1388,"start_character":22,"end_line":1388,"end_character":59},"updated":"2016-05-25 06:39:22.000000000","message":"Does this mean to create the DB entry for the second attachment on that host in the attach method?","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"11c4c405ee92d5f4762990efedccb221075f8645","unresolved":false,"context_lines":[{"line_number":1389,"context_line":"        for att in attachments:"},{"line_number":1390,"context_line":"            if (connector[\u0027host\u0027] \u003d\u003d att[\u0027attached_host\u0027] and"},{"line_number":1391,"context_line":"                    connector[\u0027ip\u0027] \u003d\u003d att[\u0027ip\u0027]):"},{"line_number":1392,"context_line":"                LOG.debug(\u0027Found existing attachment during\u0027"},{"line_number":1393,"context_line":"                          \u0027initialize_connection, returning existing\u0027"},{"line_number":1394,"context_line":"                          \u0027attachment record\u0027)"},{"line_number":1395,"context_line":"                attachment \u003d att"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_3d6dfb04","line":1392,"updated":"2016-05-24 23:48:34.000000000","message":"Trivial: Space needed on end.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"11c4c405ee92d5f4762990efedccb221075f8645","unresolved":false,"context_lines":[{"line_number":1390,"context_line":"            if (connector[\u0027host\u0027] \u003d\u003d att[\u0027attached_host\u0027] and"},{"line_number":1391,"context_line":"                    connector[\u0027ip\u0027] \u003d\u003d att[\u0027ip\u0027]):"},{"line_number":1392,"context_line":"                LOG.debug(\u0027Found existing attachment during\u0027"},{"line_number":1393,"context_line":"                          \u0027initialize_connection, returning existing\u0027"},{"line_number":1394,"context_line":"                          \u0027attachment record\u0027)"},{"line_number":1395,"context_line":"                attachment \u003d att"},{"line_number":1396,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_7d7783d4","line":1393,"updated":"2016-05-24 23:48:34.000000000","message":"Same.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"11c4c405ee92d5f4762990efedccb221075f8645","unresolved":false,"context_lines":[{"line_number":1397,"context_line":"        if attachment is None:"},{"line_number":1398,"context_line":"            if len(attachments) \u003e 0:"},{"line_number":1399,"context_line":"                LOG.debug("},{"line_number":1400,"context_line":"                    \u0027initialize_connection called on a volume with\u0027"},{"line_number":1401,"context_line":"                    \u0027existing attachments, but None appear to be for the\u0027"},{"line_number":1402,"context_line":"                    \u0027specified connection.  Creating a new attachment\u0027)"},{"line_number":1403,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_5d727fe4","line":1400,"updated":"2016-05-24 23:48:34.000000000","message":"Same.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"11c4c405ee92d5f4762990efedccb221075f8645","unresolved":false,"context_lines":[{"line_number":1398,"context_line":"            if len(attachments) \u003e 0:"},{"line_number":1399,"context_line":"                LOG.debug("},{"line_number":1400,"context_line":"                    \u0027initialize_connection called on a volume with\u0027"},{"line_number":1401,"context_line":"                    \u0027existing attachments, but None appear to be for the\u0027"},{"line_number":1402,"context_line":"                    \u0027specified connection.  Creating a new attachment\u0027)"},{"line_number":1403,"context_line":""},{"line_number":1404,"context_line":"    def _create_initialize_attachment(self, context, volume_id, connector):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_bd81eb91","line":1401,"updated":"2016-05-24 23:48:34.000000000","message":"Same.","commit_id":"01e241b3d00565a086ab3d50fc40d1f07c687c91"}]}
