)]}'
{"nova/compute/api.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"87718def493713c5f8696352e823d1795f4db867","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":515,"context_line":"                    for instance_uuid in instance_uuids:"},{"line_number":516,"context_line":"                        self.db.instance_destroy(context,"},{"line_number":517,"context_line":"                                instance_uuid)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"            completed \u003d True"},{"line_number":520,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F%2Brc%3D","line":517,"updated":"2012-10-23 17:34:26.000000000","message":"don\u0027t we need a rollback here as well? We are deleting the db entry but completed \u003d\u003d False","commit_id":"3e648cb56b4def2c7f4a63716c262f265f09697c"},{"author":{"_account_id":2799,"name":"Andy McCrae","email":"andy.mccrae@googlemail.com","username":"andrew-mccrae"},"change_message_id":"278fa546a66eeaea4eac4e55add515341117a593","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":515,"context_line":"                    for instance_uuid in instance_uuids:"},{"line_number":516,"context_line":"                        self.db.instance_destroy(context,"},{"line_number":517,"context_line":"                                instance_uuid)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"            completed \u003d True"},{"line_number":520,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F%2BdA%3D","line":517,"in_reply_to":"AAAALn%2F%2F%2Brc%3D","updated":"2012-10-23 20:07:08.000000000","message":"We\u0027ll need the rollback if we move away from the boolean which I agree is probably best","commit_id":"3e648cb56b4def2c7f4a63716c262f265f09697c"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"79837d837d6ecad7d47364c500c53d8d3c62a67b","unresolved":false,"context_lines":[{"line_number":519,"context_line":"            completed \u003d True"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"        # If we didn\u0027t complete the creation roll back."},{"line_number":522,"context_line":"        finally:"},{"line_number":523,"context_line":"            if completed \u003d\u003d False:"},{"line_number":524,"context_line":"                QUOTAS.rollback(context, quota_reservations)"},{"line_number":525,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F%2BsI%3D","line":522,"updated":"2012-10-23 17:29:09.000000000","message":"why not forget the boolean flag and use:\nexcept Exception:\n  with excutils.save_and_reraise_exception():\n    QUOTAS.rollback(context, quota_reservations)","commit_id":"3e648cb56b4def2c7f4a63716c262f265f09697c"},{"author":{"_account_id":2799,"name":"Andy McCrae","email":"andy.mccrae@googlemail.com","username":"andrew-mccrae"},"change_message_id":"ab5031fd666beef2f6c2b1c6acca7ca91c2f68da","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        try:"},{"line_number":400,"context_line":"            instances \u003d []"},{"line_number":401,"context_line":"            instance_uuids \u003d []"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"            self._check_metadata_properties_quota(context, metadata)"},{"line_number":404,"context_line":"            self._check_injected_file_quota(context, injected_files)"},{"line_number":405,"context_line":"            self._check_requested_networks(context, requested_networks)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALn%2F%2F920%3D","line":402,"updated":"2012-10-24 13:38:02.000000000","message":"I had to add the instances/instance_uuids declaration here to avoid Unbound variables in the except clause. I\u0027m not sure if there is a better way to do this.","commit_id":"49eca4f8309cebb1e083a06b17b002bb843ad0ab"},{"author":{"_account_id":2799,"name":"Andy McCrae","email":"andy.mccrae@googlemail.com","username":"andrew-mccrae"},"change_message_id":"ab5031fd666beef2f6c2b1c6acca7ca91c2f68da","unresolved":false,"context_lines":[{"line_number":515,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":516,"context_line":"                try:"},{"line_number":517,"context_line":"                    for instance_uuid in instance_uuids:"},{"line_number":518,"context_line":"                        self.db.instance_destroy(context, instance_uuid)"},{"line_number":519,"context_line":"                finally:"},{"line_number":520,"context_line":"                    QUOTAS.rollback(context, quota_reservations)"},{"line_number":521,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALn%2F%2F92s%3D","line":518,"updated":"2012-10-24 13:38:02.000000000","message":"I\u0027ve added the db cleanup to the overall exception - this won\u0027t take place if the db is not there to be destroyed - and prevents the need for 2 \"except Exception: with excutils\" stanzas as before.","commit_id":"49eca4f8309cebb1e083a06b17b002bb843ad0ab"}]}
