)]}'
{"manila/share/drivers/helpers.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f439ab964b727162030dc5452f2ce52310f1e9e8","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        # Use one of these for creation of export location for service needs."},{"line_number":116,"context_line":"        service_address \u003d server.get(\"admin_ip\", server.get(\"ip\"))"},{"line_number":117,"context_line":"        if service_address:"},{"line_number":118,"context_line":"            pairs.append((service_address, True))"},{"line_number":119,"context_line":"        for ip, is_admin in pairs:"},{"line_number":120,"context_line":"            export_locations.append({"},{"line_number":121,"context_line":"                \"path\": export_location_template % ip,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f201791_f3601935","line":118,"range":{"start_line":118,"start_character":24,"end_line":118,"end_character":49},"updated":"2017-06-22 02:45:20.000000000","message":"Redundant bracket","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"3853e4df9ebcf01b8a08e6382abc0febe740c042","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        # Use one of these for creation of export location for service needs."},{"line_number":116,"context_line":"        service_address \u003d server.get(\"admin_ip\", server.get(\"ip\"))"},{"line_number":117,"context_line":"        if service_address:"},{"line_number":118,"context_line":"            pairs.append((service_address, True))"},{"line_number":119,"context_line":"        for ip, is_admin in pairs:"},{"line_number":120,"context_line":"            export_locations.append({"},{"line_number":121,"context_line":"                \"path\": export_location_template % ip,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f201791_552b2d93","line":118,"range":{"start_line":118,"start_character":24,"end_line":118,"end_character":49},"in_reply_to":"5f201791_261f6d6d","updated":"2017-06-22 07:42:23.000000000","message":"Yes, you are right, I missed it.","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"0d3f517ab0848fb7faeab1446532c21e7e48125a","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        # Use one of these for creation of export location for service needs."},{"line_number":116,"context_line":"        service_address \u003d server.get(\"admin_ip\", server.get(\"ip\"))"},{"line_number":117,"context_line":"        if service_address:"},{"line_number":118,"context_line":"            pairs.append((service_address, True))"},{"line_number":119,"context_line":"        for ip, is_admin in pairs:"},{"line_number":120,"context_line":"            export_locations.append({"},{"line_number":121,"context_line":"                \"path\": export_location_template % ip,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f201791_261f6d6d","line":118,"range":{"start_line":118,"start_character":24,"end_line":118,"end_character":49},"in_reply_to":"5f201791_f3601935","updated":"2017-06-22 03:44:46.000000000","message":"The extra parentheses are required, because they create a tuple which gets appended to the list.","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"}],"manila/share/drivers/lvm.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"535c4c081f61ab9ba3a8fd78fa43964fafda03c9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"               help\u003d\u0027Base folder where exported shares are located.\u0027),"},{"line_number":42,"context_line":"    cfg.StrOpt(\u0027lvm_share_export_ip\u0027,"},{"line_number":43,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":44,"context_line":"               deprecated_reason\u003d\u0027Use lvm_share_export_ips instead\u0027,"},{"line_number":45,"context_line":"               help\u003d\u0027IP to be added to export string.\u0027),"},{"line_number":46,"context_line":"    cfg.ListOpt(\u0027lvm_share_export_ips\u0027,"},{"line_number":47,"context_line":"                help\u003d\u0027List of IPs to export shares.\u0027),"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f1d235d_e98c2fd8","line":44,"range":{"start_line":44,"start_character":65,"end_line":44,"end_character":67},"updated":"2017-07-05 18:23:33.000000000","message":"s/d\u0027/d.\u0027/","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"810ba8bc74045569e949b1b23770674dc6df0920","unresolved":false,"context_lines":[{"line_number":41,"context_line":"               help\u003d\u0027Base folder where exported shares are located.\u0027),"},{"line_number":42,"context_line":"    cfg.StrOpt(\u0027lvm_share_export_ip\u0027,"},{"line_number":43,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":44,"context_line":"               deprecated_reason\u003d\u0027Use lvm_share_export_ips instead\u0027,"},{"line_number":45,"context_line":"               help\u003d\u0027IP to be added to export string.\u0027),"},{"line_number":46,"context_line":"    cfg.ListOpt(\u0027lvm_share_export_ips\u0027,"},{"line_number":47,"context_line":"                help\u003d\u0027List of IPs to export shares.\u0027),"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f1a1f67_9f0a2988","line":44,"range":{"start_line":44,"start_character":65,"end_line":44,"end_character":67},"in_reply_to":"3f1d235d_e98c2fd8","updated":"2017-07-12 18:04:19.000000000","message":"Done","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f439ab964b727162030dc5452f2ce52310f1e9e8","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        if (self.configuration.lvm_share_export_ip and"},{"line_number":80,"context_line":"                self.configuration.lvm_share_export_ips):"},{"line_number":81,"context_line":"            msg \u003d (_(\"only one of lvm_share_export_ip or lvm_share_export_ips\""},{"line_number":82,"context_line":"                     \" may be specified\"))"},{"line_number":83,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":84,"context_line":"        if not (self.configuration.lvm_share_export_ip or"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f201791_73e1a99a","line":81,"range":{"start_line":81,"start_character":22,"end_line":81,"end_character":23},"updated":"2017-06-22 02:45:20.000000000","message":"nit  s/o/O","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"810ba8bc74045569e949b1b23770674dc6df0920","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        if (self.configuration.lvm_share_export_ip and"},{"line_number":80,"context_line":"                self.configuration.lvm_share_export_ips):"},{"line_number":81,"context_line":"            msg \u003d (_(\"only one of lvm_share_export_ip or lvm_share_export_ips\""},{"line_number":82,"context_line":"                     \" may be specified\"))"},{"line_number":83,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":84,"context_line":"        if not (self.configuration.lvm_share_export_ip or"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f1a1f67_5f04917b","line":81,"range":{"start_line":81,"start_character":22,"end_line":81,"end_character":23},"in_reply_to":"5f201791_73e1a99a","updated":"2017-07-12 18:04:19.000000000","message":"Done","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"535c4c081f61ab9ba3a8fd78fa43964fafda03c9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        if (self.configuration.lvm_share_export_ip and"},{"line_number":80,"context_line":"                self.configuration.lvm_share_export_ips):"},{"line_number":81,"context_line":"            msg \u003d (_(\"only one of lvm_share_export_ip or lvm_share_export_ips\""},{"line_number":82,"context_line":"                     \" may be specified\"))"},{"line_number":83,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":84,"context_line":"        if not (self.configuration.lvm_share_export_ip or"},{"line_number":85,"context_line":"                self.configuration.lvm_share_export_ips):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f1d235d_e9a54f48","line":82,"range":{"start_line":82,"start_character":38,"end_line":82,"end_character":40},"updated":"2017-07-05 18:23:33.000000000","message":"period","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"810ba8bc74045569e949b1b23770674dc6df0920","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        if (self.configuration.lvm_share_export_ip and"},{"line_number":80,"context_line":"                self.configuration.lvm_share_export_ips):"},{"line_number":81,"context_line":"            msg \u003d (_(\"only one of lvm_share_export_ip or lvm_share_export_ips\""},{"line_number":82,"context_line":"                     \" may be specified\"))"},{"line_number":83,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":84,"context_line":"        if not (self.configuration.lvm_share_export_ip or"},{"line_number":85,"context_line":"                self.configuration.lvm_share_export_ips):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f1a1f67_1ff61991","line":82,"range":{"start_line":82,"start_character":38,"end_line":82,"end_character":40},"in_reply_to":"3f1d235d_e9a54f48","updated":"2017-07-12 18:04:19.000000000","message":"Done","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f439ab964b727162030dc5452f2ce52310f1e9e8","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":84,"context_line":"        if not (self.configuration.lvm_share_export_ip or"},{"line_number":85,"context_line":"                self.configuration.lvm_share_export_ips):"},{"line_number":86,"context_line":"            msg \u003d (_(\"neither lvm_share_export_ip nor lvm_share_export_ips is\""},{"line_number":87,"context_line":"                     \" specified\"))"},{"line_number":88,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f201791_53f0ed67","line":86,"range":{"start_line":86,"start_character":22,"end_line":86,"end_character":23},"updated":"2017-06-22 02:45:20.000000000","message":"nit  s/n/N","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"810ba8bc74045569e949b1b23770674dc6df0920","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":84,"context_line":"        if not (self.configuration.lvm_share_export_ip or"},{"line_number":85,"context_line":"                self.configuration.lvm_share_export_ips):"},{"line_number":86,"context_line":"            msg \u003d (_(\"neither lvm_share_export_ip nor lvm_share_export_ips is\""},{"line_number":87,"context_line":"                     \" specified\"))"},{"line_number":88,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1f1a1f67_bf2a85e4","line":86,"range":{"start_line":86,"start_character":22,"end_line":86,"end_character":23},"in_reply_to":"5f201791_53f0ed67","updated":"2017-07-12 18:04:19.000000000","message":"Done","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"535c4c081f61ab9ba3a8fd78fa43964fafda03c9","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        if not (self.configuration.lvm_share_export_ip or"},{"line_number":85,"context_line":"                self.configuration.lvm_share_export_ips):"},{"line_number":86,"context_line":"            msg \u003d (_(\"neither lvm_share_export_ip nor lvm_share_export_ips is\""},{"line_number":87,"context_line":"                     \" specified\"))"},{"line_number":88,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def _allocate_container(self, share):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f1d235d_c964d324","line":87,"range":{"start_line":87,"start_character":30,"end_line":87,"end_character":33},"updated":"2017-07-05 18:23:33.000000000","message":"period","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"810ba8bc74045569e949b1b23770674dc6df0920","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        if not (self.configuration.lvm_share_export_ip or"},{"line_number":85,"context_line":"                self.configuration.lvm_share_export_ips):"},{"line_number":86,"context_line":"            msg \u003d (_(\"neither lvm_share_export_ip nor lvm_share_export_ips is\""},{"line_number":87,"context_line":"                     \" specified\"))"},{"line_number":88,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def _allocate_container(self, share):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f1a1f67_9f2fc9f5","line":87,"range":{"start_line":87,"start_character":30,"end_line":87,"end_character":33},"in_reply_to":"3f1d235d_c964d324","updated":"2017-07-12 18:04:19.000000000","message":"Done","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"}],"manila/tests/share/drivers/test_lvm.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"ab2011ea69d0f0a6031a2143f30fd24e9602ce97","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.access \u003d fake_access()"},{"line_number":109,"context_line":"        self.snapshot \u003d fake_snapshot()"},{"line_number":110,"context_line":"        self.server \u003d {"},{"line_number":111,"context_line":"            \u0027public_addresses\u0027: [self.fake_conf.lvm_share_export_ip],"},{"line_number":112,"context_line":"            \u0027instance_id\u0027: \u0027LVM\u0027,"},{"line_number":113,"context_line":"            \u0027lock_name\u0027: \u0027manila_lvm\u0027,"},{"line_number":114,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f201791_f3b6d9d9","line":111,"range":{"start_line":111,"start_character":31,"end_line":111,"end_character":68},"updated":"2017-06-22 02:23:48.000000000","message":"Could you add test for config more export IPs in test_lvm and test_helpers? links:\nhttps://review.openstack.org/#/c/406776/44/manila/tests/share/drivers/test_lvm.py\nhttps://review.openstack.org/#/c/406776/44/manila/tests/share/drivers/test_helpers.py","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"810ba8bc74045569e949b1b23770674dc6df0920","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.access \u003d fake_access()"},{"line_number":109,"context_line":"        self.snapshot \u003d fake_snapshot()"},{"line_number":110,"context_line":"        self.server \u003d {"},{"line_number":111,"context_line":"            \u0027public_addresses\u0027: [self.fake_conf.lvm_share_export_ip],"},{"line_number":112,"context_line":"            \u0027instance_id\u0027: \u0027LVM\u0027,"},{"line_number":113,"context_line":"            \u0027lock_name\u0027: \u0027manila_lvm\u0027,"},{"line_number":114,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f1a1f67_5f39313f","line":111,"range":{"start_line":111,"start_character":31,"end_line":111,"end_character":68},"in_reply_to":"3f1d235d_c9905346","updated":"2017-07-12 18:04:19.000000000","message":"Done","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"535c4c081f61ab9ba3a8fd78fa43964fafda03c9","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.access \u003d fake_access()"},{"line_number":109,"context_line":"        self.snapshot \u003d fake_snapshot()"},{"line_number":110,"context_line":"        self.server \u003d {"},{"line_number":111,"context_line":"            \u0027public_addresses\u0027: [self.fake_conf.lvm_share_export_ip],"},{"line_number":112,"context_line":"            \u0027instance_id\u0027: \u0027LVM\u0027,"},{"line_number":113,"context_line":"            \u0027lock_name\u0027: \u0027manila_lvm\u0027,"},{"line_number":114,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f1d235d_c9905346","line":111,"range":{"start_line":111,"start_character":31,"end_line":111,"end_character":68},"in_reply_to":"5f201791_c9120a59","updated":"2017-07-05 18:23:33.000000000","message":"+1","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"0d3f517ab0848fb7faeab1446532c21e7e48125a","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.access \u003d fake_access()"},{"line_number":109,"context_line":"        self.snapshot \u003d fake_snapshot()"},{"line_number":110,"context_line":"        self.server \u003d {"},{"line_number":111,"context_line":"            \u0027public_addresses\u0027: [self.fake_conf.lvm_share_export_ip],"},{"line_number":112,"context_line":"            \u0027instance_id\u0027: \u0027LVM\u0027,"},{"line_number":113,"context_line":"            \u0027lock_name\u0027: \u0027manila_lvm\u0027,"},{"line_number":114,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f201791_c9120a59","line":111,"range":{"start_line":111,"start_character":31,"end_line":111,"end_character":68},"in_reply_to":"5f201791_f3b6d9d9","updated":"2017-06-22 03:44:46.000000000","message":"Yes additional test coverage is needed.","commit_id":"b7af1845e510261ba2d29c290ede8b48ca0f0ddd"}]}
