)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"d9211dde1ff25fe8f0285ad7b13410e9d8fe5d1a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix create_cloned_volume source volume id"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes where we are getting the source volume id"},{"line_number":10,"context_line":"from."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7cf3137048d4b46099077402ec76faf20bd66b83"},{"line_number":13,"context_line":"Closes-Bug: 1491175"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da20952f_df36f8e6","line":10,"updated":"2015-09-01 23:28:17.000000000","message":"From where?","commit_id":"3243fe5bb29030f1aa4da4eab5952650383f4fba"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"e184ec87c239416aac417da4d507ca4ac67c8c41","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix create_cloned_volume source volume id"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes where we are getting the source volume id"},{"line_number":10,"context_line":"from."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7cf3137048d4b46099077402ec76faf20bd66b83"},{"line_number":13,"context_line":"Closes-Bug: 1491175"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da20952f_5f8c2835","line":10,"in_reply_to":"da20952f_df36f8e6","updated":"2015-09-01 23:39:52.000000000","message":"Done","commit_id":"3243fe5bb29030f1aa4da4eab5952650383f4fba"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"cbbab0e57d881b42683e536ebe3653cac14b591e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Walter A. Boring IV \u003cwalter.boring@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-01 16:37:48 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix create_cloned_volume source volume id"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes where we are getting the source volume id"},{"line_number":10,"context_line":"from.  Previously we were reading the source volume id from"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da20952f_9a2bae94","line":7,"updated":"2015-09-02 00:21:56.000000000","message":"Include 3PAR in the title","commit_id":"e50c5ef190edfe263088a5bea423435a16582275"}],"cinder/volume/drivers/san/hp/hp_3par_common.py":[{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"7dc72777690089774b6ad44ef22480a635d8edb6","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_7a4d7ac3","line":1574,"updated":"2015-09-02 00:18:12.000000000","message":"This will break some of the HP 3PAR FC and iSCSI unit tests.\n\nhttps://github.com/openstack/cinder/blob/master/cinder/tests/unit/test_hp3par.py#L1375\n\nThe \u0027src_vref\u0027 dictionary in this unit test and others does not have the \u0027id\u0027 property.","commit_id":"e50c5ef190edfe263088a5bea423435a16582275"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e57535d80072cec0c3afd58a3ef37f0cc230efae","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_dd86e964","line":1574,"updated":"2015-09-02 11:36:17.000000000","message":"-1: I apologize if I\u0027m imagining things, but if source volume has been migrated its name in the backend will not be src_vref[\u0027id\u0027] but src_vref[\u0027_name_id\u0027] since these drivers don\u0027t seem to implement method `update_migrated_volume`, right?","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a89f2954a96c4cddb95c9556d2ad3704dfd215a5","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_48ead0ad","line":1574,"in_reply_to":"da20952f_2569cc25","updated":"2015-09-03 17:08:18.000000000","message":"Me and my communication skills, I mentioned before that yes, you will always have and ID in that field, and your are right there will always be a DB entry for that ID, but the ID you are actually using in your storage backend (not DB) may not be that one.\n\nWhen we migrate a volume, source volume ID (lets call it SVID) will be reused in the DB, and in cases where the driver does not implement `update_migrated_volume` or it is implemented but is not capable of renaming destination volume in the storage backend we end up storing the new volume\u0027s ID (NVID) in _name_id field.\n\nSo if you try to clone that migrated volume you will have (SVID) as src_vref[\u0027id\u0027] but that will not be the ID that was given to the volume in the storage backend, and we will have to look into src_vref[\u0027_name_id\u0027] to find NVID.\n\nAnyway, I don\u0027t really know what you are using the ID for in the storage backend, I just had a quick look at this driver and it looked to me that this situation would create problems for the driver, so I wanted raise the issue, although I may be wrong and you may not be using that ID to locate the volume in the storage backend.","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6493850b72905ef7db9a11e714041837e5c6f207","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_7bf1d7cc","line":1574,"in_reply_to":"da20952f_3b37dfb1","updated":"2015-09-02 17:06:01.000000000","message":"Yes, it will always have an id, but it will not be the id you are using in the storage if you have migrated the volume at least once before.","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"73a17e4e2e3be785465d4a375d83aff6c7db5720","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_99e7dc3f","line":1574,"in_reply_to":"da20952f_48ead0ad","updated":"2015-09-03 17:59:24.000000000","message":"wow.  that is a disaster of a mess.","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"66200f1f76d2fb85c1fbadbd441ea93f28be1051","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_a682d350","line":1574,"in_reply_to":"da20952f_4d88d422","updated":"2015-09-03 09:48:45.000000000","message":"What do you meant it\u0027s a bug in migration?  That is how migration works and how it is supposed to work.  That\u0027s why we have `name_id` property.  But guess you guys are not worried about using migrated volumes for cloning.","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"10fd270f85b1744bcc76206265b19e53a195e8e6","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_4d88d422","line":1574,"in_reply_to":"da20952f_7bf1d7cc","updated":"2015-09-02 18:17:48.000000000","message":"That is outside the scope of create_cloned_volume.   That sounds like a bug in migration, not create_cloned_volume","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"19a23d24faa3287f1fc4f56546ead4fd747111ca","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_6e3bf7d1","line":1574,"in_reply_to":"da20952f_99e7dc3f","updated":"2015-09-04 13:44:28.000000000","message":"Yes, a little bit.  The problem is that the dictionaries we are passing around don\u0027t have the \u0027name_id\u0027 key/property, so the only solution would probably be to use:\n\n src_vref[\u0027_name_id\u0027] or src_vref[\u0027id\u0027]\n\ninstead of\n\n src_vref[\u0027id\u0027]","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"12b1c6a0782953f0fcd8e7d07641b3f92e1642ef","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_2569cc25","line":1574,"in_reply_to":"da20952f_a682d350","updated":"2015-09-03 15:26:19.000000000","message":"how can a volume in the volume table not have an id ?  that makes no sense.\n\nEven the migrate_volume code in the volume manager proves that a volume has an id key and field.  You can\u0027t have a volume object without an id.\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/manager.py#L1636","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9f1084a783f000fd6d37ef2cda7f6cdf6fd4acde","unresolved":false,"context_lines":[{"line_number":1571,"context_line":""},{"line_number":1572,"context_line":"    def create_cloned_volume(self, volume, src_vref):"},{"line_number":1573,"context_line":"        try:"},{"line_number":1574,"context_line":"            orig_name \u003d self._get_3par_vol_name(src_vref[\u0027id\u0027])"},{"line_number":1575,"context_line":"            vol_name \u003d self._get_3par_vol_name(volume[\u0027id\u0027])"},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"            type_info \u003d self.get_volume_settings_from_type(volume)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_3b37dfb1","line":1574,"in_reply_to":"da20952f_dd86e964","updated":"2015-09-02 17:01:46.000000000","message":"the src_vref should always have an \u0027id\u0027.","commit_id":"a56511fd455c0f986781eb9bc437bb779ef278e4"}]}
