)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix SG interface to reflect the reality"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The signitures of abstract methods in SecurityGroupPluginBase"},{"line_number":10,"context_line":"has diverged from db mixin implementation."},{"line_number":11,"context_line":"This patch updates the methods to fix the divergence."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAM3%2F%2FCLM%3D","line":9,"updated":"2013-02-10 16:08:58.000000000","message":"signitures -\u003e signatures","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"}],"quantum/extensions/securitygroup.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"9780587988a9b8bb8b70261ce654e33e83c01bff","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            return {}"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"class SecurityGroupPluginBase(object):"},{"line_number":318,"context_line":"    @abstractmethod"},{"line_number":319,"context_line":"    def create_security_group(self, context, security_group, default_sg\u003dFalse):"},{"line_number":320,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FET8%3D","line":317,"updated":"2013-02-08 05:12:42.000000000","message":"__metaclass__ \u003d abc.ABCMeta\n\nNeeds to be added too.  That is why errors were not thrown for plugins missing update_security_group which was never implemented.","commit_id":"b4b160748651257e97c2a104df67e80fa3ec03a3"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from abc import abstractmethod"},{"line_number":19,"context_line":"from abc import ABCMeta"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from quantum.api import extensions"},{"line_number":22,"context_line":"from quantum.api.v2 import attributes as attr"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FDoY%3D","line":19,"updated":"2013-02-08 18:14:57.000000000","message":"This line should be L17","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"},{"author":{"_account_id":1935,"name":"Tomoe Sugihara","email":"tomoe.sugihara@gmail.com","username":"tomoe"},"unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from abc import abstractmethod"},{"line_number":19,"context_line":"from abc import ABCMeta"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from quantum.api import extensions"},{"line_number":22,"context_line":"from quantum.api.v2 import attributes as attr"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FCQQ%3D","line":19,"in_reply_to":"AAAAM3%2F%2FDoY%3D","updated":"2013-02-10 13:13:14.000000000","message":"Thanks, will change.","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"b1192db7805cfa21a18147416dd636f25e2f32a1","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    __metaclass__ \u003d ABCMeta"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"    @abstractmethod"},{"line_number":322,"context_line":"    def create_security_group(self, context, security_group, default_sg\u003dFalse):"},{"line_number":323,"context_line":"        pass"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    @abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FDRI%3D","line":322,"updated":"2013-02-09 05:26:54.000000000","message":"nit: imo i don\u0027t think think we should add default_sg here. Instead we should change how this function works perhaps if you want to remove that so it doesn\u0027t call it\u0027s self recursively.","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"},{"author":{"_account_id":1935,"name":"Tomoe Sugihara","email":"tomoe.sugihara@gmail.com","username":"tomoe"},"unresolved":false,"context_lines":[{"line_number":319,"context_line":"    __metaclass__ \u003d ABCMeta"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"    @abstractmethod"},{"line_number":322,"context_line":"    def create_security_group(self, context, security_group, default_sg\u003dFalse):"},{"line_number":323,"context_line":"        pass"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    @abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FCQM%3D","line":322,"in_reply_to":"AAAAM3%2F%2FDRI%3D","updated":"2013-02-10 13:13:14.000000000","message":"I agree. I\u0027m leaving it as is here.","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"b1192db7805cfa21a18147416dd636f25e2f32a1","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        pass"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    @abstractmethod"},{"line_number":334,"context_line":"    def get_security_group(self, context, id, fields\u003dNone, tenant_id\u003dNone):"},{"line_number":335,"context_line":"        pass"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    @abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FDRM%3D","line":334,"updated":"2013-02-09 05:26:54.000000000","message":"I don\u0027t think we should add tenant_id here either.","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"},{"author":{"_account_id":1935,"name":"Tomoe Sugihara","email":"tomoe.sugihara@gmail.com","username":"tomoe"},"unresolved":false,"context_lines":[{"line_number":331,"context_line":"        pass"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    @abstractmethod"},{"line_number":334,"context_line":"    def get_security_group(self, context, id, fields\u003dNone, tenant_id\u003dNone):"},{"line_number":335,"context_line":"        pass"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    @abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FCQI%3D","line":334,"in_reply_to":"AAAAM3%2F%2FDRM%3D","updated":"2013-02-10 13:13:14.000000000","message":"Ditto.","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":339,"context_line":"        pass"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    @abstractmethod"},{"line_number":342,"context_line":"    def delete_security_group_rule(self, context, sgrid):"},{"line_number":343,"context_line":"        pass"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    @abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FCLQ%3D","line":342,"updated":"2013-02-10 16:08:58.000000000","message":"It would be better to change sgrid to id if you want the consistency of the parameter names (since you changed security_group parameter to \u0027id\u0027 in delete_security_group).","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"},{"author":{"_account_id":1935,"name":"Tomoe Sugihara","email":"tomoe.sugihara@gmail.com","username":"tomoe"},"unresolved":false,"context_lines":[{"line_number":339,"context_line":"        pass"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    @abstractmethod"},{"line_number":342,"context_line":"    def delete_security_group_rule(self, context, sgrid):"},{"line_number":343,"context_line":"        pass"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    @abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FCKo%3D","line":342,"in_reply_to":"AAAAM3%2F%2FCLQ%3D","updated":"2013-02-10 16:50:32.000000000","message":"Actually, I changed signatures here so they look the same as the ones in DB mixin. Here I left as is since the DB mix in has sgrid. So Should I change it to \"id\" here and DB mixin as well?","commit_id":"1b59cd477ce6671fbcb08d7c9822ad3cbc1eb5de"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"b1192db7805cfa21a18147416dd636f25e2f32a1","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        pass"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    @abstractmethod"},{"line_number":342,"context_line":"    def delete_security_group_rule(self, context, id):"},{"line_number":343,"context_line":"        pass"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    @abstractmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1Tc%3D","line":342,"updated":"2013-02-18 06:45:36.000000000","message":"if you change this line will you also update quantum/db/securitygroups_db.py to pass id instead of sgrid.","commit_id":"29fe16b470ecbd485c05c4db1a2a1b1bec41e1af"}]}
