)]}'
{"nova/network/manager.py":[{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"aa5c2cb0f29cfb6921ce6dc5da7b8d53ad32949a","unresolved":false,"context_lines":[{"line_number":542,"context_line":"                # NOTE(obondarev): Temporary and transitional"},{"line_number":543,"context_line":"                if isinstance(requested_networks, objects.NetworkRequestList):"},{"line_number":544,"context_line":"                    requested_networks \u003d requested_networks.as_tuples()"},{"line_number":545,"context_line":"                fixed_ip_list \u003d []"},{"line_number":546,"context_line":"                fixed_ips \u003d [ip for (net_id, ip) in requested_networks]"},{"line_number":547,"context_line":"            else:"},{"line_number":548,"context_line":"                fixed_ip_list \u003d objects.FixedIPList.get_by_instance_uuid("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_df9f164f","line":545,"updated":"2015-03-04 12:28:51.000000000","message":"The network ids in requested_networks are missed here, which the added test confirms.","commit_id":"69385f1ecb7fbd76e676a44beab9764ebc4f1d1b"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"0bc35691c66219ca107630dd63576eb2dfd7932b","unresolved":false,"context_lines":[{"line_number":542,"context_line":"                # NOTE(obondarev): Temporary and transitional"},{"line_number":543,"context_line":"                if isinstance(requested_networks, objects.NetworkRequestList):"},{"line_number":544,"context_line":"                    requested_networks \u003d requested_networks.as_tuples()"},{"line_number":545,"context_line":"                fixed_ip_list \u003d []"},{"line_number":546,"context_line":"                fixed_ips \u003d [ip for (net_id, ip) in requested_networks]"},{"line_number":547,"context_line":"            else:"},{"line_number":548,"context_line":"                fixed_ip_list \u003d objects.FixedIPList.get_by_instance_uuid("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f7b4ecf3","line":545,"in_reply_to":"9a80dd14_df9f164f","updated":"2015-03-04 20:31:46.000000000","message":"Ack. please see new changeset.","commit_id":"69385f1ecb7fbd76e676a44beab9764ebc4f1d1b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3298e0b241919aa61a3acea347ebeaed15fffa0e","unresolved":false,"context_lines":[{"line_number":548,"context_line":"            else:"},{"line_number":549,"context_line":"                fixed_ip_list \u003d objects.FixedIPList.get_by_instance_uuid("},{"line_number":550,"context_line":"                    read_deleted_context, instance_uuid)"},{"line_number":551,"context_line":"                network_ids \u003d set([fixed_ip.network_id for fixed_ip"},{"line_number":552,"context_line":"                               in fixed_ip_list])"},{"line_number":553,"context_line":"                fixed_ips \u003d [str(ip.address) for ip in fixed_ip_list]"},{"line_number":554,"context_line":"        except exception.FixedIpNotFoundForInstance:"}],"source_content_type":"text/x-python","patch_set":4,"id":"baa041b7_40ee83ed","line":551,"updated":"2015-04-01 17:41:59.000000000","message":"Need a test for this one as well.","commit_id":"875be546f15e436c1959c6b6f962859209779cdd"}],"nova/tests/unit/network/test_manager.py":[{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"aa5c2cb0f29cfb6921ce6dc5da7b8d53ad32949a","unresolved":false,"context_lines":[{"line_number":2041,"context_line":"                ctx,"},{"line_number":2042,"context_line":"                instance\u003dfake_instance.fake_instance_obj(ctx),"},{"line_number":2043,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":2044,"context_line":"            mock_update_dns.assert_has_calls([])"},{"line_number":2045,"context_line":""},{"line_number":2046,"context_line":"        self.assertEqual(["},{"line_number":2047,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027), (ctx, \u00274.3.2.1\u0027, \u0027fake-host\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_1a5ffc0f","line":2044,"updated":"2015-03-04 12:28:51.000000000","message":"Shouldn\u0027t there be a call for net_id 123 here?","commit_id":"69385f1ecb7fbd76e676a44beab9764ebc4f1d1b"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"0bc35691c66219ca107630dd63576eb2dfd7932b","unresolved":false,"context_lines":[{"line_number":2041,"context_line":"                ctx,"},{"line_number":2042,"context_line":"                instance\u003dfake_instance.fake_instance_obj(ctx),"},{"line_number":2043,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":2044,"context_line":"            mock_update_dns.assert_has_calls([])"},{"line_number":2045,"context_line":""},{"line_number":2046,"context_line":"        self.assertEqual(["},{"line_number":2047,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027), (ctx, \u00274.3.2.1\u0027, \u0027fake-host\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_37e76414","line":2044,"in_reply_to":"9a80dd14_1a5ffc0f","updated":"2015-03-04 20:31:46.000000000","message":"Done","commit_id":"69385f1ecb7fbd76e676a44beab9764ebc4f1d1b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"191298e5928b8db8c89d94a03ed943a3c3ab036a","unresolved":false,"context_lines":[{"line_number":2054,"context_line":"            manager.deallocate_for_instance("},{"line_number":2055,"context_line":"                ctx,"},{"line_number":2056,"context_line":"                instance\u003dfake_instance.fake_instance_obj(ctx),"},{"line_number":2057,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":2058,"context_line":"            mock_update_dns.assert_has_calls([mock.call(ctx, [\u0027123\u0027])])"},{"line_number":2059,"context_line":""},{"line_number":2060,"context_line":"        self.assertEqual(["}],"source_content_type":"text/x-python","patch_set":4,"id":"baa041b7_00d87b52","line":2057,"updated":"2015-04-01 17:41:41.000000000","message":"Let\u0027s also test the path where requested_networks is None and we have to go to the database via the FixedIPList object.","commit_id":"875be546f15e436c1959c6b6f962859209779cdd"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"65e5e9fecaa7cbeb9dbed2ad44675024beedb0eb","unresolved":false,"context_lines":[{"line_number":2023,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027)"},{"line_number":2024,"context_line":"        ], manager.deallocate_fixed_ip_calls)"},{"line_number":2025,"context_line":""},{"line_number":2026,"context_line":"    @mock.patch(\u0027nova.db.instance_get\u0027)"},{"line_number":2027,"context_line":"    @mock.patch(\u0027nova.db.fixed_ip_get_by_instance\u0027)"},{"line_number":2028,"context_line":"    def test_deallocate_for_instance_passes_host_info_with_update_dns_entries("},{"line_number":2029,"context_line":"            self, fixed_get, instance_get):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_b6a3559e","line":2026,"updated":"2015-04-01 18:34:46.000000000","message":"I\u0027m not sure this is needed actually.","commit_id":"2cfc0d0286c66d1eb572f11692794f7725bfa0a1"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"e3740e708c971bb60f91a7bb8f72601bddb9c2cb","unresolved":false,"context_lines":[{"line_number":2023,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027)"},{"line_number":2024,"context_line":"        ], manager.deallocate_fixed_ip_calls)"},{"line_number":2025,"context_line":""},{"line_number":2026,"context_line":"    @mock.patch(\u0027nova.db.instance_get\u0027)"},{"line_number":2027,"context_line":"    @mock.patch(\u0027nova.db.fixed_ip_get_by_instance\u0027)"},{"line_number":2028,"context_line":"    def test_deallocate_for_instance_passes_host_info_with_update_dns_entries("},{"line_number":2029,"context_line":"            self, fixed_get, instance_get):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_f6b55d7e","line":2026,"in_reply_to":"baa041b7_b6a3559e","updated":"2015-04-01 18:42:56.000000000","message":"Done","commit_id":"2cfc0d0286c66d1eb572f11692794f7725bfa0a1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"85b9fa103daca675b3e75b06957daf47e6df6e32","unresolved":false,"context_lines":[{"line_number":2041,"context_line":"        with mock.patch.object(manager.network_rpcapi,"},{"line_number":2042,"context_line":"                               \u0027update_dns\u0027) as mock_update_dns:"},{"line_number":2043,"context_line":"            manager.deallocate_for_instance("},{"line_number":2044,"context_line":"                ctx, instance\u003dobjects.Instance._from_db_object(self.context,"},{"line_number":2045,"context_line":"                    objects.Instance(), instance_get.return_value))"},{"line_number":2046,"context_line":"            mock_update_dns.assert_has_calls([mock.call(ctx, [\u0027123\u0027])])"},{"line_number":2047,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_96e4d10d","line":2044,"updated":"2015-04-01 18:33:25.000000000","message":"Why not just instance\u003dfake_instance.fake_instance_obj(ctx) like in the other deallocate tests?","commit_id":"2cfc0d0286c66d1eb572f11692794f7725bfa0a1"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"e3740e708c971bb60f91a7bb8f72601bddb9c2cb","unresolved":false,"context_lines":[{"line_number":2041,"context_line":"        with mock.patch.object(manager.network_rpcapi,"},{"line_number":2042,"context_line":"                               \u0027update_dns\u0027) as mock_update_dns:"},{"line_number":2043,"context_line":"            manager.deallocate_for_instance("},{"line_number":2044,"context_line":"                ctx, instance\u003dobjects.Instance._from_db_object(self.context,"},{"line_number":2045,"context_line":"                    objects.Instance(), instance_get.return_value))"},{"line_number":2046,"context_line":"            mock_update_dns.assert_has_calls([mock.call(ctx, [\u0027123\u0027])])"},{"line_number":2047,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_d6ba596e","line":2044,"in_reply_to":"baa041b7_96e4d10d","updated":"2015-04-01 18:42:56.000000000","message":"Done","commit_id":"2cfc0d0286c66d1eb572f11692794f7725bfa0a1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"85b9fa103daca675b3e75b06957daf47e6df6e32","unresolved":false,"context_lines":[{"line_number":2043,"context_line":"            manager.deallocate_for_instance("},{"line_number":2044,"context_line":"                ctx, instance\u003dobjects.Instance._from_db_object(self.context,"},{"line_number":2045,"context_line":"                    objects.Instance(), instance_get.return_value))"},{"line_number":2046,"context_line":"            mock_update_dns.assert_has_calls([mock.call(ctx, [\u0027123\u0027])])"},{"line_number":2047,"context_line":""},{"line_number":2048,"context_line":"        self.assertEqual(["},{"line_number":2049,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_d6aff992","line":2046,"updated":"2015-04-01 18:33:25.000000000","message":"nit: would be cleaner as mock_update_dns.assert_called_once_with(ctxt, [\u0027123\u0027])","commit_id":"2cfc0d0286c66d1eb572f11692794f7725bfa0a1"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"e3740e708c971bb60f91a7bb8f72601bddb9c2cb","unresolved":false,"context_lines":[{"line_number":2043,"context_line":"            manager.deallocate_for_instance("},{"line_number":2044,"context_line":"                ctx, instance\u003dobjects.Instance._from_db_object(self.context,"},{"line_number":2045,"context_line":"                    objects.Instance(), instance_get.return_value))"},{"line_number":2046,"context_line":"            mock_update_dns.assert_has_calls([mock.call(ctx, [\u0027123\u0027])])"},{"line_number":2047,"context_line":""},{"line_number":2048,"context_line":"        self.assertEqual(["},{"line_number":2049,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_b6b0f58c","line":2046,"in_reply_to":"baa041b7_d6aff992","updated":"2015-04-01 18:42:56.000000000","message":"Done","commit_id":"2cfc0d0286c66d1eb572f11692794f7725bfa0a1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"85b9fa103daca675b3e75b06957daf47e6df6e32","unresolved":false,"context_lines":[{"line_number":2081,"context_line":"                ctx,"},{"line_number":2082,"context_line":"                instance\u003dfake_instance.fake_instance_obj(ctx),"},{"line_number":2083,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":2084,"context_line":"            mock_update_dns.assert_has_calls([mock.call(ctx, [\u0027123\u0027])])"},{"line_number":2085,"context_line":""},{"line_number":2086,"context_line":"        self.assertEqual(["},{"line_number":2087,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027), (ctx, \u00274.3.2.1\u0027, \u0027fake-host\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_96929156","line":2084,"updated":"2015-04-01 18:33:25.000000000","message":"nit: would be cleaner as mock_update_dns.assert_called_once_with(ctxt, [\u0027123\u0027])","commit_id":"2cfc0d0286c66d1eb572f11692794f7725bfa0a1"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"e3740e708c971bb60f91a7bb8f72601bddb9c2cb","unresolved":false,"context_lines":[{"line_number":2081,"context_line":"                ctx,"},{"line_number":2082,"context_line":"                instance\u003dfake_instance.fake_instance_obj(ctx),"},{"line_number":2083,"context_line":"                requested_networks\u003drequested_networks)"},{"line_number":2084,"context_line":"            mock_update_dns.assert_has_calls([mock.call(ctx, [\u0027123\u0027])])"},{"line_number":2085,"context_line":""},{"line_number":2086,"context_line":"        self.assertEqual(["},{"line_number":2087,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027), (ctx, \u00274.3.2.1\u0027, \u0027fake-host\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_96adf133","line":2084,"in_reply_to":"baa041b7_96929156","updated":"2015-04-01 18:42:56.000000000","message":"Done","commit_id":"2cfc0d0286c66d1eb572f11692794f7725bfa0a1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"889f061a18f25c1e428576e4ceceb082daf6a96c","unresolved":false,"context_lines":[{"line_number":2023,"context_line":"            (ctx, \u00271.2.3.4\u0027, \u0027fake-host\u0027)"},{"line_number":2024,"context_line":"        ], manager.deallocate_fixed_ip_calls)"},{"line_number":2025,"context_line":""},{"line_number":2026,"context_line":"    @mock.patch(\u0027nova.db.instance_get\u0027)"},{"line_number":2027,"context_line":"    @mock.patch(\u0027nova.db.fixed_ip_get_by_instance\u0027)"},{"line_number":2028,"context_line":"    def test_deallocate_for_instance_passes_host_info_with_update_dns_entries("},{"line_number":2029,"context_line":"            self, fixed_get, instance_get):"}],"source_content_type":"text/x-python","patch_set":6,"id":"baa041b7_b6547554","line":2026,"updated":"2015-04-01 18:40:46.000000000","message":"This is no longer used.","commit_id":"a170d926bbbd686f730cdd2de68b0caf121d1517"}]}
