)]}'
{"shade/_adapter.py":[{"author":{"_account_id":986,"name":"Rosario Di Somma","email":"rosario.disomma@gmail.com","username":"mr-rods"},"change_message_id":"f3196012d3a1abcf9dc5691095ade3a0a7a68a02","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        # Note(rods): this is just a temporary step needed until we"},{"line_number":131,"context_line":"        # don\u0027t update all the other REST API calls"},{"line_number":132,"context_line":"        if isinstance(result_json, dict):"},{"line_number":133,"context_line":"            for key in [\u0027volumes\u0027, \u0027volume\u0027, \u0027volumeAttachment\u0027, \u0027backups\u0027,"},{"line_number":134,"context_line":"                        \u0027volume_types\u0027, \u0027volume_type_access\u0027, \u0027snapshots\u0027,"},{"line_number":135,"context_line":"                        \u0027network\u0027, \u0027networks\u0027, \u0027subnet\u0027, \u0027subnets\u0027,"},{"line_number":136,"context_line":"                        \u0027router\u0027, \u0027routers\u0027, \u0027floatingip\u0027, \u0027floatingips\u0027,"},{"line_number":137,"context_line":"                        \u0027floating_ip\u0027, \u0027floating_ips\u0027, \u0027port\u0027, \u0027ports\u0027]:"},{"line_number":138,"context_line":"                if key in result_json.keys():"},{"line_number":139,"context_line":"                    self._log_request_id(response)"},{"line_number":140,"context_line":"                    return result_json"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf091321_66c7b414","line":137,"range":{"start_line":133,"start_character":12,"end_line":137,"end_character":72},"updated":"2017-06-08 22:08:33.000000000","message":"This is getting a little longer then I like but eventually we\u0027ll be able to remove everything from 132 to 159 adding just a couple of lines","commit_id":"72f5edabf93018e5cc5c01802f9e2ab9833cf16f"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"b2db7c0aafbd83c471469a9a927ef0a8b1a2fa2a","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        # Note(rods): this is just a temporary step needed until we"},{"line_number":131,"context_line":"        # don\u0027t update all the other REST API calls"},{"line_number":132,"context_line":"        if isinstance(result_json, dict):"},{"line_number":133,"context_line":"            for key in [\u0027volumes\u0027, \u0027volume\u0027, \u0027volumeAttachment\u0027, \u0027backups\u0027,"},{"line_number":134,"context_line":"                        \u0027volume_types\u0027, \u0027volume_type_access\u0027, \u0027snapshots\u0027,"},{"line_number":135,"context_line":"                        \u0027network\u0027, \u0027networks\u0027, \u0027subnet\u0027, \u0027subnets\u0027,"},{"line_number":136,"context_line":"                        \u0027router\u0027, \u0027routers\u0027, \u0027floatingip\u0027, \u0027floatingips\u0027,"},{"line_number":137,"context_line":"                        \u0027floating_ip\u0027, \u0027floating_ips\u0027, \u0027port\u0027, \u0027ports\u0027]:"},{"line_number":138,"context_line":"                if key in result_json.keys():"},{"line_number":139,"context_line":"                    self._log_request_id(response)"},{"line_number":140,"context_line":"                    return result_json"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf091321_e98837c7","line":137,"range":{"start_line":133,"start_character":12,"end_line":137,"end_character":72},"in_reply_to":"bf091321_66c7b414","updated":"2017-06-08 22:57:18.000000000","message":"Yah - but I think the approach is a great one!","commit_id":"72f5edabf93018e5cc5c01802f9e2ab9833cf16f"}],"shade/openstackcloud.py":[{"author":{"_account_id":986,"name":"Rosario Di Somma","email":"rosario.disomma@gmail.com","username":"mr-rods"},"change_message_id":"5fead73e801ef35deaf0fd34b6477ad64d5b1a6d","unresolved":false,"context_lines":[{"line_number":4677,"context_line":"                \u0027/os-floating-ips\u0027, json\u003ddict(pool\u003dpool))"},{"line_number":4678,"context_line":"            pool_ip \u003d data.get(\u0027floating_ip\u0027, {})"},{"line_number":4679,"context_line":"            # TODO(mordred) Remove this - it\u0027s just for compat"},{"line_number":4680,"context_line":"            data \u003d self._compute_client.get(\u0027/os-floating-ips/{id}\u0027.format("},{"line_number":4681,"context_line":"                id\u003dpool_ip[\u0027id\u0027]))"},{"line_number":4682,"context_line":"            return data.get(\u0027floating_ip\u0027, {})"},{"line_number":4683,"context_line":""},{"line_number":4684,"context_line":"    def delete_floating_ip(self, floating_ip_id, retry\u003d1):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf091321_86f08892","line":4681,"range":{"start_line":4680,"start_character":12,"end_line":4681,"end_character":34},"updated":"2017-06-08 22:03:16.000000000","message":"Should we check pool_id is not {} before we call pool_ip[\u0027id\u0027] ? Just to be defensive","commit_id":"72f5edabf93018e5cc5c01802f9e2ab9833cf16f"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"96c1b5a56194a7594d424151d8944ce65c4f1771","unresolved":false,"context_lines":[{"line_number":4677,"context_line":"                \u0027/os-floating-ips\u0027, json\u003ddict(pool\u003dpool))"},{"line_number":4678,"context_line":"            pool_ip \u003d data.get(\u0027floating_ip\u0027, {})"},{"line_number":4679,"context_line":"            # TODO(mordred) Remove this - it\u0027s just for compat"},{"line_number":4680,"context_line":"            data \u003d self._compute_client.get(\u0027/os-floating-ips/{id}\u0027.format("},{"line_number":4681,"context_line":"                id\u003dpool_ip[\u0027id\u0027]))"},{"line_number":4682,"context_line":"            return data.get(\u0027floating_ip\u0027, {})"},{"line_number":4683,"context_line":""},{"line_number":4684,"context_line":"    def delete_floating_ip(self, floating_ip_id, retry\u003d1):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf091321_89fadb3f","line":4681,"range":{"start_line":4680,"start_character":12,"end_line":4681,"end_character":34},"in_reply_to":"bf091321_86f08892","updated":"2017-06-08 22:56:50.000000000","message":"Yah - not a bad idea at all.","commit_id":"72f5edabf93018e5cc5c01802f9e2ab9833cf16f"}],"shade/tests/unit/test_floating_ip_nova.py":[{"author":{"_account_id":986,"name":"Rosario Di Somma","email":"rosario.disomma@gmail.com","username":"mr-rods"},"change_message_id":"5fead73e801ef35deaf0fd34b6477ad64d5b1a6d","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                 uri\u003dself.get_mock_url("},{"line_number":156,"context_line":"                     \u0027compute\u0027,"},{"line_number":157,"context_line":"                     append\u003d[\u0027os-floating-ips\u0027, \u00272\u0027]),"},{"line_number":158,"context_line":"                 json\u003d{\u0027floating_ips\u0027: self.mock_floating_ip_list_rep[1]}),"},{"line_number":159,"context_line":"        ])"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        self.cloud.create_floating_ip(network\u003d\u0027nova\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf091321_66dd7413","side":"PARENT","line":158,"range":{"start_line":158,"start_character":24,"end_line":158,"end_character":36},"updated":"2017-06-08 22:03:16.000000000","message":"This seems wrong accordingly to the Networking API v2.0 doc https://developer.openstack.org/api-ref/compute/?expanded\u003dshow-floating-ip-address-details-detail","commit_id":"40c4f3ca15f990572e3ebeb93f484b74ac9d392b"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"96c1b5a56194a7594d424151d8944ce65c4f1771","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                 uri\u003dself.get_mock_url("},{"line_number":156,"context_line":"                     \u0027compute\u0027,"},{"line_number":157,"context_line":"                     append\u003d[\u0027os-floating-ips\u0027, \u00272\u0027]),"},{"line_number":158,"context_line":"                 json\u003d{\u0027floating_ips\u0027: self.mock_floating_ip_list_rep[1]}),"},{"line_number":159,"context_line":"        ])"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        self.cloud.create_floating_ip(network\u003d\u0027nova\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf091321_a9fd9f3b","side":"PARENT","line":158,"range":{"start_line":158,"start_character":24,"end_line":158,"end_character":36},"in_reply_to":"bf091321_66dd7413","updated":"2017-06-08 22:56:50.000000000","message":"Yah- I bet you\u0027re right - and the top-level-stripping is causing us to not notice.","commit_id":"40c4f3ca15f990572e3ebeb93f484b74ac9d392b"}]}
