)]}'
{"cinder/volume/drivers/nfs.py":[{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"777682494e3ac34db58d6257ac44294a09951f19","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    def create_volume(self, volume):"},{"line_number":63,"context_line":"        \"\"\"Creates a volume\"\"\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        self._ensure_shares_mounted()"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        volume[\u0027provider_location\u0027] \u003d self._find_share(volume[\u0027size\u0027])"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B%2FsA%3D","line":65,"updated":"2013-02-12 05:40:50.000000000","message":"Method non-existent in this class. Is in subclass NFSDriver","commit_id":"5fb0e200b3aa19a14e72f54d79f23142a5705fc8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"08a9655a581d5f6deb02ccdb3bbae30d59fb1b93","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    def create_volume(self, volume):"},{"line_number":63,"context_line":"        \"\"\"Creates a volume\"\"\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        self._ensure_shares_mounted()"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        volume[\u0027provider_location\u0027] \u003d self._find_share(volume[\u0027size\u0027])"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B7gw%3D","line":65,"in_reply_to":"AAAAM3%2F%2B%2FsA%3D","updated":"2013-02-14 02:13:54.000000000","message":"These methods are implemented by NFSDriver and GlusterfsDriver (in review 21342), with the outer create/delete operations here to reduce code duplication for those similar drivers.  This doesn\u0027t cause a problem does it?","commit_id":"5fb0e200b3aa19a14e72f54d79f23142a5705fc8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"81cca3f1ce3eddae38d3f32c52fd81f17bf3ffdd","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    def create_volume(self, volume):"},{"line_number":63,"context_line":"        \"\"\"Creates a volume\"\"\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        self._ensure_shares_mounted()"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        volume[\u0027provider_location\u0027] \u003d self._find_share(volume[\u0027size\u0027])"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B6l8%3D","line":65,"in_reply_to":"AAAAM3%2F%2B7M8%3D","updated":"2013-02-14 16:27:13.000000000","message":"I\u0027m ok with this.  I\u0027ll split them back out into the NFS and GlusterFS classes.  I was trying to share as much code as possible here but I agree that it is a little weird.","commit_id":"5fb0e200b3aa19a14e72f54d79f23142a5705fc8"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"4be6cd838a22dc546840617147144169464d9c08","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    def create_volume(self, volume):"},{"line_number":63,"context_line":"        \"\"\"Creates a volume\"\"\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        self._ensure_shares_mounted()"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        volume[\u0027provider_location\u0027] \u003d self._find_share(volume[\u0027size\u0027])"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B7M8%3D","line":65,"in_reply_to":"AAAAM3%2F%2B7gw%3D","updated":"2013-02-14 07:02:54.000000000","message":"I would prefer if the outer method: create_volume, etc, would just raise NotImplementedError(), instead of the way it is now. I know it doesnt cause problem, but it makes the code less readable, and also doesnt look good too in my opinion. Even if we decide to have it this way (which I would not be liking much), we\u0027d need some comments which tell that dont look for these defs in this or the parent driver, but in the subclasses :)","commit_id":"5fb0e200b3aa19a14e72f54d79f23142a5705fc8"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"777682494e3ac34db58d6257ac44294a09951f19","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        volume[\u0027provider_location\u0027] \u003d self._find_share(volume[\u0027size\u0027])"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        LOG.info(_(\u0027casted to %s\u0027) % volume[\u0027provider_location\u0027])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        self._do_create_volume(volume)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        return {\u0027provider_location\u0027: volume[\u0027provider_location\u0027]}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B%2Fr4%3D","line":70,"updated":"2013-02-12 05:40:50.000000000","message":"Method non-existent in this class. Is in subclass NFSDriver","commit_id":"5fb0e200b3aa19a14e72f54d79f23142a5705fc8"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"777682494e3ac34db58d6257ac44294a09951f19","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def ensure_export(self, ctx, volume):"},{"line_number":97,"context_line":"        \"\"\"Synchronously recreates an export for a logical volume.\"\"\""},{"line_number":98,"context_line":"        self._ensure_share_mounted(volume[\u0027provider_location\u0027])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def _create_sparsed_file(self, path, size):"},{"line_number":101,"context_line":"        \"\"\"Creates file with 0 disk usage\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B%2Fr0%3D","line":98,"updated":"2013-02-12 05:40:50.000000000","message":"Method non-existent in this class. Is in subclass NFSDriver","commit_id":"5fb0e200b3aa19a14e72f54d79f23142a5705fc8"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"1add25f4eebafde09ce22d55b8d5adda5d4ccce3","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    \"\"\"Common base for drivers that work like NFS.\"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def check_for_setup_error(self):"},{"line_number":59,"context_line":"        \"\"\"Just to override parent behavior\"\"\""},{"line_number":60,"context_line":"        pass"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def create_volume(self, volume):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B5Aw%3D","line":59,"updated":"2013-02-15 12:53:04.000000000","message":"Single-line docstrings should end with period, else it creates problem while generating docs.","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2776f7f223316baabcf12a7893790d012e285215","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    \"\"\"Common base for drivers that work like NFS.\"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def check_for_setup_error(self):"},{"line_number":59,"context_line":"        \"\"\"Just to override parent behavior\"\"\""},{"line_number":60,"context_line":"        pass"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def create_volume(self, volume):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B49g%3D","line":59,"in_reply_to":"AAAAM3%2F%2B5Aw%3D","updated":"2013-02-15 13:30:58.000000000","message":"Done","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"1add25f4eebafde09ce22d55b8d5adda5d4ccce3","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        raise NotImplementedError()"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def _create_sparsed_file(self, path, size):"},{"line_number":72,"context_line":"        \"\"\"Creates file with 0 disk usage\"\"\""},{"line_number":73,"context_line":"        self._execute(\u0027truncate\u0027, \u0027-s\u0027, \u0027%sG\u0027 % size,"},{"line_number":74,"context_line":"                      path, run_as_root\u003dTrue)"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B5As%3D","line":72,"updated":"2013-02-15 12:53:04.000000000","message":"Single-line docstrings should end with period, else it creates problem while generating docs.","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2776f7f223316baabcf12a7893790d012e285215","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        raise NotImplementedError()"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def _create_sparsed_file(self, path, size):"},{"line_number":72,"context_line":"        \"\"\"Creates file with 0 disk usage\"\"\""},{"line_number":73,"context_line":"        self._execute(\u0027truncate\u0027, \u0027-s\u0027, \u0027%sG\u0027 % size,"},{"line_number":74,"context_line":"                      path, run_as_root\u003dTrue)"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B49c%3D","line":72,"in_reply_to":"AAAAM3%2F%2B5As%3D","updated":"2013-02-15 13:30:58.000000000","message":"Done","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"1add25f4eebafde09ce22d55b8d5adda5d4ccce3","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                      path, run_as_root\u003dTrue)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _create_regular_file(self, path, size):"},{"line_number":77,"context_line":"        \"\"\"Creates regular file of given size. Takes a lot of time for large"},{"line_number":78,"context_line":"        files\"\"\""},{"line_number":79,"context_line":"        KB \u003d 1024"},{"line_number":80,"context_line":"        MB \u003d KB * 1024"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B5Ao%3D","line":77,"updated":"2013-02-15 12:53:04.000000000","message":"Single-line docstrings should end with period, else it creates problem while generating docs.","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2776f7f223316baabcf12a7893790d012e285215","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                      path, run_as_root\u003dTrue)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _create_regular_file(self, path, size):"},{"line_number":77,"context_line":"        \"\"\"Creates regular file of given size. Takes a lot of time for large"},{"line_number":78,"context_line":"        files\"\"\""},{"line_number":79,"context_line":"        KB \u003d 1024"},{"line_number":80,"context_line":"        MB \u003d KB * 1024"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B49Y%3D","line":77,"in_reply_to":"AAAAM3%2F%2B5Ao%3D","updated":"2013-02-15 13:30:58.000000000","message":"Done","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2776f7f223316baabcf12a7893790d012e285215","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                      run_as_root\u003dTrue)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def _set_rw_permissions_for_all(self, path):"},{"line_number":92,"context_line":"        \"\"\"Sets 666 permissions for the path\"\"\""},{"line_number":93,"context_line":"        self._execute(\u0027chmod\u0027, \u0027ugo+rw\u0027, path, run_as_root\u003dTrue)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def local_path(self, volume):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B49M%3D","line":92,"updated":"2013-02-15 13:30:58.000000000","message":"This one too.","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"1add25f4eebafde09ce22d55b8d5adda5d4ccce3","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                            volume[\u0027name\u0027])"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def _path_exists(self, path):"},{"line_number":104,"context_line":"        \"\"\"Check given path \"\"\""},{"line_number":105,"context_line":"        try:"},{"line_number":106,"context_line":"            self._execute(\u0027stat\u0027, path, run_as_root\u003dTrue)"},{"line_number":107,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B5Ak%3D","line":104,"updated":"2013-02-15 12:53:04.000000000","message":"Single-line docstrings should end with period, else it creates problem while generating docs.\nAlso, space at the end of docstring.","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2776f7f223316baabcf12a7893790d012e285215","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                            volume[\u0027name\u0027])"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def _path_exists(self, path):"},{"line_number":104,"context_line":"        \"\"\"Check given path \"\"\""},{"line_number":105,"context_line":"        try:"},{"line_number":106,"context_line":"            self._execute(\u0027stat\u0027, path, run_as_root\u003dTrue)"},{"line_number":107,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B49U%3D","line":104,"in_reply_to":"AAAAM3%2F%2B5Ak%3D","updated":"2013-02-15 13:30:58.000000000","message":"Done","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"1add25f4eebafde09ce22d55b8d5adda5d4ccce3","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                raise"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def _get_hash_str(self, base_str):"},{"line_number":115,"context_line":"        \"\"\"returns string that represents hash of base_str (in a hex format)\"\"\""},{"line_number":116,"context_line":"        return hashlib.md5(base_str).hexdigest()"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B5Ac%3D","line":115,"updated":"2013-02-15 12:53:04.000000000","message":"I remember I am the culprit here. I wrote this docstring. Would be nice if you can correct this (period at end).","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2776f7f223316baabcf12a7893790d012e285215","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                raise"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def _get_hash_str(self, base_str):"},{"line_number":115,"context_line":"        \"\"\"returns string that represents hash of base_str (in a hex format)\"\"\""},{"line_number":116,"context_line":"        return hashlib.md5(base_str).hexdigest()"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B49Q%3D","line":115,"in_reply_to":"AAAAM3%2F%2B5Ac%3D","updated":"2013-02-15 13:30:58.000000000","message":"Done","commit_id":"1bf41fe9d48482da83c9433275c48bbde195f173"}]}
