)]}'
{"openstack/cloud/openstackcloud.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d502f8b51f67cf16f0d13662cfd791a6d2d1d0eb","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        # self.secgroup_source \u003d self.config.config[\u0027secgroup_source\u0027]"},{"line_number":98,"context_line":"        self.force_ipv4 \u003d self.config.force_ipv4"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        # self._external_ipv4_names \u003d self.config.get_external_ipv4_networks()"},{"line_number":101,"context_line":"        # self._internal_ipv4_names \u003d self.config.get_internal_ipv4_networks()"},{"line_number":102,"context_line":"        # self._external_ipv6_names \u003d self.config.get_external_ipv6_networks()"},{"line_number":103,"context_line":"        # self._internal_ipv6_names \u003d self.config.get_internal_ipv6_networks()"},{"line_number":104,"context_line":"        # self._nat_destination \u003d self.config.get_nat_destination()"},{"line_number":105,"context_line":"        # self._nat_source \u003d self.config.get_nat_source()"},{"line_number":106,"context_line":"        # self._default_network \u003d self.config.get_default_network()"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # self._floating_ip_source \u003d self.config.config.get("},{"line_number":109,"context_line":"        #     \u0027floating_ip_source\u0027)"},{"line_number":110,"context_line":"        # if self._floating_ip_source:"},{"line_number":111,"context_line":"        #     if self._floating_ip_source.lower() \u003d\u003d \u0027none\u0027:"},{"line_number":112,"context_line":"        #         self._floating_ip_source \u003d None"},{"line_number":113,"context_line":"        #     else:"},{"line_number":114,"context_line":"        #         self._floating_ip_source \u003d self._floating_ip_source.lower()"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        # self._use_external_network \u003d self.config.config.get("},{"line_number":117,"context_line":"        #     \u0027use_external_network\u0027, True)"},{"line_number":118,"context_line":"        # self._use_internal_network \u003d self.config.config.get("},{"line_number":119,"context_line":"        #     \u0027use_internal_network\u0027, True)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        (self.verify, self.cert) \u003d self.config.get_requests_verify_args()"},{"line_number":122,"context_line":"        # Turn off urllib3 warnings about insecure certs if we have"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_e2396cd8","line":119,"range":{"start_line":100,"start_character":0,"end_line":119,"end_character":43},"updated":"2019-03-19 09:33:20.000000000","message":"Do you plan to clean up all this?","commit_id":"27bd557e5fd73fa9f6e5a1ed3851db7a71c60f79"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"a021120be192941c8a643c68d0b286a28e692f7e","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        # self.secgroup_source \u003d self.config.config[\u0027secgroup_source\u0027]"},{"line_number":98,"context_line":"        self.force_ipv4 \u003d self.config.force_ipv4"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        # self._external_ipv4_names \u003d self.config.get_external_ipv4_networks()"},{"line_number":101,"context_line":"        # self._internal_ipv4_names \u003d self.config.get_internal_ipv4_networks()"},{"line_number":102,"context_line":"        # self._external_ipv6_names \u003d self.config.get_external_ipv6_networks()"},{"line_number":103,"context_line":"        # self._internal_ipv6_names \u003d self.config.get_internal_ipv6_networks()"},{"line_number":104,"context_line":"        # self._nat_destination \u003d self.config.get_nat_destination()"},{"line_number":105,"context_line":"        # self._nat_source \u003d self.config.get_nat_source()"},{"line_number":106,"context_line":"        # self._default_network \u003d self.config.get_default_network()"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # self._floating_ip_source \u003d self.config.config.get("},{"line_number":109,"context_line":"        #     \u0027floating_ip_source\u0027)"},{"line_number":110,"context_line":"        # if self._floating_ip_source:"},{"line_number":111,"context_line":"        #     if self._floating_ip_source.lower() \u003d\u003d \u0027none\u0027:"},{"line_number":112,"context_line":"        #         self._floating_ip_source \u003d None"},{"line_number":113,"context_line":"        #     else:"},{"line_number":114,"context_line":"        #         self._floating_ip_source \u003d self._floating_ip_source.lower()"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        # self._use_external_network \u003d self.config.config.get("},{"line_number":117,"context_line":"        #     \u0027use_external_network\u0027, True)"},{"line_number":118,"context_line":"        # self._use_internal_network \u003d self.config.config.get("},{"line_number":119,"context_line":"        #     \u0027use_internal_network\u0027, True)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        (self.verify, self.cert) \u003d self.config.get_requests_verify_args()"},{"line_number":122,"context_line":"        # Turn off urllib3 warnings about insecure certs if we have"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_8f94a838","line":119,"range":{"start_line":100,"start_character":0,"end_line":119,"end_character":43},"in_reply_to":"5fc1f717_e2396cd8","updated":"2019-03-26 09:16:07.000000000","message":"sure, in a followup","commit_id":"27bd557e5fd73fa9f6e5a1ed3851db7a71c60f79"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d502f8b51f67cf16f0d13662cfd791a6d2d1d0eb","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        client \u003d getattr(self, client_name)"},{"line_number":471,"context_line":"        return client._version_matches(version)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    @property"},{"line_number":474,"context_line":"    def _application_catalog_client(self):"},{"line_number":475,"context_line":"        if \u0027application-catalog\u0027 not in self._raw_clients:"},{"line_number":476,"context_line":"            self._raw_clients[\u0027application-catalog\u0027] \u003d self._get_raw_client("},{"line_number":477,"context_line":"                \u0027application-catalog\u0027)"},{"line_number":478,"context_line":"        return self._raw_clients[\u0027application-catalog\u0027]"},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    @property"},{"line_number":481,"context_line":"    def _database_client(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_225534fb","line":478,"range":{"start_line":473,"start_character":0,"end_line":478,"end_character":55},"updated":"2019-03-19 09:33:20.000000000","message":"Should we move this somewhere?","commit_id":"27bd557e5fd73fa9f6e5a1ed3851db7a71c60f79"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"a021120be192941c8a643c68d0b286a28e692f7e","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        client \u003d getattr(self, client_name)"},{"line_number":471,"context_line":"        return client._version_matches(version)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    @property"},{"line_number":474,"context_line":"    def _application_catalog_client(self):"},{"line_number":475,"context_line":"        if \u0027application-catalog\u0027 not in self._raw_clients:"},{"line_number":476,"context_line":"            self._raw_clients[\u0027application-catalog\u0027] \u003d self._get_raw_client("},{"line_number":477,"context_line":"                \u0027application-catalog\u0027)"},{"line_number":478,"context_line":"        return self._raw_clients[\u0027application-catalog\u0027]"},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    @property"},{"line_number":481,"context_line":"    def _database_client(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_afa88477","line":478,"range":{"start_line":473,"start_character":0,"end_line":478,"end_character":55},"in_reply_to":"5fc1f717_225534fb","updated":"2019-03-26 09:16:07.000000000","message":"somewhere - definitely. Where - still a question for me. It is quite the same for also _database_client. If/when we remove openstackcloud.py in a followup completely - those might go into connection.py, but I do not like this very much","commit_id":"27bd557e5fd73fa9f6e5a1ed3851db7a71c60f79"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d502f8b51f67cf16f0d13662cfd791a6d2d1d0eb","unresolved":false,"context_lines":[{"line_number":742,"context_line":"    def get_openstack_vars(self, server):"},{"line_number":743,"context_line":"        return meta.get_hostvars_from_server(self, server)"},{"line_number":744,"context_line":""},{"line_number":745,"context_line":"    def _expand_server_vars(self, server):"},{"line_number":746,"context_line":"        # Used by nodepool"},{"line_number":747,"context_line":"        # TODO(mordred) remove after these make it into what we"},{"line_number":748,"context_line":"        # actually want the API to be."},{"line_number":749,"context_line":"        return meta.expand_server_vars(self, server)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_e23e4cb8","line":749,"range":{"start_line":745,"start_character":0,"end_line":749,"end_character":52},"updated":"2019-03-19 09:33:20.000000000","message":"Move to Compute?","commit_id":"27bd557e5fd73fa9f6e5a1ed3851db7a71c60f79"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"a021120be192941c8a643c68d0b286a28e692f7e","unresolved":false,"context_lines":[{"line_number":742,"context_line":"    def get_openstack_vars(self, server):"},{"line_number":743,"context_line":"        return meta.get_hostvars_from_server(self, server)"},{"line_number":744,"context_line":""},{"line_number":745,"context_line":"    def _expand_server_vars(self, server):"},{"line_number":746,"context_line":"        # Used by nodepool"},{"line_number":747,"context_line":"        # TODO(mordred) remove after these make it into what we"},{"line_number":748,"context_line":"        # actually want the API to be."},{"line_number":749,"context_line":"        return meta.expand_server_vars(self, server)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_af73a44d","line":749,"range":{"start_line":745,"start_character":0,"end_line":749,"end_character":52},"in_reply_to":"5fc1f717_e23e4cb8","updated":"2019-03-26 09:16:07.000000000","message":"ok, in a followup","commit_id":"27bd557e5fd73fa9f6e5a1ed3851db7a71c60f79"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f56ae44ff7928ef1ee2abaa8aa1f3dafb6e51229","unresolved":false,"context_lines":[{"line_number":12,"context_line":"import copy"},{"line_number":13,"context_line":"import functools"},{"line_number":14,"context_line":"import six"},{"line_number":15,"context_line":"# import threading"},{"line_number":16,"context_line":"# import types so that we can reference ListType in sphinx param declarations."},{"line_number":17,"context_line":"# We can\u0027t just use list, because sphinx gets confused by"},{"line_number":18,"context_line":"# openstack.resource.Resource.list and openstack.resource2.Resource.list"}],"source_content_type":"text/x-python","patch_set":9,"id":"5fc1f717_484c4341","line":15,"updated":"2019-03-28 10:13:28.000000000","message":"Please clean up all commented out code in a follow-up","commit_id":"1a4ed826b9768ff53630607c95349186ab344ad8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f56ae44ff7928ef1ee2abaa8aa1f3dafb6e51229","unresolved":false,"context_lines":[{"line_number":744,"context_line":"            return False"},{"line_number":745,"context_line":""},{"line_number":746,"context_line":"    def get_openstack_vars(self, server):"},{"line_number":747,"context_line":"        return meta.get_hostvars_from_server(self, server)"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"    def _expand_server_vars(self, server):"},{"line_number":750,"context_line":"        # Used by nodepool"}],"source_content_type":"text/x-python","patch_set":9,"id":"5fc1f717_6847bf1e","line":747,"updated":"2019-03-28 10:13:28.000000000","message":"Seems to belong to compute?","commit_id":"1a4ed826b9768ff53630607c95349186ab344ad8"}],"openstack/connection.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0cc91300418862d29203216f1b494373cd332738","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        # Call the _*CloudMixin constructors while we work on"},{"line_number":331,"context_line":"        # integrating things better."},{"line_number":332,"context_line":"        _cloud._OpenStackCloudMixin.__init__(self)"},{"line_number":333,"context_line":"        _compute.ComputeCloudMixin.__init__(self)"},{"line_number":334,"context_line":"        _floating_ip.FloatingIPCloudMixin.__init__(self)"},{"line_number":335,"context_line":"        _image.ImageCloudMixin.__init__(self)"},{"line_number":336,"context_line":"        _network.NetworkCloudMixin.__init__(self)"},{"line_number":337,"context_line":"        _network_common.NetworkCommonCloudMixin.__init__(self)"},{"line_number":338,"context_line":"        _object_store.ObjectStoreCloudMixin.__init__(self)"},{"line_number":339,"context_line":"        _security_group.SecurityGroupCloudMixin.__init__(self)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    @property"},{"line_number":342,"context_line":"    def session(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_47c98956","line":339,"range":{"start_line":333,"start_character":0,"end_line":339,"end_character":62},"updated":"2019-03-18 13:19:32.000000000","message":"Some are missing here, e.g. baremetal. Even if their __init__ does nothing, we still should include it.","commit_id":"c9c341af0ede96b552d6499e9d7cf898201ff25e"}]}
