)]}'
{"cinder/tests/unit/test_nfs.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"7e68948e6dc64b321ae6edc2725ea37705e8dc58","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"                         mock.sentinel.diff,"},{"line_number":1322,"context_line":"                         mock.sentinel.host)"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        self.assertEqual(ret, (False, None))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_7bf0f8c9","line":1324,"updated":"2015-07-31 09:24:41.000000000","message":"Argument order is expected and actual","commit_id":"435b4ddbc6271b279b208fe9f88fedd9ae8b76de"}],"cinder/volume/driver.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"e0c23198571e69ea5772455bb6fa97f03714be0d","unresolved":false,"context_lines":[{"line_number":923,"context_line":"        pass"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":926,"context_line":"        return False, None"},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"    # #######  Interface methods for DataPath (Connector) ########"},{"line_number":929,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_581ee15f","line":926,"updated":"2015-08-12 16:32:30.000000000","message":"Since you seemed to understand this multi-class strategy better and were a advocate for it maybe you understand this better.\n\nI\u0027m confused why you would put this in the base class and leave the meta retype class... because now this just means that you get it for free, regardless.  In other words the abc retype class now does nothing, because everything gets this default that returns \"False, None\" and it\u0027s considered implemented?","commit_id":"be80b157aee560d0b80fc2e244642f96389f702c"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"8def36f034eae5da624fa240a18014322884dbe3","unresolved":false,"context_lines":[{"line_number":923,"context_line":"        pass"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":926,"context_line":"        return False, None"},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"    # #######  Interface methods for DataPath (Connector) ########"},{"line_number":929,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_71f17300","line":926,"in_reply_to":"1a4dcd0f_0ca7bea7","updated":"2015-08-12 19:42:09.000000000","message":"Yeah, so I\u0027m fully in favor of that, my problem was that by not doing it in the patch with the addition of the implementation in the base class it\u0027s kind of just hacking around the check... that\u0027s all.\n\nI\u0027m fully supportive of the change, and now you\u0027ve posted a second change that finishes it by removing the abstract class.  That seems great to me, if they were in the same patch that would be really clear in terms of the intent and it wouldn\u0027t look like a short-circuit around the abstract check.","commit_id":"be80b157aee560d0b80fc2e244642f96389f702c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a7d5328bbedcc92cadbe4020c1e6d5c48d2a89b7","unresolved":false,"context_lines":[{"line_number":923,"context_line":"        pass"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":926,"context_line":"        return False, None"},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"    # #######  Interface methods for DataPath (Connector) ########"},{"line_number":929,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_d89d1167","line":926,"in_reply_to":"1a4dcd0f_581ee15f","updated":"2015-08-12 16:39:30.000000000","message":"This patch, if anything, probably argues that RetypeVD shouldn\u0027t be a separate class.\n\nBut, currently RetypeVD exists, and this is a minimal change to fix drivers which are currently broken because the actual expectation of our code is that this method exists for all drivers.\n\nI think we should remove the RetypeVD class, but I\u0027m aiming at a minimal fix because the NFS driver is currently badly broken and that needs to be remedied somehow regardless of the ultimate design of abc classes.","commit_id":"be80b157aee560d0b80fc2e244642f96389f702c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"65116c3302b675dc419d773ecb947306b7cf6471","unresolved":false,"context_lines":[{"line_number":923,"context_line":"        pass"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":926,"context_line":"        return False, None"},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"    # #######  Interface methods for DataPath (Connector) ########"},{"line_number":929,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_0ca7bea7","line":926,"in_reply_to":"1a4dcd0f_6c6c42d0","updated":"2015-08-12 17:03:25.000000000","message":"I think we\u0027re all in favor of removing it, I\u0027m just not sure it\u0027s as easy to review and land a patch that pokes a handful of drivers... this intermediate step is also useful.  I\u0027ll work on a follow-up patch to do that.","commit_id":"be80b157aee560d0b80fc2e244642f96389f702c"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e0a80fb892748d03dad4e555396b63eff9e9c002","unresolved":false,"context_lines":[{"line_number":923,"context_line":"        pass"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":926,"context_line":"        return False, None"},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"    # #######  Interface methods for DataPath (Connector) ########"},{"line_number":929,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_6c6c42d0","line":926,"in_reply_to":"1a4dcd0f_d89d1167","updated":"2015-08-12 16:54:12.000000000","message":"I would be in favor of removing the RetypeVD. Unless there is some value in having it to be able to inspect and optimize operations based on whether or not the driver implements RetypeVD or not.","commit_id":"be80b157aee560d0b80fc2e244642f96389f702c"}]}
