)]}'
{"nova/network/l3.py":[{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"f9884a94981ac05d9d4dfdc4a423650741650adb","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        networks \u003d kwargs.get(\u0027networks\u0027)"},{"line_number":84,"context_line":"        if fixed_range is not None:"},{"line_number":85,"context_line":"            linux_net.init_host()"},{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            for network in networks:"},{"line_number":88,"context_line":"                self.initialize_network(network[\u0027cidr\u0027])"},{"line_number":89,"context_line":"        linux_net.ensure_metadata_ip()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAN3%2F%2F1Wo%3D","line":86,"updated":"2013-03-10 16:02:37.000000000","message":"Should we check of networks is None?","commit_id":"30ee49afc971d8c59081363b3ee805c40c54fdc4"},{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"b3dcbc4df8e434b530cedb425efd6dda44b941be","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        networks \u003d kwargs.get(\u0027networks\u0027)"},{"line_number":84,"context_line":"        if fixed_range is not None:"},{"line_number":85,"context_line":"            linux_net.init_host()"},{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            for network in networks:"},{"line_number":88,"context_line":"                self.initialize_network(network[\u0027cidr\u0027])"},{"line_number":89,"context_line":"        linux_net.ensure_metadata_ip()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAN3%2F%2F1VQ%3D","line":86,"in_reply_to":"AAAAN3%2F%2F1Wo%3D","updated":"2013-03-10 16:23:14.000000000","message":"Done","commit_id":"30ee49afc971d8c59081363b3ee805c40c54fdc4"},{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"590d06af60281329445710415e7931e5286ca5f4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        networks \u003d kwargs.get(\u0027networks\u0027)"},{"line_number":84,"context_line":"        if fixed_range is not None:"},{"line_number":85,"context_line":"            linux_net.init_host()"},{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            for network in networks:"},{"line_number":88,"context_line":"                self.initialize_network(network[\u0027cidr\u0027])"},{"line_number":89,"context_line":"        linux_net.ensure_metadata_ip()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAN3%2F%2F1WQ%3D","line":86,"in_reply_to":"AAAAN3%2F%2F1Wo%3D","updated":"2013-03-10 16:20:17.000000000","message":"Good catch. If fixed_range is not None and networks is None it won\u0027t matter since it will call init_host() and use the CONF.fixed_range value.  But if fixed_range is None and networks is None it will try to iterate on networks and throw TypeError: \u0027NoneType\u0027 object is not iterable. I\u0027ll add defaults to the kwargs.get for both fixed_range and networks.","commit_id":"30ee49afc971d8c59081363b3ee805c40c54fdc4"}],"nova/network/manager.py":[{"author":{"_account_id":1711,"name":"Yun Mao","email":"yunmao@gmail.com","username":"yunmao"},"change_message_id":"e6832a40cd04a8a5fa07067074d377cce34d6056","unresolved":false,"context_lines":[{"line_number":1646,"context_line":"        else:"},{"line_number":1647,"context_line":"            ctxt \u003d context.get_admin_context()"},{"line_number":1648,"context_line":"            networks \u003d self.db.network_get_all_by_host(ctxt, self.host)"},{"line_number":1649,"context_line":"            self.l3driver.initialize(fixed_range\u003dCONF.fixed_range,"},{"line_number":1650,"context_line":"                                     networks\u003dnetworks)"},{"line_number":1651,"context_line":"        NetworkManager.init_host(self)"},{"line_number":1652,"context_line":"        self.init_host_floating_ips()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F3LM%3D","line":1649,"updated":"2013-03-08 13:25:59.000000000","message":"so here CONF.fixed_range is guaranteed to be None. right? seems using None makes it more explicit.","commit_id":"50cce53e90a3ae29592a969d06afe942b35f70b0"},{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"41b766522e086aa16328f1f2bc485026dcd61b93","unresolved":false,"context_lines":[{"line_number":1646,"context_line":"        else:"},{"line_number":1647,"context_line":"            ctxt \u003d context.get_admin_context()"},{"line_number":1648,"context_line":"            networks \u003d self.db.network_get_all_by_host(ctxt, self.host)"},{"line_number":1649,"context_line":"            self.l3driver.initialize(fixed_range\u003dCONF.fixed_range,"},{"line_number":1650,"context_line":"                                     networks\u003dnetworks)"},{"line_number":1651,"context_line":"        NetworkManager.init_host(self)"},{"line_number":1652,"context_line":"        self.init_host_floating_ips()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F1ks%3D","line":1649,"in_reply_to":"AAAAN3%2F%2F3LM%3D","updated":"2013-03-10 04:29:01.000000000","message":"Done","commit_id":"50cce53e90a3ae29592a969d06afe942b35f70b0"},{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"01dce484dcacae72140d3e45642166b290a46099","unresolved":false,"context_lines":[{"line_number":1646,"context_line":"        else:"},{"line_number":1647,"context_line":"            ctxt \u003d context.get_admin_context()"},{"line_number":1648,"context_line":"            networks \u003d self.db.network_get_all_by_host(ctxt, self.host)"},{"line_number":1649,"context_line":"            self.l3driver.initialize(fixed_range\u003dCONF.fixed_range,"},{"line_number":1650,"context_line":"                                     networks\u003dnetworks)"},{"line_number":1651,"context_line":"        NetworkManager.init_host(self)"},{"line_number":1652,"context_line":"        self.init_host_floating_ips()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F27Q%3D","line":1649,"in_reply_to":"AAAAN3%2F%2F3LM%3D","updated":"2013-03-08 17:22:24.000000000","message":"Will do.","commit_id":"50cce53e90a3ae29592a969d06afe942b35f70b0"}],"nova/tests/network/test_manager.py":[{"author":{"_account_id":1711,"name":"Yun Mao","email":"yunmao@gmail.com","username":"yunmao"},"change_message_id":"2c343d546c17821c285a8079002132e516cc49e6","unresolved":false,"context_lines":[{"line_number":1773,"context_line":"        # Test new behavior:"},{"line_number":1774,"context_line":"        #     CONF.fixed_range is not set, defaults to None"},{"line_number":1775,"context_line":"        #     Determine networks to NAT based on lookup"},{"line_number":1776,"context_line":"        self._test_init_host_dynamic_fixed_range(self.network)"},{"line_number":1777,"context_line":""},{"line_number":1778,"context_line":"    def test_vlanmanager_fixed_range(self):"},{"line_number":1779,"context_line":"        \"\"\"Test VlanManager NAT rules for fixed_range.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAN3%2F%2F0e0%3D","line":1776,"updated":"2013-03-11 14:54:13.000000000","message":"two tests in one test function.","commit_id":"32f09d9fae99389098f7d54ee0a170ad821a1c5c"},{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"9658d0f85a3398d583a2694903a788b1925604b5","unresolved":false,"context_lines":[{"line_number":1773,"context_line":"        # Test new behavior:"},{"line_number":1774,"context_line":"        #     CONF.fixed_range is not set, defaults to None"},{"line_number":1775,"context_line":"        #     Determine networks to NAT based on lookup"},{"line_number":1776,"context_line":"        self._test_init_host_dynamic_fixed_range(self.network)"},{"line_number":1777,"context_line":""},{"line_number":1778,"context_line":"    def test_vlanmanager_fixed_range(self):"},{"line_number":1779,"context_line":"        \"\"\"Test VlanManager NAT rules for fixed_range.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAN3%2F%2FzfM%3D","line":1776,"in_reply_to":"AAAAN3%2F%2F0e0%3D","updated":"2013-03-11 23:20:42.000000000","message":"Done","commit_id":"32f09d9fae99389098f7d54ee0a170ad821a1c5c"},{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"43820176ce9378aab213415d80dddf895491ec4b","unresolved":false,"context_lines":[{"line_number":1773,"context_line":"        # Test new behavior:"},{"line_number":1774,"context_line":"        #     CONF.fixed_range is not set, defaults to None"},{"line_number":1775,"context_line":"        #     Determine networks to NAT based on lookup"},{"line_number":1776,"context_line":"        self._test_init_host_dynamic_fixed_range(self.network)"},{"line_number":1777,"context_line":""},{"line_number":1778,"context_line":"    def test_vlanmanager_fixed_range(self):"},{"line_number":1779,"context_line":"        \"\"\"Test VlanManager NAT rules for fixed_range.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAN3%2F%2F0Qk%3D","line":1776,"in_reply_to":"AAAAN3%2F%2F0e0%3D","updated":"2013-03-11 16:12:27.000000000","message":"Ok, I can split these out into separate test functions.  I.e. test_flatdhcpmanager_fixed_range_static(), test_flatdhcpmanager_fixed_range_dynamic(),\ntest_vlanmanager_fixed_range_static(), test_vlanmanager_fixed_range_dynamic(),","commit_id":"32f09d9fae99389098f7d54ee0a170ad821a1c5c"},{"author":{"_account_id":1711,"name":"Yun Mao","email":"yunmao@gmail.com","username":"yunmao"},"change_message_id":"2c343d546c17821c285a8079002132e516cc49e6","unresolved":false,"context_lines":[{"line_number":1788,"context_line":"        # Test new behavior:"},{"line_number":1789,"context_line":"        #     CONF.fixed_range is not set, defaults to None"},{"line_number":1790,"context_line":"        #     Determine networks to NAT based on lookup"},{"line_number":1791,"context_line":"        self._test_init_host_dynamic_fixed_range(self.network)"},{"line_number":1792,"context_line":""},{"line_number":1793,"context_line":""},{"line_number":1794,"context_line":"class TestRPCFixedManager(network_manager.RPCAllocateFixedIP,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAN3%2F%2F0ew%3D","line":1791,"updated":"2013-03-11 14:54:13.000000000","message":"two tests in one test function.","commit_id":"32f09d9fae99389098f7d54ee0a170ad821a1c5c"},{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"9658d0f85a3398d583a2694903a788b1925604b5","unresolved":false,"context_lines":[{"line_number":1788,"context_line":"        # Test new behavior:"},{"line_number":1789,"context_line":"        #     CONF.fixed_range is not set, defaults to None"},{"line_number":1790,"context_line":"        #     Determine networks to NAT based on lookup"},{"line_number":1791,"context_line":"        self._test_init_host_dynamic_fixed_range(self.network)"},{"line_number":1792,"context_line":""},{"line_number":1793,"context_line":""},{"line_number":1794,"context_line":"class TestRPCFixedManager(network_manager.RPCAllocateFixedIP,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAN3%2F%2FzfI%3D","line":1791,"in_reply_to":"AAAAN3%2F%2F0ew%3D","updated":"2013-03-11 23:20:42.000000000","message":"Done","commit_id":"32f09d9fae99389098f7d54ee0a170ad821a1c5c"}]}
