)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1ea9e7190d5cc7c3546d852d66929d77f4a83908","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add new share driver method called \u0027get_share_server_pools\u0027"},{"line_number":10,"context_line":"which takes a share server and returns a list of pools."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Share manager call that method for every share server on every stats update"},{"line_number":13,"context_line":"and add mapping to share_stats."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I41041cc247da5e25383c2f3f827d7d96b4347427"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1aca2d91_741a5419","line":12,"updated":"2015-05-06 17:30:00.000000000","message":"s/call/calls/","commit_id":"35bf2dc8fee2a79a0e6ee9154d582cdc4325f193"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1ea9e7190d5cc7c3546d852d66929d77f4a83908","unresolved":false,"context_lines":[{"line_number":10,"context_line":"which takes a share server and returns a list of pools."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Share manager call that method for every share server on every stats update"},{"line_number":13,"context_line":"and add mapping to share_stats."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I41041cc247da5e25383c2f3f827d7d96b4347427"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1aca2d91_34d3bc3a","line":13,"updated":"2015-05-06 17:30:00.000000000","message":"s/add/adds/","commit_id":"35bf2dc8fee2a79a0e6ee9154d582cdc4325f193"},{"author":{"_account_id":7652,"name":"Luis Pabón","email":"lpabon@gmail.com","username":"lpabon"},"change_message_id":"f8b2eaa170b717789c164052d810ec731996a45e","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add new share driver method called \u0027get_share_server_pools\u0027"},{"line_number":10,"context_line":"which takes a share server and returns a list of pools."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Share manager calls that method for every share server on every stats update"},{"line_number":13,"context_line":"and adds mapping to share_stats."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1aca2d91_65c5bb3a","line":11,"updated":"2015-05-07 21:09:09.000000000","message":"It would be nice to include here the benefits of this patch","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"a39a04367913a6ce6a41f33b8d3d405765a24956","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add new share driver method called \u0027get_share_server_pools\u0027"},{"line_number":10,"context_line":"which takes a share server and returns a list of pools."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Share manager calls that method for every share server on every stats update"},{"line_number":13,"context_line":"and adds mapping to share_stats."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1aca2d91_578b83c3","line":11,"in_reply_to":"1aca2d91_65c5bb3a","updated":"2015-05-08 09:44:01.000000000","message":"Done","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"}],"manila/share/driver.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9ffa86c276f62336e238c14de361e1a791f9a8d7","unresolved":false,"context_lines":[{"line_number":419,"context_line":"        self._stats \u003d common"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"    def get_share_server_pools(self, share_server):"},{"line_number":422,"context_line":"        \"\"\"Return list of pools for a particular share server.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1aca2d91_27e8fdb3","line":422,"updated":"2015-05-07 13:26:54.000000000","message":"Docstring says that list will be returned but None is returned indeed.","commit_id":"611860ad05e79b6ab931da5874d38e2a93f00e0e"},{"author":{"_account_id":7652,"name":"Luis Pabón","email":"lpabon@gmail.com","username":"lpabon"},"change_message_id":"f8b2eaa170b717789c164052d810ec731996a45e","unresolved":false,"context_lines":[{"line_number":420,"context_line":""},{"line_number":421,"context_line":"    def get_share_server_pools(self, share_server):"},{"line_number":422,"context_line":"        \"\"\"Return list of pools for a particular share server.\"\"\""},{"line_number":423,"context_line":"        return []"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aca2d91_052f27f7","line":423,"updated":"2015-05-07 21:09:09.000000000","message":"What does returning an empty list do?  This needs comments on what the parameters are and what it is expected to be returned.","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"a39a04367913a6ce6a41f33b8d3d405765a24956","unresolved":false,"context_lines":[{"line_number":420,"context_line":""},{"line_number":421,"context_line":"    def get_share_server_pools(self, share_server):"},{"line_number":422,"context_line":"        \"\"\"Return list of pools for a particular share server.\"\"\""},{"line_number":423,"context_line":"        return []"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aca2d91_97a0fb44","line":423,"in_reply_to":"1aca2d91_052f27f7","updated":"2015-05-08 09:44:01.000000000","message":"This method should be redefined in driver classes because it should be based on a logic of every specific driver. In driver interface just an empty list is returned. \n\nDoc string for this method describes what is expected to be returned here.\n\nAdding a description for parameter share_server seems very useful here, thank you for your comment!","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a9254200ba5a0edcd132d78c50950df348b62ff0","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            common.update(data)"},{"line_number":419,"context_line":"        self._stats \u003d common"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"    def get_share_server_pools(self, share_server):"},{"line_number":422,"context_line":"        \"\"\"Return list of pools related to a particular share server."},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        :param share_server: ShareServer class instance."}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_70968040","line":421,"updated":"2015-05-19 09:14:09.000000000","message":"This is not covered by unit tests. We should, at least, verify its presence.","commit_id":"e7214416f9aaa3c1ec5d0cb083d3b7951459f3aa"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"b15d3691b64659c1874633e9276b4d3421ab75e9","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            common.update(data)"},{"line_number":419,"context_line":"        self._stats \u003d common"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"    def get_share_server_pools(self, share_server):"},{"line_number":422,"context_line":"        \"\"\"Return list of pools related to a particular share server."},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        :param share_server: ShareServer class instance."}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_1323d357","line":421,"in_reply_to":"7a016987_70968040","updated":"2015-05-19 12:23:51.000000000","message":"+1","commit_id":"e7214416f9aaa3c1ec5d0cb083d3b7951459f3aa"}],"manila/share/manager.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9ffa86c276f62336e238c14de361e1a791f9a8d7","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        LOG.info(_LI(\u0027Updating share status\u0027))"},{"line_number":631,"context_line":"        share_stats \u003d self.driver.get_share_stats(refresh\u003dTrue)"},{"line_number":632,"context_line":"        if share_stats:"},{"line_number":633,"context_line":"            if self.driver.driver_handles_share_servers:"},{"line_number":634,"context_line":"                share_servers \u003d self.db.share_server_get_all(context)"},{"line_number":635,"context_line":"                share_stats[\u0027pools\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aca2d91_c7cdc95e","line":633,"updated":"2015-05-07 13:26:54.000000000","message":"It is not covered with unit tests.","commit_id":"611860ad05e79b6ab931da5874d38e2a93f00e0e"},{"author":{"_account_id":7652,"name":"Luis Pabón","email":"lpabon@gmail.com","username":"lpabon"},"change_message_id":"f8b2eaa170b717789c164052d810ec731996a45e","unresolved":false,"context_lines":[{"line_number":632,"context_line":"        if share_stats:"},{"line_number":633,"context_line":"            if self.driver.driver_handles_share_servers:"},{"line_number":634,"context_line":"                share_servers \u003d self.db.share_server_get_all(context)"},{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    pools \u003d self.driver.get_share_server_pools(server)"},{"line_number":638,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d pools"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aca2d91_2596a3f0","line":635,"updated":"2015-05-07 21:09:09.000000000","message":"What happens if share_stats already has a key named \u0027server_pools_mapping\u0027.  Is it expected to never have that key until this point?","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"a39a04367913a6ce6a41f33b8d3d405765a24956","unresolved":false,"context_lines":[{"line_number":632,"context_line":"        if share_stats:"},{"line_number":633,"context_line":"            if self.driver.driver_handles_share_servers:"},{"line_number":634,"context_line":"                share_servers \u003d self.db.share_server_get_all(context)"},{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    pools \u003d self.driver.get_share_server_pools(server)"},{"line_number":638,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d pools"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aca2d91_f72baf92","line":635,"in_reply_to":"1aca2d91_2596a3f0","updated":"2015-05-08 09:44:01.000000000","message":"It seems that share_stats can\u0027t have \u0027server_pool_mapping\u0027 key, please see https://github.com/openstack/manila/blob/master/manila/share/driver.py#L294.","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":7652,"name":"Luis Pabón","email":"lpabon@gmail.com","username":"lpabon"},"change_message_id":"f8b2eaa170b717789c164052d810ec731996a45e","unresolved":false,"context_lines":[{"line_number":633,"context_line":"            if self.driver.driver_handles_share_servers:"},{"line_number":634,"context_line":"                share_servers \u003d self.db.share_server_get_all(context)"},{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    pools \u003d self.driver.get_share_server_pools(server)"},{"line_number":638,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d pools"},{"line_number":639,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1aca2d91_e53b0bea","line":636,"updated":"2015-05-07 21:09:09.000000000","message":"Should add a comment here to understand what the for loop is trying to do.","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"a39a04367913a6ce6a41f33b8d3d405765a24956","unresolved":false,"context_lines":[{"line_number":633,"context_line":"            if self.driver.driver_handles_share_servers:"},{"line_number":634,"context_line":"                share_servers \u003d self.db.share_server_get_all(context)"},{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    pools \u003d self.driver.get_share_server_pools(server)"},{"line_number":638,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d pools"},{"line_number":639,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1aca2d91_f7028f0a","line":636,"in_reply_to":"1aca2d91_e53b0bea","updated":"2015-05-08 09:44:01.000000000","message":"Done","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":7652,"name":"Luis Pabón","email":"lpabon@gmail.com","username":"lpabon"},"change_message_id":"f8b2eaa170b717789c164052d810ec731996a45e","unresolved":false,"context_lines":[{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    pools \u003d self.driver.get_share_server_pools(server)"},{"line_number":638,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d pools"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"            self.update_service_capabilities(share_stats)"},{"line_number":641,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1aca2d91_65213bfb","line":638,"updated":"2015-05-07 21:09:09.000000000","message":"It doesn\u0027t look like the variable \u0027pools\u0027 is needed.","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"a39a04367913a6ce6a41f33b8d3d405765a24956","unresolved":false,"context_lines":[{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    pools \u003d self.driver.get_share_server_pools(server)"},{"line_number":638,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d pools"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"            self.update_service_capabilities(share_stats)"},{"line_number":641,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1aca2d91_37092732","line":638,"in_reply_to":"1aca2d91_65213bfb","updated":"2015-05-08 09:44:01.000000000","message":"Yes, thank you!","commit_id":"ab97ab75d48747a276c7d8c12d6e94636fa0475f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d3eb9218cc653f15a175b8dba620670739025d34","unresolved":false,"context_lines":[{"line_number":634,"context_line":"                share_servers \u003d self.db.share_server_get_all(context)"},{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    # disover information about the relationships between pools"},{"line_number":638,"context_line":"                    # and share_servers."},{"line_number":639,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d \\"},{"line_number":640,"context_line":"                        self.driver.get_share_server_pools(server)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aca2d91_7210cda8","line":637,"updated":"2015-05-08 09:59:24.000000000","message":"s/disover/discover/ ?","commit_id":"5bfce49f7cefa0eab5d0a7b3955d491d5920dbbd"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"cd9c50bd34a581b6da60ec925867a40aaa288fff","unresolved":false,"context_lines":[{"line_number":634,"context_line":"                share_servers \u003d self.db.share_server_get_all(context)"},{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    # disover information about the relationships between pools"},{"line_number":638,"context_line":"                    # and share_servers."},{"line_number":639,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d \\"},{"line_number":640,"context_line":"                        self.driver.get_share_server_pools(server)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aca2d91_92b7e985","line":637,"in_reply_to":"1aca2d91_7210cda8","updated":"2015-05-08 10:13:18.000000000","message":"Sure! Done, thank you.","commit_id":"5bfce49f7cefa0eab5d0a7b3955d491d5920dbbd"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d3eb9218cc653f15a175b8dba620670739025d34","unresolved":false,"context_lines":[{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    # disover information about the relationships between pools"},{"line_number":638,"context_line":"                    # and share_servers."},{"line_number":639,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d \\"},{"line_number":640,"context_line":"                        self.driver.get_share_server_pools(server)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"            self.update_service_capabilities(share_stats)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aca2d91_32237507","line":639,"updated":"2015-05-08 09:59:24.000000000","message":"share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d (\n\n    self.driver.get_share_server_pools(server))","commit_id":"5bfce49f7cefa0eab5d0a7b3955d491d5920dbbd"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"cd9c50bd34a581b6da60ec925867a40aaa288fff","unresolved":false,"context_lines":[{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    # disover information about the relationships between pools"},{"line_number":638,"context_line":"                    # and share_servers."},{"line_number":639,"context_line":"                    share_stats[\u0027server_pools_mapping\u0027][server[\u0027id\u0027]] \u003d \\"},{"line_number":640,"context_line":"                        self.driver.get_share_server_pools(server)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"            self.update_service_capabilities(share_stats)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aca2d91_cd002404","line":639,"in_reply_to":"1aca2d91_32237507","updated":"2015-05-08 10:13:18.000000000","message":"Done","commit_id":"5bfce49f7cefa0eab5d0a7b3955d491d5920dbbd"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"b15d3691b64659c1874633e9276b4d3421ab75e9","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        self.db.share_access_delete(context, access_id)"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"    @manager.periodic_task"},{"line_number":629,"context_line":"    def _report_driver_status(self, context):"},{"line_number":630,"context_line":"        LOG.info(_LI(\u0027Updating share status\u0027))"},{"line_number":631,"context_line":"        share_stats \u003d self.driver.get_share_stats(refresh\u003dTrue)"},{"line_number":632,"context_line":"        if share_stats:"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_9307c3c9","line":629,"updated":"2015-05-19 12:23:51.000000000","message":"You can easily simplify this method:\n\n    @manager.periodic_task\n    def _report_driver_status(self, context):\n        LOG.info(_LI(\u0027Updating share status\u0027))\n        share_stats \u003d self.driver.get_share_stats(refresh\u003dTrue)\n        if not share_stats:\n            return\n\n        if self.driver.driver_handles_share_servers:\n            share_stats[\u0027server_pools_mapping\u0027] \u003d (\n                self._get_servers_pool_mapping()\n            )\n\n        self.update_service_capabilities(share_stats)\n\n    def _get_servers_pool_mapping(self):\n        \"\"\"Get info about relationships between pools and share_servers.\"\"\"\n        share_servers \u003d self.db.share_server_get_by_host(context, self.host) # NOT IMPLEMENTED\n\n        return dict((server[\u0027id\u0027], self.driver.get_share_server_pools(server))\n                    for server in share_servers)","commit_id":"e7214416f9aaa3c1ec5d0cb083d3b7951459f3aa"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a9254200ba5a0edcd132d78c50950df348b62ff0","unresolved":false,"context_lines":[{"line_number":631,"context_line":"        share_stats \u003d self.driver.get_share_stats(refresh\u003dTrue)"},{"line_number":632,"context_line":"        if share_stats:"},{"line_number":633,"context_line":"            if self.driver.driver_handles_share_servers:"},{"line_number":634,"context_line":"                share_servers \u003d self.db.share_server_get_all(context)"},{"line_number":635,"context_line":"                share_stats[\u0027server_pools_mapping\u0027] \u003d {}"},{"line_number":636,"context_line":"                for server in share_servers:"},{"line_number":637,"context_line":"                    # discover information about relationships between pools"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_708fa02a","line":634,"updated":"2015-05-19 09:14:09.000000000","message":"This will take all share servers, but should take only related to host of driver.","commit_id":"e7214416f9aaa3c1ec5d0cb083d3b7951459f3aa"}],"manila/test.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"fcd14eadaeac463ce4868c5ba3540d3bf683c039","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        Automatically performs \u0027addCleanup\u0027 for the mock."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        \"\"\""},{"line_number":196,"context_line":"        if new_attr is None:"},{"line_number":197,"context_line":"            new_attr \u003d mock.Mock()"},{"line_number":198,"context_line":"        patcher \u003d mock.patch.object(obj, attr_name, new_attr, **kwargs)"},{"line_number":199,"context_line":"        patcher.start()"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a016987_c9e9f180","line":196,"updated":"2015-05-29 13:02:59.000000000","message":"Why it was changed?\n\nIf there is real need to change it, then need to do it separately because it is not related directly to the goal of commit.","commit_id":"8ef8c5cf053fda8b82d18dbc38abe28e3ddb3187"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"9e87a4523f9bc2b936dc30412894a1e79b6171c2","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        Automatically performs \u0027addCleanup\u0027 for the mock."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        \"\"\""},{"line_number":196,"context_line":"        if new_attr is None:"},{"line_number":197,"context_line":"            new_attr \u003d mock.Mock()"},{"line_number":198,"context_line":"        patcher \u003d mock.patch.object(obj, attr_name, new_attr, **kwargs)"},{"line_number":199,"context_line":"        patcher.start()"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a016987_4c0de5e6","line":196,"in_reply_to":"7a016987_c9e9f180","updated":"2015-06-01 07:23:37.000000000","message":"This was changed as sometimes we want mocked object to return False. But it was impossible before. I use it for creation mock with return_value\u003dFalse in test_get_share_server_pools form manila/tests/share/test_driver.py. Also this change seems to be useful for further tests creation.","commit_id":"8ef8c5cf053fda8b82d18dbc38abe28e3ddb3187"}],"manila/tests/share/test_driver.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"59967d6bb13f713831e92821d13683e1ee1d97e4","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        assert_is_callable(share_driver, method)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_get_share_server_pools(self):"},{"line_number":204,"context_line":"        share_driver \u003d driver.ShareDriver(True)"},{"line_number":205,"context_line":"        self.assertEqual([],"},{"line_number":206,"context_line":"                         share_driver.get_share_server_pools(\u0027fake_server\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a016987_1e26a116","line":204,"updated":"2015-05-26 17:18:41.000000000","message":"Test case for \"driver.ShareDriver(False)\" is absent.","commit_id":"8aa5ca7b7461616043507002aa6af63192447c40"}],"manila/tests/share/test_manager.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"8e6f1cfa53cac698dd8c73abd4583fefb534dcd8","unresolved":false,"context_lines":[{"line_number":1551,"context_line":"        self.share_manager.driver.get_share_server_pools \u003d mock.Mock("},{"line_number":1552,"context_line":"            return_value\u003dfake_pool)"},{"line_number":1553,"context_line":""},{"line_number":1554,"context_line":"        #       import pdb; pdb.set_trace()"},{"line_number":1555,"context_line":"        self.share_manager._report_driver_status(self.context)"},{"line_number":1556,"context_line":""},{"line_number":1557,"context_line":"        self.share_manager.driver.get_share_stats.assert_called_once_with("}],"source_content_type":"text/x-python","patch_set":4,"id":"1aca2d91_8eba4609","line":1554,"updated":"2015-05-07 15:00:40.000000000","message":"debug left-over","commit_id":"eec0859bfb405afb336d67e16b634f55ef8b6c47"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"b15d3691b64659c1874633e9276b4d3421ab75e9","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"        self.mock_object(self.share_manager, \u0027update_service_capabilities\u0027,"},{"line_number":1525,"context_line":"                         mock.Mock())"},{"line_number":1526,"context_line":"        self.share_manager.driver.driver_handles_share_servers \u003d False"},{"line_number":1527,"context_line":"        self.share_manager.driver.get_share_server_pools \u003d mock.Mock()"},{"line_number":1528,"context_line":""},{"line_number":1529,"context_line":"        self.share_manager._report_driver_status(self.context)"},{"line_number":1530,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_801f676b","line":1527,"updated":"2015-05-19 12:23:51.000000000","message":"It\u0027s redundant line because \u0027self.share_manager.driver\u0027 is MagicMock.","commit_id":"e7214416f9aaa3c1ec5d0cb083d3b7951459f3aa"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a9254200ba5a0edcd132d78c50950df348b62ff0","unresolved":false,"context_lines":[{"line_number":1526,"context_line":"        self.share_manager.driver.driver_handles_share_servers \u003d False"},{"line_number":1527,"context_line":"        self.share_manager.driver.get_share_server_pools \u003d mock.Mock()"},{"line_number":1528,"context_line":""},{"line_number":1529,"context_line":"        self.share_manager._report_driver_status(self.context)"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        self.share_manager.driver.get_share_stats.assert_called_once_with("},{"line_number":1532,"context_line":"            refresh\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_10a62cae","line":1529,"updated":"2015-05-19 09:14:09.000000000","message":"No verification of data that should [not] be updated.","commit_id":"e7214416f9aaa3c1ec5d0cb083d3b7951459f3aa"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"b15d3691b64659c1874633e9276b4d3421ab75e9","unresolved":false,"context_lines":[{"line_number":1528,"context_line":""},{"line_number":1529,"context_line":"        self.share_manager._report_driver_status(self.context)"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        self.share_manager.driver.get_share_stats.assert_called_once_with("},{"line_number":1532,"context_line":"            refresh\u003dTrue)"},{"line_number":1533,"context_line":"        self.assertFalse(db.share_server_get_all.called)"},{"line_number":1534,"context_line":"        self.assertFalse("}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_9328e387","line":1531,"updated":"2015-05-19 12:23:51.000000000","message":"Introduce additional variable at the beginning of this test to make this code more readable and avoid unnecessary hyphenations:\n\ndriver \u003d self.share_manager.driver\n\n# ...\n\ndriver.get_share_stats.assert_called_once_with(refresh\u003dTrue)","commit_id":"e7214416f9aaa3c1ec5d0cb083d3b7951459f3aa"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"b15d3691b64659c1874633e9276b4d3421ab75e9","unresolved":false,"context_lines":[{"line_number":1556,"context_line":"        self.share_manager.driver.get_share_stats.assert_called_once_with("},{"line_number":1557,"context_line":"            refresh\u003dTrue)"},{"line_number":1558,"context_line":"        db.share_server_get_all.assert_called_once_with(self.context)"},{"line_number":1559,"context_line":"        self.share_manager.driver.get_share_server_pools.\\"},{"line_number":1560,"context_line":"            assert_called_once_with(fake_ss)"},{"line_number":1561,"context_line":"        expected_stats \u003d {"},{"line_number":1562,"context_line":"            \u0027field\u0027: \u0027val\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_934fc36a","line":1559,"updated":"2015-05-19 12:23:51.000000000","message":"See my previous comment.","commit_id":"e7214416f9aaa3c1ec5d0cb083d3b7951459f3aa"}]}
