)]}'
{"nova/virt/block_device.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"eb881ce4a456189303e3fd06099f4416c4154b44","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def save(self):"},{"line_number":135,"context_line":"        for attr_name, key_name in self._update_on_save.iteritems():"},{"line_number":136,"context_line":"            lookup_name \u003d key_name or attr_name"},{"line_number":137,"context_line":"            if self[lookup_name] !\u003d getattr(self._bdm_obj, attr_name):"},{"line_number":138,"context_line":"                setattr(self._bdm_obj, attr_name, self[lookup_name])"},{"line_number":139,"context_line":"        self._bdm_obj.save()"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aca2d91_e676ac3d","line":136,"updated":"2015-05-06 17:46:26.000000000","message":"Actually due to this, the second save() called by the decorator will be a no-op and actually never hit the database\n\nsee https://review.openstack.org/#/c/165863/ for more info.","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"dd42dad9bfb8cc343bcfe8af881166f939e33e7e","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                   \u0027mountpoint\u0027: self[\u0027mount_device\u0027]},"},{"line_number":257,"context_line":"                                  context\u003dcontext, instance\u003dinstance)"},{"line_number":258,"context_line":"                    volume_api.terminate_connection(context, volume_id,"},{"line_number":259,"context_line":"                                                    connector)"},{"line_number":260,"context_line":"        self[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        mode \u003d \u0027rw\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_d5abfb73","line":259,"updated":"2015-04-15 15:17:47.000000000","message":"even though volume status is not detached, \nthis info will be saved before this change\n\nafter this change, it\u0027s not saved by default ,is the purpose of the patch? if so , commit message didn\u0027t show this","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"},{"author":{"_account_id":8300,"name":"Abhijeet Malawade","email":"abhijeet.malawade@gmail.com","username":"abhijeet"},"change_message_id":"7771b323501a18117054092ca1936d36466fc7a2","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                   \u0027mountpoint\u0027: self[\u0027mount_device\u0027]},"},{"line_number":257,"context_line":"                                  context\u003dcontext, instance\u003dinstance)"},{"line_number":258,"context_line":"                    volume_api.terminate_connection(context, volume_id,"},{"line_number":259,"context_line":"                                                    connector)"},{"line_number":260,"context_line":"        self[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        mode \u003d \u0027rw\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_dd02756f","line":259,"in_reply_to":"3ab451fb_7fca4b51","updated":"2015-04-17 10:15:44.000000000","message":"Hi jichenjc,\n\nline 265 is added because in case of unshelve instance (with volume attached) there is no need to call \u0027volume_api.attach\u0027 again.\n(Please refer patch :  https://review.openstack.org/#/c/84793/19)","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"3c3ec14755b1ded50bfbecc7410daf2a9f59ceb1","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                   \u0027mountpoint\u0027: self[\u0027mount_device\u0027]},"},{"line_number":257,"context_line":"                                  context\u003dcontext, instance\u003dinstance)"},{"line_number":258,"context_line":"                    volume_api.terminate_connection(context, volume_id,"},{"line_number":259,"context_line":"                                                    connector)"},{"line_number":260,"context_line":"        self[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        mode \u003d \u0027rw\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_23037044","line":259,"in_reply_to":"3ab451fb_98c19831","updated":"2015-04-17 15:03:20.000000000","message":"that\u0027s another story and don\u0027t apply to your commit \nso at least commit message need to be updated \nbut I prefer more analysis before do this change..","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0d91eca479226835b4306487d4e38bb71aa8de0c","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                   \u0027mountpoint\u0027: self[\u0027mount_device\u0027]},"},{"line_number":257,"context_line":"                                  context\u003dcontext, instance\u003dinstance)"},{"line_number":258,"context_line":"                    volume_api.terminate_connection(context, volume_id,"},{"line_number":259,"context_line":"                                                    connector)"},{"line_number":260,"context_line":"        self[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        mode \u003d \u0027rw\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_e3ec7291","line":259,"in_reply_to":"3ab451fb_dd02756f","updated":"2015-04-17 11:13:58.000000000","message":"yes, I just want to know line 260\u0027s change are not saved\nif line 265 didn\u0027t satisfy .so line 270 won\u0027t be called \nand your change remove the save also\n\nbut looks to me we need to save connection_info changed \nat line 260, right?","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"},{"author":{"_account_id":8300,"name":"Abhijeet Malawade","email":"abhijeet.malawade@gmail.com","username":"abhijeet"},"change_message_id":"59242d500a0617b263d74d3ba76e147cd289f827","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                   \u0027mountpoint\u0027: self[\u0027mount_device\u0027]},"},{"line_number":257,"context_line":"                                  context\u003dcontext, instance\u003dinstance)"},{"line_number":258,"context_line":"                    volume_api.terminate_connection(context, volume_id,"},{"line_number":259,"context_line":"                                                    connector)"},{"line_number":260,"context_line":"        self[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        mode \u003d \u0027rw\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_98c19831","line":259,"in_reply_to":"3ab451fb_e3ec7291","updated":"2015-04-17 11:56:27.000000000","message":"IMO If we are not calling \u0027volume_api.attach\u0027, then there is no need to save connection_info.","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"4cdbe4d1c878faceb34dfa98b6db6d8848e2b724","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                   \u0027mountpoint\u0027: self[\u0027mount_device\u0027]},"},{"line_number":257,"context_line":"                                  context\u003dcontext, instance\u003dinstance)"},{"line_number":258,"context_line":"                    volume_api.terminate_connection(context, volume_id,"},{"line_number":259,"context_line":"                                                    connector)"},{"line_number":260,"context_line":"        self[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        mode \u003d \u0027rw\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_7fca4b51","line":259,"in_reply_to":"5aa745d1_7a2fe7a1","updated":"2015-04-16 20:35:53.000000000","message":"I am doubting if the volume status is not \u0027detached\u0027 at line 265\n\nwe used to save it through the decorator\nbut your change will make that not happen\n\nif it\u0027s by purpose, I think we need to address it in commit msg?","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"},{"author":{"_account_id":8300,"name":"Abhijeet Malawade","email":"abhijeet.malawade@gmail.com","username":"abhijeet"},"change_message_id":"a4841b699730b6d75f86fc62ce56956eded593a9","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                   \u0027mountpoint\u0027: self[\u0027mount_device\u0027]},"},{"line_number":257,"context_line":"                                  context\u003dcontext, instance\u003dinstance)"},{"line_number":258,"context_line":"                    volume_api.terminate_connection(context, volume_id,"},{"line_number":259,"context_line":"                                                    connector)"},{"line_number":260,"context_line":"        self[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        mode \u003d \u0027rw\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aa745d1_7a2fe7a1","line":259,"in_reply_to":"7aaa499b_d5abfb73","updated":"2015-04-16 09:35:39.000000000","message":"Hi jichenjc,\n\nWhen volume is attached to instance, \u0027save\u0027 method is getting called two times.\n\nFirst it is getting called from line no #270, and again after called from \u0027update_db\u0027 decorator. So here \u0027save\u0027 method is getting called two times. For second save method call it will not update database as there is no change in \u0027connection_info\u0027.\n\nWith this change \u0027save\u0027 method will be called only once for attach api.","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"dd42dad9bfb8cc343bcfe8af881166f939e33e7e","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        try:"},{"line_number":294,"context_line":"            connection_info_string \u003d jsonutils.dumps("},{"line_number":295,"context_line":"                self.get(\u0027connection_info\u0027))"},{"line_number":296,"context_line":"            if connection_info_string !\u003d self._bdm_obj.connection_info:"},{"line_number":297,"context_line":"                self._bdm_obj.connection_info \u003d connection_info_string"},{"line_number":298,"context_line":"        except TypeError:"},{"line_number":299,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_9591f349","line":296,"updated":"2015-04-15 15:17:47.000000000","message":"here, we saved connection info","commit_id":"5b2323d9bbea892b3b9491ea1ab8d3864f01f604"}]}
