)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f07f07f6914eb8c16db582cd5ef4b8043adda240","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"nova-net: Remove associate, disassociate network APIs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"These no longer have any callers and can be removed almost entirely, RPC"},{"line_number":10,"context_line":"and DB methods aside."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id6120adbee61682eb0f90bdac4080dc1e53ae978"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"3fa7e38b_9db7d0d8","line":9,"updated":"2019-11-24 13:46:36.000000000","message":"ack due to removals in apis here:\n\nhttps://docs.openstack.org/api-ref/compute/?expanded\u003d#networks-os-networks-deprecated","commit_id":"04014f8aa8d208a9cc665798f4d19702d9e33a28"}],"nova/network/api.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4541ae5f868a1b25891167a4d1c4d0c150729022","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"@profiler.trace_cls(\"network_api\")"},{"line_number":39,"context_line":"class API(base_api.NetworkAPI):"},{"line_number":40,"context_line":"    \"\"\"API for doing networking via the nova-network network manager."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    This is a pluggable module - other implementations do networking via"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_035f0c0f","line":39,"updated":"2019-11-22 17:25:14.000000000","message":"Can\u0027t we delete this whole thing now, or at some point in this chain?","commit_id":"a668e9fc262ec5ac2567d71b0ec8aeec48bf4dca"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"03668e80d4b160274a31a77a95178d0ba958690f","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"@profiler.trace_cls(\"network_api\")"},{"line_number":39,"context_line":"class API(base_api.NetworkAPI):"},{"line_number":40,"context_line":"    \"\"\"API for doing networking via the nova-network network manager."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    This is a pluggable module - other implementations do networking via"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_67dd8c12","line":39,"updated":"2019-11-26 10:12:15.000000000","message":"Can\u0027t we just drop this loading, and delete this whole file now?\nhttps://github.com/openstack/nova/blob/master/nova/network/__init__.py","commit_id":"4367070d656615310e3e637d6ce6ee3bd6206f64"}],"nova/network/base_api.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4e1d0d5762495cc86eff11cb7b5b942f116921ba","unresolved":false,"context_lines":[{"line_number":90,"context_line":"SENTINEL \u003d object()"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"class NetworkAPI(base.Base):"},{"line_number":94,"context_line":"    \"\"\"Base Network API for doing networking operations."},{"line_number":95,"context_line":"    New operations available on specific clients must be added here as well."},{"line_number":96,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_03b4ec34","line":93,"updated":"2019-11-22 17:26:24.000000000","message":"Does this make sense any more, if we only have the one implementation that is neutron? That is probably a separate patch.","commit_id":"a668e9fc262ec5ac2567d71b0ec8aeec48bf4dca"}],"nova/network/manager.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d0b17bb8068abbd7d652fe3425f3a444b100bddb","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                instance)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"class NetworkManager(manager.Manager):"},{"line_number":176,"context_line":"    \"\"\"Implements common network manager functionality."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    This class must be subclassed to support specific topologies."}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_c3d1f458","line":175,"updated":"2019-11-22 17:28:34.000000000","message":"I thought this whole thing can die... but I guess that is after we remove the nova-network binary?","commit_id":"a668e9fc262ec5ac2567d71b0ec8aeec48bf4dca"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bfbd3b86aa4eabcde7866e7c60daa00ccd7c699c","unresolved":false,"context_lines":[{"line_number":1971,"context_line":"                  network[\u0027uuid\u0027], instance\u003dinstance)"},{"line_number":1972,"context_line":"        return address"},{"line_number":1973,"context_line":""},{"line_number":1974,"context_line":"    def add_network_to_project(self, context, project_id, network_uuid\u003dNone):"},{"line_number":1975,"context_line":"        \"\"\"Force adds another network to a project.\"\"\""},{"line_number":1976,"context_line":"        LOG.debug(\u0027Add network %s to project %s\u0027, network_uuid, project_id)"},{"line_number":1977,"context_line":"        if network_uuid is not None:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_1821a74d","side":"PARENT","line":1974,"updated":"2019-11-25 14:13:31.000000000","message":"It\u0027s odd that for the other methods in here you change them to pass but this one you just completely remove.\n\nI\u0027m not even sure why you need to be changing the manager(s) in this patch and adding NOTEs about removing them in version 2.0 of the RPC API since that\u0027s never going to happen - we\u0027re just deleting this module later in the series aren\u0027t we?","commit_id":"83baeaa9f2baa58e13a26b663199ebb1ab0e7178"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9319088ab1d680ccb3607751d498a1eed1300215","unresolved":false,"context_lines":[{"line_number":1971,"context_line":"                  network[\u0027uuid\u0027], instance\u003dinstance)"},{"line_number":1972,"context_line":"        return address"},{"line_number":1973,"context_line":""},{"line_number":1974,"context_line":"    def add_network_to_project(self, context, project_id, network_uuid\u003dNone):"},{"line_number":1975,"context_line":"        \"\"\"Force adds another network to a project.\"\"\""},{"line_number":1976,"context_line":"        LOG.debug(\u0027Add network %s to project %s\u0027, network_uuid, project_id)"},{"line_number":1977,"context_line":"        if network_uuid is not None:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_bb072dc9","side":"PARENT","line":1974,"in_reply_to":"3fa7e38b_1821a74d","updated":"2019-11-25 14:59:19.000000000","message":"So technically if I was using nova-network somehow and upgraded the service code to this point but left my API running Train this could be broken.","commit_id":"83baeaa9f2baa58e13a26b663199ebb1ab0e7178"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9319088ab1d680ccb3607751d498a1eed1300215","unresolved":false,"context_lines":[{"line_number":1581,"context_line":"        except exception.NoNetworksFound:"},{"line_number":1582,"context_line":"            return []"},{"line_number":1583,"context_line":""},{"line_number":1584,"context_line":"    # NOTE(stephenfin): This can be removed in version 2.0 of the RPC API"},{"line_number":1585,"context_line":"    def disassociate_network(self, context, network_uuid):"},{"line_number":1586,"context_line":"        pass"},{"line_number":1587,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_1bf8c1c1","line":1584,"updated":"2019-11-25 14:59:19.000000000","message":"This is never going to happen.","commit_id":"04014f8aa8d208a9cc665798f4d19702d9e33a28"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9319088ab1d680ccb3607751d498a1eed1300215","unresolved":false,"context_lines":[{"line_number":1966,"context_line":"                  network[\u0027uuid\u0027], instance\u003dinstance)"},{"line_number":1967,"context_line":"        return address"},{"line_number":1968,"context_line":""},{"line_number":1969,"context_line":"    # NOTE(stephenfin): This can be removed in version 2.0 of the RPC API"},{"line_number":1970,"context_line":"    def associate(self, context, network_uuid, associations):"},{"line_number":1971,"context_line":"        \"\"\"Associate or disassociate host or project to network.\"\"\""},{"line_number":1972,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_3bf33de9","line":1969,"updated":"2019-11-25 14:59:19.000000000","message":"same","commit_id":"04014f8aa8d208a9cc665798f4d19702d9e33a28"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"911effd0538b93f22a5397bfebae991345e9ed27","unresolved":false,"context_lines":[{"line_number":2461,"context_line":"        \"\"\"Delete a network for client.\"\"\""},{"line_number":2462,"context_line":"        raise NotImplementedError()"},{"line_number":2463,"context_line":""},{"line_number":2464,"context_line":"    def get_fixed_ip(self, context, id):"},{"line_number":2465,"context_line":"        \"\"\"Get a fixed IP from the id.\"\"\""},{"line_number":2466,"context_line":"        raise NotImplementedError()"},{"line_number":2467,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_63c0407d","line":2464,"updated":"2019-11-22 17:29:20.000000000","message":"do we kill this bit somewhere in the series?","commit_id":"a668e9fc262ec5ac2567d71b0ec8aeec48bf4dca"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c57e87abdff7cbc9160633a8076a7aaeabdb0d2e","unresolved":false,"context_lines":[{"line_number":2461,"context_line":"        \"\"\"Delete a network for client.\"\"\""},{"line_number":2462,"context_line":"        raise NotImplementedError()"},{"line_number":2463,"context_line":""},{"line_number":2464,"context_line":"    def disassociate(self, context, network_uuid):"},{"line_number":2465,"context_line":"        \"\"\"Disassociate a network for client.\"\"\""},{"line_number":2466,"context_line":"        raise NotImplementedError()"},{"line_number":2467,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_07093883","side":"PARENT","line":2464,"updated":"2019-11-26 10:17:45.000000000","message":"Ah, so this change makes good sense, just so we can drop these in a controlled way. Cool.","commit_id":"f03fbf0997d38bacd89bd7407bd6fa606835e168"}],"nova/network/rpcapi.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f07f07f6914eb8c16db582cd5ef4b8043adda240","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                          instance_id\u003dinstance_id, rxtx_factor\u003drxtx_factor,"},{"line_number":209,"context_line":"                          host\u003dhost, address\u003daddress)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def add_network_to_project(self, ctxt, project_id, network_uuid):"},{"line_number":212,"context_line":"        return self.client.call(ctxt, \u0027add_network_to_project\u0027,"},{"line_number":213,"context_line":"                                project_id\u003dproject_id,"},{"line_number":214,"context_line":"                                network_uuid\u003dnetwork_uuid)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_7d97743a","side":"PARENT","line":211,"in_reply_to":"","updated":"2019-11-24 13:46:36.000000000","message":"This looks odd. I thought you weren\u0027t touching rpc but this call also doesn\u0027t look versioned.\n\nBased on the above maybe this should have been removed long ago?","commit_id":"83baeaa9f2baa58e13a26b663199ebb1ab0e7178"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8c61e502dc7f9321fbde14bbfc3cc4723a322409","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                          instance_id\u003dinstance_id, rxtx_factor\u003drxtx_factor,"},{"line_number":209,"context_line":"                          host\u003dhost, address\u003daddress)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def add_network_to_project(self, ctxt, project_id, network_uuid):"},{"line_number":212,"context_line":"        return self.client.call(ctxt, \u0027add_network_to_project\u0027,"},{"line_number":213,"context_line":"                                project_id\u003dproject_id,"},{"line_number":214,"context_line":"                                network_uuid\u003dnetwork_uuid)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_d8a6af54","side":"PARENT","line":211,"in_reply_to":"3fa7e38b_7d97743a","updated":"2019-11-25 14:38:00.000000000","message":"\u003e This looks odd. I thought you weren\u0027t touching rpc but this call\n \u003e also doesn\u0027t look versioned.\n \u003e \n \u003e Based on the above maybe this should have been removed long ago?\n\nIt\u0027s not \"unversioned\" it is just at 1.0, like validate_networks() and many others below.","commit_id":"83baeaa9f2baa58e13a26b663199ebb1ab0e7178"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4d786f765adc516f8dde1596cff43a1a0e41571","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                          instance_id\u003dinstance_id, rxtx_factor\u003drxtx_factor,"},{"line_number":209,"context_line":"                          host\u003dhost, address\u003daddress)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def add_network_to_project(self, ctxt, project_id, network_uuid):"},{"line_number":212,"context_line":"        return self.client.call(ctxt, \u0027add_network_to_project\u0027,"},{"line_number":213,"context_line":"                                project_id\u003dproject_id,"},{"line_number":214,"context_line":"                                network_uuid\u003dnetwork_uuid)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_91e8177b","side":"PARENT","line":211,"in_reply_to":"3fa7e38b_7d97743a","updated":"2019-11-25 10:18:11.000000000","message":"I always get confused about this. This is the client rather than the server, right? As such, I can remove this so long as I don\u0027t remove the other side of this (i.e. \u0027nova/network/manager.py\u0027), yeah?","commit_id":"83baeaa9f2baa58e13a26b663199ebb1ab0e7178"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8c61e502dc7f9321fbde14bbfc3cc4723a322409","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                          instance_id\u003dinstance_id, rxtx_factor\u003drxtx_factor,"},{"line_number":209,"context_line":"                          host\u003dhost, address\u003daddress)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def add_network_to_project(self, ctxt, project_id, network_uuid):"},{"line_number":212,"context_line":"        return self.client.call(ctxt, \u0027add_network_to_project\u0027,"},{"line_number":213,"context_line":"                                project_id\u003dproject_id,"},{"line_number":214,"context_line":"                                network_uuid\u003dnetwork_uuid)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_98627715","side":"PARENT","line":211,"in_reply_to":"3fa7e38b_91e8177b","updated":"2019-11-25 14:38:00.000000000","message":"\u003e I always get confused about this. This is the client rather than\n \u003e the server, right? As such, I can remove this so long as I don\u0027t\n \u003e remove the other side of this (i.e. \u0027nova/network/manager.py\u0027),\n \u003e yeah?\n\nThis is the client side, so if we\u0027re never going to _call_ this again, it can be removed.","commit_id":"83baeaa9f2baa58e13a26b663199ebb1ab0e7178"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f07f07f6914eb8c16db582cd5ef4b8043adda240","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        * NOTE: remove unused method get_floating_ips_by_fixed_address()"},{"line_number":82,"context_line":"        * NOTE: remove unused method get_instance_uuids_by_ip_filter()"},{"line_number":83,"context_line":"        * NOTE: remove unused method disassociate_network()"},{"line_number":84,"context_line":"        * NOTE: remove unused method get_fixed_ip()"},{"line_number":85,"context_line":"        * NOTE: remove unused method get_fixed_ip_by_address()"},{"line_number":86,"context_line":"        * NOTE: remove unused method get_floating_ip()"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_3d9d7c56","line":83,"updated":"2019-11-24 13:46:36.000000000","message":"So this was already removed long ago?","commit_id":"04014f8aa8d208a9cc665798f4d19702d9e33a28"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4d786f765adc516f8dde1596cff43a1a0e41571","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        * NOTE: remove unused method get_floating_ips_by_fixed_address()"},{"line_number":82,"context_line":"        * NOTE: remove unused method get_instance_uuids_by_ip_filter()"},{"line_number":83,"context_line":"        * NOTE: remove unused method disassociate_network()"},{"line_number":84,"context_line":"        * NOTE: remove unused method get_fixed_ip()"},{"line_number":85,"context_line":"        * NOTE: remove unused method get_fixed_ip_by_address()"},{"line_number":86,"context_line":"        * NOTE: remove unused method get_floating_ip()"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_51fe1f38","line":83,"in_reply_to":"3fa7e38b_3d9d7c56","updated":"2019-11-25 10:18:11.000000000","message":"Per below, isn\u0027t this the client which we _are_ allowed to remove things from?","commit_id":"04014f8aa8d208a9cc665798f4d19702d9e33a28"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f07f07f6914eb8c16db582cd5ef4b8043adda240","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        * NOTE: remove unused method deallocate_floating_ip()"},{"line_number":93,"context_line":"        * NOTE: remove unused method associate_floating_ip()"},{"line_number":94,"context_line":"        * NOTE: remove unused method disassociate_floating_ip()"},{"line_number":95,"context_line":"        * NOTE: remove unused method associate()"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        * 1.14 - Add mac parameter to release_fixed_ip()."},{"line_number":98,"context_line":"        * 1.15 - Convert set_network_host() to use Network objects."}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_dda788a7","line":95,"updated":"2019-11-24 13:46:36.000000000","message":"And this.","commit_id":"04014f8aa8d208a9cc665798f4d19702d9e33a28"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f664233c2aef5a92abf92fae3cfefb7b0d1c7f3d","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"@profiler.trace_cls(\"rpc\")"},{"line_number":34,"context_line":"class NetworkAPI(object):"},{"line_number":35,"context_line":"    \u0027\u0027\u0027Client side of the network rpc API."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    API version history:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_c7cb2049","line":34,"updated":"2019-11-26 10:13:00.000000000","message":"I think you delete the network.api, you can just delete the whole RPCAPI?","commit_id":"4367070d656615310e3e637d6ce6ee3bd6206f64"}]}
