)]}'
{"manila_tempest_tests/config.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"fd120c8e3de67778a9f2c9b58844494292fa3c5e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                    \"network. If using NFS, access control is done with the \""},{"line_number":95,"context_line":"                    \"help of the IP address assigned to the virtual machine\u0027s \""},{"line_number":96,"context_line":"                    \"storage network NIC.\"),"},{"line_number":97,"context_line":"    cfg.BoolOpt(\"mix_ip_versions\","},{"line_number":98,"context_line":"                default\u003dFalse,"},{"line_number":99,"context_line":"                help\u003d\"This option allows to handle in case the private \""},{"line_number":100,"context_line":"                     \"network and the storage network with different IP \""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_51b8abe3","line":97,"range":{"start_line":97,"start_character":18,"end_line":97,"end_character":34},"updated":"2020-08-05 10:46:35.000000000","message":"We may want to think of a less general name for this option since it sounds like it would apply if the storage network itself had multiple IP versions.","commit_id":"be4443913ded00d5354f9006ce16079ed2a48f6d"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"08b87724c035d1dfc9e312596eeeb67477605758","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                    \"network. If using NFS, access control is done with the \""},{"line_number":95,"context_line":"                    \"help of the IP address assigned to the virtual machine\u0027s \""},{"line_number":96,"context_line":"                    \"storage network NIC.\"),"},{"line_number":97,"context_line":"    cfg.BoolOpt(\"mix_ip_versions\","},{"line_number":98,"context_line":"                default\u003dFalse,"},{"line_number":99,"context_line":"                help\u003d\"This option allows to handle in case the private \""},{"line_number":100,"context_line":"                     \"network and the storage network with different IP \""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_a980bb47","line":97,"range":{"start_line":97,"start_character":18,"end_line":97,"end_character":34},"in_reply_to":"9f560f44_51b8abe3","updated":"2020-08-06 11:16:21.000000000","message":"Actually, we don\u0027t need this parameter.","commit_id":"be4443913ded00d5354f9006ce16079ed2a48f6d"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"fd120c8e3de67778a9f2c9b58844494292fa3c5e","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                help\u003d\"This option allows to handle in case the private \""},{"line_number":100,"context_line":"                     \"network and the storage network with different IP \""},{"line_number":101,"context_line":"                     \"versions.\"),"},{"line_number":102,"context_line":"    cfg.IntOpt(\"storage_network_ip_version\","},{"line_number":103,"context_line":"               default\u003d4,"},{"line_number":104,"context_line":"               help\u003d\"The IP version of the StorageNFS network.\""},{"line_number":105,"context_line":"                    \"This option is required when network and the storage \""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_f19bbf6f","line":102,"range":{"start_line":102,"start_character":16,"end_line":102,"end_character":44},"updated":"2020-08-05 10:46:35.000000000","message":"Do we need a list?  RH ganesha storage network can currently only be one IP version but other back ends may have multiple export locations on a storage net, some IPv4 and some IPv6.","commit_id":"be4443913ded00d5354f9006ce16079ed2a48f6d"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"08b87724c035d1dfc9e312596eeeb67477605758","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                help\u003d\"This option allows to handle in case the private \""},{"line_number":100,"context_line":"                     \"network and the storage network with different IP \""},{"line_number":101,"context_line":"                     \"versions.\"),"},{"line_number":102,"context_line":"    cfg.IntOpt(\"storage_network_ip_version\","},{"line_number":103,"context_line":"               default\u003d4,"},{"line_number":104,"context_line":"               help\u003d\"The IP version of the StorageNFS network.\""},{"line_number":105,"context_line":"                    \"This option is required when network and the storage \""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_0999e7c2","line":102,"range":{"start_line":102,"start_character":16,"end_line":102,"end_character":44},"in_reply_to":"9f560f44_f19bbf6f","updated":"2020-08-06 11:16:21.000000000","message":"Right, thanks","commit_id":"be4443913ded00d5354f9006ce16079ed2a48f6d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e48c05aa54759c595e23b0ace510a360b7d8e6a0","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                    \"network. If using NFS, access control is done with the \""},{"line_number":95,"context_line":"                    \"help of the IP address assigned to the virtual machine\u0027s \""},{"line_number":96,"context_line":"                    \"storage network NIC.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\"storage_network_ip_version\","},{"line_number":98,"context_line":"                default\u003d[4, ],"},{"line_number":99,"context_line":"                help\u003d\"The IP version of the StorageNFS network.\""},{"line_number":100,"context_line":"                     \"This option is required when network and the storage \""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_4c5e3676","line":97,"range":{"start_line":97,"start_character":17,"end_line":97,"end_character":43},"updated":"2020-08-06 17:50:22.000000000","message":"Why make this a configuration option when we can determine this easily?\n\nWe can look at the subnets in the storage_network, and populate this ourselves.","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5fb679b800d37e79c0532574b98847fe7b365757","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                    \"network. If using NFS, access control is done with the \""},{"line_number":95,"context_line":"                    \"help of the IP address assigned to the virtual machine\u0027s \""},{"line_number":96,"context_line":"                    \"storage network NIC.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\"storage_network_ip_version\","},{"line_number":98,"context_line":"                default\u003d[4, ],"},{"line_number":99,"context_line":"                help\u003d\"The IP version of the StorageNFS network.\""},{"line_number":100,"context_line":"                     \"This option is required when network and the storage \""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_a9c48060","line":97,"range":{"start_line":97,"start_character":17,"end_line":97,"end_character":43},"in_reply_to":"9f560f44_04147b9f","updated":"2020-08-19 13:59:59.000000000","message":"I\u0027m asking to take a look at the export path and determine the IP address... for example, \".\" in the IP address would denote IPv4, \u0027:\u0027 would denote IPv6","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"b42732c0c268280cab7f9b86e5960a4d1de6d4b2","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                    \"network. If using NFS, access control is done with the \""},{"line_number":95,"context_line":"                    \"help of the IP address assigned to the virtual machine\u0027s \""},{"line_number":96,"context_line":"                    \"storage network NIC.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\"storage_network_ip_version\","},{"line_number":98,"context_line":"                default\u003d[4, ],"},{"line_number":99,"context_line":"                help\u003d\"The IP version of the StorageNFS network.\""},{"line_number":100,"context_line":"                     \"This option is required when network and the storage \""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_04147b9f","line":97,"range":{"start_line":97,"start_character":17,"end_line":97,"end_character":43},"in_reply_to":"9f560f44_4c5e3676","updated":"2020-08-19 07:23:26.000000000","message":"But how can we handle in case the private network is only support ipv4 and storage network is ipv6 like in our downstream ci?\nCurrently, manila-tempest-plugin skips on this combination.","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"}],"manila_tempest_tests/tests/scenario/manager_share.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ec798fa004345a0be2267018e0557bdda114bc60","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_log import log"},{"line_number":17,"context_line":"import six"},{"line_number":18,"context_line":"import time"},{"line_number":19,"context_line":"from six.moves.urllib.request import urlopen"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from manila_tempest_tests.common import constants"},{"line_number":22,"context_line":"from manila_tempest_tests.common import remote_client"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_36152d9d","line":19,"updated":"2020-08-05 10:06:36.000000000","message":"pep8: H306: imports not in alphabetical order (time, six.moves.urllib.request.urlopen)","commit_id":"d093bc986b4c1992e85c49655c329ae4e60e5968"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"fd120c8e3de67778a9f2c9b58844494292fa3c5e","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            image_id\u003dself.image_id, flavor\u003dself.flavor_ref, **create_kwargs)"},{"line_number":161,"context_line":"        return instance"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _wait_until_ip_is_added_to_interface(self, remote_client,"},{"line_number":164,"context_line":"                                             instance_ip,"},{"line_number":165,"context_line":"                                             interface\u003d\u0027eth1\u0027):"},{"line_number":166,"context_line":"        server_ip \u003d ("}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_d1fcbbb6","line":163,"range":{"start_line":163,"start_character":8,"end_line":163,"end_character":44},"updated":"2020-08-05 10:46:35.000000000","message":"Is there any reason to restrict calling this to the second interface and IPv6?  If it just succeeds right away that\u0027s not an issue, right?","commit_id":"be4443913ded00d5354f9006ce16079ed2a48f6d"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"fd120c8e3de67778a9f2c9b58844494292fa3c5e","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                                             interface\u003d\u0027eth1\u0027):"},{"line_number":166,"context_line":"        server_ip \u003d ("},{"line_number":167,"context_line":"            remote_client.exec_command("},{"line_number":168,"context_line":"                \"ip addr show dev eth1 | awk \u0027/inet6/{print $2}\u0027\").split("},{"line_number":169,"context_line":"                \u0027/\u0027)[0].strip()"},{"line_number":170,"context_line":"        )"},{"line_number":171,"context_line":"        start \u003d int(time.time())"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_b14b0729","line":168,"range":{"start_line":168,"start_character":34,"end_line":168,"end_character":38},"updated":"2020-08-05 10:46:35.000000000","message":"Construct the command using the interface argument.\n\nUsually I use \u0027--oneline\u0027 argument to the IP command when I need to parse it.","commit_id":"be4443913ded00d5354f9006ce16079ed2a48f6d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9700f35c2fc0f5096bccf1fe7c5450ff004918a2","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        self.share \u003d self.shares_client.get_share(self.share[\u0027id\u0027])"},{"line_number":195,"context_line":"        return remote_client"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def validate_ping_to_export_location(self, export, remote_client,"},{"line_number":198,"context_line":"                                         ping_timeout\u003dNone):"},{"line_number":199,"context_line":"        timeout \u003d ping_timeout or CONF.validation.ping_timeout"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_87f7898b","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":40},"updated":"2020-08-06 17:52:34.000000000","message":"Why override this, we\u0027re currently not using the \"manila_tempest_tests.tests.scenario.manager.ScenarioTest#ping_ip_address\" method - can we make modifications to that method directly and use it?","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"68f1a8f890a3d9aeca860d58e7241810d91eebab","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        self.share \u003d self.shares_client.get_share(self.share[\u0027id\u0027])"},{"line_number":195,"context_line":"        return remote_client"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def validate_ping_to_export_location(self, export, remote_client,"},{"line_number":198,"context_line":"                                         ping_timeout\u003dNone):"},{"line_number":199,"context_line":"        timeout \u003d ping_timeout or CONF.validation.ping_timeout"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_029562e4","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":40},"in_reply_to":"9f560f44_098f6c23","updated":"2020-09-07 17:57:28.000000000","message":"I\u0027ll remove this method.","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"b42732c0c268280cab7f9b86e5960a4d1de6d4b2","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        self.share \u003d self.shares_client.get_share(self.share[\u0027id\u0027])"},{"line_number":195,"context_line":"        return remote_client"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def validate_ping_to_export_location(self, export, remote_client,"},{"line_number":198,"context_line":"                                         ping_timeout\u003dNone):"},{"line_number":199,"context_line":"        timeout \u003d ping_timeout or CONF.validation.ping_timeout"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_c421e3fd","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":40},"in_reply_to":"9f560f44_87f7898b","updated":"2020-08-19 07:23:26.000000000","message":"This method ping to export location which is a remote host.\nCould you please elaborate exactly what do you suggest to do?","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5fb679b800d37e79c0532574b98847fe7b365757","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        self.share \u003d self.shares_client.get_share(self.share[\u0027id\u0027])"},{"line_number":195,"context_line":"        return remote_client"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def validate_ping_to_export_location(self, export, remote_client,"},{"line_number":198,"context_line":"                                         ping_timeout\u003dNone):"},{"line_number":199,"context_line":"        timeout \u003d ping_timeout or CONF.validation.ping_timeout"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_098f6c23","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":40},"in_reply_to":"9f560f44_c421e3fd","updated":"2020-08-19 13:59:59.000000000","message":"Yes, I meant you could change the other method directly - it\u0027s unused...\n\nHowever, I\u0027m okay if we delete \"manila_tempest_tests.tests.scenario.manager.ScenarioTest#ping_ip_address\" method in another patch.","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e48c05aa54759c595e23b0ace510a360b7d8e6a0","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            ip, version \u003d self.get_ip_and_version_from_export_location(export)"},{"line_number":203,"context_line":"            try:"},{"line_number":204,"context_line":"                remote_client.exec_command("},{"line_number":205,"context_line":"                    \"ping{} -c1 -w1 {}\".format("},{"line_number":206,"context_line":"                        \u00276\u0027 if version \u003d\u003d 6 else \u0027\u0027, ip))"},{"line_number":207,"context_line":"                return True"},{"line_number":208,"context_line":"            except exceptions.SSHExecCommandFailed:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_51e9af7d","line":205,"range":{"start_line":205,"start_character":30,"end_line":205,"end_character":31},"updated":"2020-08-06 17:50:22.000000000","message":"you may want to keep this at 5, I\u0027ve seen tests fail on completely virtualized RHELOSP deployments when this is set to 1.","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"b42732c0c268280cab7f9b86e5960a4d1de6d4b2","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            ip, version \u003d self.get_ip_and_version_from_export_location(export)"},{"line_number":203,"context_line":"            try:"},{"line_number":204,"context_line":"                remote_client.exec_command("},{"line_number":205,"context_line":"                    \"ping{} -c1 -w1 {}\".format("},{"line_number":206,"context_line":"                        \u00276\u0027 if version \u003d\u003d 6 else \u0027\u0027, ip))"},{"line_number":207,"context_line":"                return True"},{"line_number":208,"context_line":"            except exceptions.SSHExecCommandFailed:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_a41cafc1","line":205,"range":{"start_line":205,"start_character":30,"end_line":205,"end_character":31},"in_reply_to":"9f560f44_51e9af7d","updated":"2020-08-19 07:23:26.000000000","message":"Ok will be changed","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e48c05aa54759c595e23b0ace510a360b7d8e6a0","unresolved":false,"context_lines":[{"line_number":678,"context_line":"    def _get_export_locations_according_to_ip_version("},{"line_number":679,"context_line":"            self, all_locations, error_on_invalid_ip_version):"},{"line_number":680,"context_line":"        ip_version \u003d self.ip_version"},{"line_number":681,"context_line":"        if str(self.ip_version) not in CONF.share.storage_network_ip_version:"},{"line_number":682,"context_line":"            ip_version \u003d int(CONF.share.storage_network_ip_version[0])"},{"line_number":683,"context_line":"        locations \u003d ["},{"line_number":684,"context_line":"            x for x in all_locations"},{"line_number":685,"context_line":"            if self.get_ip_and_version_from_export_location("}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_6c5b3a86","line":682,"range":{"start_line":681,"start_character":0,"end_line":682,"end_character":70},"updated":"2020-08-06 17:50:22.000000000","message":"We shouldn\u0027t force the ip version to change here. We should skip the test rather if a necessary IP version is not supported by the storage network.","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"68f1a8f890a3d9aeca860d58e7241810d91eebab","unresolved":false,"context_lines":[{"line_number":678,"context_line":"    def _get_export_locations_according_to_ip_version("},{"line_number":679,"context_line":"            self, all_locations, error_on_invalid_ip_version):"},{"line_number":680,"context_line":"        ip_version \u003d self.ip_version"},{"line_number":681,"context_line":"        if str(self.ip_version) not in CONF.share.storage_network_ip_version:"},{"line_number":682,"context_line":"            ip_version \u003d int(CONF.share.storage_network_ip_version[0])"},{"line_number":683,"context_line":"        locations \u003d ["},{"line_number":684,"context_line":"            x for x in all_locations"},{"line_number":685,"context_line":"            if self.get_ip_and_version_from_export_location("}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_e2994e1f","line":682,"range":{"start_line":681,"start_character":0,"end_line":682,"end_character":70},"in_reply_to":"9f560f44_09148c9f","updated":"2020-09-07 17:57:28.000000000","message":"Done","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"b42732c0c268280cab7f9b86e5960a4d1de6d4b2","unresolved":false,"context_lines":[{"line_number":678,"context_line":"    def _get_export_locations_according_to_ip_version("},{"line_number":679,"context_line":"            self, all_locations, error_on_invalid_ip_version):"},{"line_number":680,"context_line":"        ip_version \u003d self.ip_version"},{"line_number":681,"context_line":"        if str(self.ip_version) not in CONF.share.storage_network_ip_version:"},{"line_number":682,"context_line":"            ip_version \u003d int(CONF.share.storage_network_ip_version[0])"},{"line_number":683,"context_line":"        locations \u003d ["},{"line_number":684,"context_line":"            x for x in all_locations"},{"line_number":685,"context_line":"            if self.get_ip_and_version_from_export_location("}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_e464e74b","line":682,"range":{"start_line":681,"start_character":0,"end_line":682,"end_character":70},"in_reply_to":"9f560f44_6c5b3a86","updated":"2020-08-19 07:23:26.000000000","message":"In case the private network ipv and the storage ipv are different it will skip the test.","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5fb679b800d37e79c0532574b98847fe7b365757","unresolved":false,"context_lines":[{"line_number":678,"context_line":"    def _get_export_locations_according_to_ip_version("},{"line_number":679,"context_line":"            self, all_locations, error_on_invalid_ip_version):"},{"line_number":680,"context_line":"        ip_version \u003d self.ip_version"},{"line_number":681,"context_line":"        if str(self.ip_version) not in CONF.share.storage_network_ip_version:"},{"line_number":682,"context_line":"            ip_version \u003d int(CONF.share.storage_network_ip_version[0])"},{"line_number":683,"context_line":"        locations \u003d ["},{"line_number":684,"context_line":"            x for x in all_locations"},{"line_number":685,"context_line":"            if self.get_ip_and_version_from_export_location("}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_09148c9f","line":682,"range":{"start_line":681,"start_character":0,"end_line":682,"end_character":70},"in_reply_to":"9f560f44_e464e74b","updated":"2020-08-19 13:59:59.000000000","message":"I mean that you must revert changes to this method..","commit_id":"3189d791f10999da9c6fed61d342e7e4bfc850a6"}]}
