)]}'
{"neutron/tests/functional/scheduler/test_dhcp_agent_scheduler.py":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea1c2ec1ae059d49f70cd078eb127dfce58f536f","unresolved":false,"context_lines":[{"line_number":453,"context_line":"              down_agent_count\u003d[0, 0],"},{"line_number":454,"context_line":"              expected_scheduled_agent_count\u003d[1, 0])),"},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        (\u0027Multi hints, Multi angents Scheduled agents of the specified AZs\u0027,"},{"line_number":457,"context_line":"         dict(az_count\u003d3,"},{"line_number":458,"context_line":"              network_az_hints\u003d2,"},{"line_number":459,"context_line":"              agent_count\u003d[1, 1, 1],"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_ea03780e","line":456,"updated":"2015-09-04 12:08:31.000000000","message":"s/angents/agents/","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"733c266fb8e442e935ed510ac10078db309b7173","unresolved":false,"context_lines":[{"line_number":453,"context_line":"              down_agent_count\u003d[0, 0],"},{"line_number":454,"context_line":"              expected_scheduled_agent_count\u003d[1, 0])),"},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        (\u0027Multi hints, Multi angents Scheduled agents of the specified AZs\u0027,"},{"line_number":457,"context_line":"         dict(az_count\u003d3,"},{"line_number":458,"context_line":"              network_az_hints\u003d2,"},{"line_number":459,"context_line":"              agent_count\u003d[1, 1, 1],"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_995c974c","line":456,"in_reply_to":"da20952f_ea03780e","updated":"2015-09-04 14:26:41.000000000","message":"Done","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"205cd5a8a401eee7a1325da790ad8d58fbee592d","unresolved":false,"context_lines":[{"line_number":528,"context_line":""},{"line_number":529,"context_line":"        actual_scheduled_agents \u003d self.scheduler.schedule(self, self.ctx,"},{"line_number":530,"context_line":"                                                          self.network)"},{"line_number":531,"context_line":"        scheduled_azs \u003d {}"},{"line_number":532,"context_line":"        for agent in actual_scheduled_agents:"},{"line_number":533,"context_line":"            az \u003d agent[\u0027availability_zone\u0027]"},{"line_number":534,"context_line":"            if az in scheduled_azs:"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_6ee66ce9","line":531,"updated":"2015-10-09 09:46:51.000000000","message":"Why you didn\u0027t use here collections.defaultdict?","commit_id":"6419f5785d0b49ff5fed3c77289186dd3c52d9d4"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"205cd5a8a401eee7a1325da790ad8d58fbee592d","unresolved":false,"context_lines":[{"line_number":538,"context_line":""},{"line_number":539,"context_line":"        hosted_agents \u003d self.list_dhcp_agents_hosting_network("},{"line_number":540,"context_line":"                            self.ctx, self.network_id)"},{"line_number":541,"context_line":"        hosted_azs \u003d {}"},{"line_number":542,"context_line":"        for agent in hosted_agents[\u0027agents\u0027]:"},{"line_number":543,"context_line":"            az \u003d agent[\u0027availability_zone\u0027]"},{"line_number":544,"context_line":"            if az in hosted_azs:"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_6efd0c6d","line":541,"updated":"2015-10-09 09:46:51.000000000","message":"Here again - collections.defaultdict","commit_id":"6419f5785d0b49ff5fed3c77289186dd3c52d9d4"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"c6c354c4803dc6aa5d458000805bd02ed8d8dd02","unresolved":false,"context_lines":[{"line_number":322,"context_line":"              expected_hosted_networks\u003d{\u0027agent-0\u0027: [],"},{"line_number":323,"context_line":"                                        \u0027agent-1\u0027: []})),"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        (\u0027No agents scheduled if unscheduled network is not match AZ\u0027,"},{"line_number":326,"context_line":"         dict(agent_count\u003d1,"},{"line_number":327,"context_line":"              max_agents_per_network\u003d1,"},{"line_number":328,"context_line":"              network_count\u003d1,"}],"source_content_type":"text/x-python","patch_set":26,"id":"9a8ffd7b_3a7b817d","line":325,"updated":"2015-12-01 02:16:02.000000000","message":"is not -\u003e does not","commit_id":"e7b103712187b5f5740836430b6d40139f2c1cae"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"e9f3bdebc30bda026a64a4743aef84ad8bfe4bb4","unresolved":false,"context_lines":[{"line_number":322,"context_line":"              expected_hosted_networks\u003d{\u0027agent-0\u0027: [],"},{"line_number":323,"context_line":"                                        \u0027agent-1\u0027: []})),"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        (\u0027No agents scheduled if unscheduled network is not match AZ\u0027,"},{"line_number":326,"context_line":"         dict(agent_count\u003d1,"},{"line_number":327,"context_line":"              max_agents_per_network\u003d1,"},{"line_number":328,"context_line":"              network_count\u003d1,"}],"source_content_type":"text/x-python","patch_set":26,"id":"9a8ffd7b_a5be76d2","line":325,"in_reply_to":"9a8ffd7b_3a7b817d","updated":"2015-12-01 02:59:47.000000000","message":"Done","commit_id":"e7b103712187b5f5740836430b6d40139f2c1cae"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"95f2a2b6c7a6eab148acb7cbde57a8c162c79791","unresolved":false,"context_lines":[{"line_number":330,"context_line":"              hosted_networks\u003d{},"},{"line_number":331,"context_line":"              expected_auto_schedule_return_value\u003dTrue,"},{"line_number":332,"context_line":"              expected_hosted_networks\u003d{\u0027agent-0\u0027: []},"},{"line_number":333,"context_line":"              az_match\u003dFalse)),"},{"line_number":334,"context_line":"    ]"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    def _strip_host_index(self, name):"}],"source_content_type":"text/x-python","patch_set":30,"id":"9a8ffd7b_f7281899","line":333,"updated":"2015-12-03 09:46:43.000000000","message":"It would be better to add some comment for \"az_match\"","commit_id":"44bbf4a8832f6f694f66581dfa4602a0111948da"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"24f9a61126bf334d2c8db572cebda8504ae51d20","unresolved":false,"context_lines":[{"line_number":330,"context_line":"              hosted_networks\u003d{},"},{"line_number":331,"context_line":"              expected_auto_schedule_return_value\u003dTrue,"},{"line_number":332,"context_line":"              expected_hosted_networks\u003d{\u0027agent-0\u0027: []},"},{"line_number":333,"context_line":"              az_match\u003dFalse)),"},{"line_number":334,"context_line":"    ]"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    def _strip_host_index(self, name):"}],"source_content_type":"text/x-python","patch_set":30,"id":"7a740942_b1877d60","line":333,"in_reply_to":"9a8ffd7b_f7281899","updated":"2015-12-04 14:57:01.000000000","message":"Done","commit_id":"44bbf4a8832f6f694f66581dfa4602a0111948da"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"95f2a2b6c7a6eab148acb7cbde57a8c162c79791","unresolved":false,"context_lines":[{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def get_network(self, context, net_id):"},{"line_number":360,"context_line":"        az_hints \u003d []"},{"line_number":361,"context_line":"        if hasattr(self, \u0027az_match\u0027) and not self.az_match:"},{"line_number":362,"context_line":"            az_hints \u003d [\u0027not-match\u0027]"},{"line_number":363,"context_line":"        return {\u0027availability_zone_hints\u0027: az_hints}"},{"line_number":364,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"9a8ffd7b_1a238157","line":361,"updated":"2015-12-03 09:46:43.000000000","message":"This is the same as \"getattr(self, \u0027az_match\u0027, False)\"","commit_id":"44bbf4a8832f6f694f66581dfa4602a0111948da"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"24f9a61126bf334d2c8db572cebda8504ae51d20","unresolved":false,"context_lines":[{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def get_network(self, context, net_id):"},{"line_number":360,"context_line":"        az_hints \u003d []"},{"line_number":361,"context_line":"        if hasattr(self, \u0027az_match\u0027) and not self.az_match:"},{"line_number":362,"context_line":"            az_hints \u003d [\u0027not-match\u0027]"},{"line_number":363,"context_line":"        return {\u0027availability_zone_hints\u0027: az_hints}"},{"line_number":364,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"7a740942_7181154a","line":361,"in_reply_to":"9a8ffd7b_1a238157","updated":"2015-12-04 14:57:01.000000000","message":"Done","commit_id":"44bbf4a8832f6f694f66581dfa4602a0111948da"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"95f2a2b6c7a6eab148acb7cbde57a8c162c79791","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            self._test_auto_schedule(i)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"class TestAZAwareWeightScheduler(test_dhcp_sch.TestDhcpSchedulerBaseTestCase,"},{"line_number":419,"context_line":"                                 agentschedulers_db.DhcpAgentSchedulerDbMixin,"},{"line_number":420,"context_line":"                                 agents_db.AgentDbMixin,"},{"line_number":421,"context_line":"                                 common_db_mixin.CommonDbMixin):"}],"source_content_type":"text/x-python","patch_set":30,"id":"9a8ffd7b_f7ea58d7","line":418,"updated":"2015-12-03 09:46:43.000000000","message":"Have you consider cases network_az_hints\u003d0?","commit_id":"44bbf4a8832f6f694f66581dfa4602a0111948da"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"24f9a61126bf334d2c8db572cebda8504ae51d20","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            self._test_auto_schedule(i)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"class TestAZAwareWeightScheduler(test_dhcp_sch.TestDhcpSchedulerBaseTestCase,"},{"line_number":419,"context_line":"                                 agentschedulers_db.DhcpAgentSchedulerDbMixin,"},{"line_number":420,"context_line":"                                 agents_db.AgentDbMixin,"},{"line_number":421,"context_line":"                                 common_db_mixin.CommonDbMixin):"}],"source_content_type":"text/x-python","patch_set":30,"id":"7a740942_71f835e6","line":418,"in_reply_to":"9a8ffd7b_f7ea58d7","updated":"2015-12-04 14:57:01.000000000","message":"Done","commit_id":"44bbf4a8832f6f694f66581dfa4602a0111948da"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"68097de0509b82eea0a82e1d5fddc802f9b0d1f9","unresolved":false,"context_lines":[{"line_number":506,"context_line":""},{"line_number":507,"context_line":"        (\u0027No hint, Scheduled independent to AZ\u0027,"},{"line_number":508,"context_line":"         dict(az_count\u003d3,"},{"line_number":509,"context_line":"              network_az_hints\u003d0,"},{"line_number":510,"context_line":"              agent_count\u003d[1, 1, 1],"},{"line_number":511,"context_line":"              max_agents_per_network\u003d3,"},{"line_number":512,"context_line":"              scheduled_agent_count\u003d[0, 0, 0],"}],"source_content_type":"text/x-python","patch_set":31,"id":"7a740942_5b473e4b","line":509,"updated":"2015-12-05 02:42:17.000000000","message":"Hi, Hirofumi Ichihara. I tested network AZ yesterday and found this issue [1] about network_az_hints\u003d0 and  max_agents_per_network \u003d 1, and I would like to invite you to review [2]. Could you pls give some advice for it?\n\n[1] https://bugs.launchpad.net/neutron/+bug/1522677\n[2] https://review.openstack.org/253330","commit_id":"9aa0740de3f6497fe7efaf96fbd377ec3269d984"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"337ef6cf09286fa0826678ee99fd91eecd3effeb","unresolved":false,"context_lines":[{"line_number":506,"context_line":""},{"line_number":507,"context_line":"        (\u0027No hint, Scheduled independent to AZ\u0027,"},{"line_number":508,"context_line":"         dict(az_count\u003d3,"},{"line_number":509,"context_line":"              network_az_hints\u003d0,"},{"line_number":510,"context_line":"              agent_count\u003d[1, 1, 1],"},{"line_number":511,"context_line":"              max_agents_per_network\u003d3,"},{"line_number":512,"context_line":"              scheduled_agent_count\u003d[0, 0, 0],"}],"source_content_type":"text/x-python","patch_set":31,"id":"7a740942_b1abe188","line":509,"in_reply_to":"7a740942_5b473e4b","updated":"2015-12-05 06:27:53.000000000","message":"Sure :)","commit_id":"9aa0740de3f6497fe7efaf96fbd377ec3269d984"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"77a996056f60bdd9d33a2b066629930976454be1","unresolved":false,"context_lines":[{"line_number":215,"context_line":"            after the \u0027auto_schedule_networks\u0027 function is called."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        no_network_with_az_match"},{"line_number":218,"context_line":"            If this parameter is True, there is no unscheduled network with"},{"line_number":219,"context_line":"            availability_zone_hints matches to an availability_zone of agents"},{"line_number":220,"context_line":"            to be scheduled. The default is False."},{"line_number":221,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":32,"id":"5a710552_9869668e","line":218,"range":{"start_line":218,"start_character":71,"end_line":218,"end_character":75},"updated":"2015-12-15 08:03:35.000000000","message":"whose?","commit_id":"5700afb3201b240e9cc8bfaf7a86b69ce66aacec"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"77a996056f60bdd9d33a2b066629930976454be1","unresolved":false,"context_lines":[{"line_number":436,"context_line":"            Number of dhcp agents (also number of hosts)."},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"        max_agents_per_network"},{"line_number":439,"context_line":"            Maximum  DHCP Agents that can be scheduled for a network."},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"        scheduled_agent_count[each az]"},{"line_number":442,"context_line":"            Number of agents the network has previously scheduled"}],"source_content_type":"text/x-python","patch_set":32,"id":"5a710552_b8f9c2ca","line":439,"range":{"start_line":439,"start_character":19,"end_line":439,"end_character":21},"updated":"2015-12-15 08:03:35.000000000","message":"extra space","commit_id":"5700afb3201b240e9cc8bfaf7a86b69ce66aacec"}],"neutron/tests/functional/scheduler/test_l3_agent_scheduler.py":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea1c2ec1ae059d49f70cd078eb127dfce58f536f","unresolved":false,"context_lines":[{"line_number":325,"context_line":"            0 means test for regular router."},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"        min_l3_agents_per_router"},{"line_number":328,"context_line":"            Mininum number of agents on which a router will be scheduled."},{"line_number":329,"context_line":"            N/A for regular router test."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        down_agent_count[each az]"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_8570afa5","line":328,"updated":"2015-09-04 12:08:31.000000000","message":"s/mininum/minimum/","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"733c266fb8e442e935ed510ac10078db309b7173","unresolved":false,"context_lines":[{"line_number":325,"context_line":"            0 means test for regular router."},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"        min_l3_agents_per_router"},{"line_number":328,"context_line":"            Mininum number of agents on which a router will be scheduled."},{"line_number":329,"context_line":"            N/A for regular router test."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        down_agent_count[each az]"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_59527f36","line":328,"in_reply_to":"da20952f_8570afa5","updated":"2015-09-04 14:26:41.000000000","message":"Done","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea1c2ec1ae059d49f70cd078eb127dfce58f536f","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    \"\"\""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    scenarios \u003d ["},{"line_number":339,"context_line":"        (\u0027Reguler router, Scheduled specified AZ\u0027,"},{"line_number":340,"context_line":"         dict(az_count\u003d2,"},{"line_number":341,"context_line":"              router_az_hints\u003d1,"},{"line_number":342,"context_line":"              agent_count\u003d[1, 1],"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_45ae17e7","line":339,"updated":"2015-09-04 12:08:31.000000000","message":"s/Reguler/Regular/","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"733c266fb8e442e935ed510ac10078db309b7173","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    \"\"\""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    scenarios \u003d ["},{"line_number":339,"context_line":"        (\u0027Reguler router, Scheduled specified AZ\u0027,"},{"line_number":340,"context_line":"         dict(az_count\u003d2,"},{"line_number":341,"context_line":"              router_az_hints\u003d1,"},{"line_number":342,"context_line":"              agent_count\u003d[1, 1],"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_19372700","line":339,"in_reply_to":"da20952f_45ae17e7","updated":"2015-09-04 14:26:41.000000000","message":"Done","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea1c2ec1ae059d49f70cd078eb127dfce58f536f","unresolved":false,"context_lines":[{"line_number":445,"context_line":"            0 means test for regular router."},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"        min_l3_agents_per_router"},{"line_number":448,"context_line":"            Mininum number of agents on which a router will be scheduled."},{"line_number":449,"context_line":"            N/A for regular router test."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        down_agent_count[each az]"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_e55f2b0d","line":448,"updated":"2015-09-04 12:08:31.000000000","message":"s/mininum/minimum/","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"733c266fb8e442e935ed510ac10078db309b7173","unresolved":false,"context_lines":[{"line_number":445,"context_line":"            0 means test for regular router."},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"        min_l3_agents_per_router"},{"line_number":448,"context_line":"            Mininum number of agents on which a router will be scheduled."},{"line_number":449,"context_line":"            N/A for regular router test."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        down_agent_count[each az]"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_b9371bfd","line":448,"in_reply_to":"da20952f_e55f2b0d","updated":"2015-09-04 14:26:41.000000000","message":"Done","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea1c2ec1ae059d49f70cd078eb127dfce58f536f","unresolved":false,"context_lines":[{"line_number":459,"context_line":"    \"\"\""},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"    scenarios \u003d ["},{"line_number":462,"context_line":"        (\u0027Reguler router, not scheduled, agent in specified AZ activated\u0027,"},{"line_number":463,"context_line":"         dict(az_count\u003d2,"},{"line_number":464,"context_line":"              router_az_hints\u003d1,"},{"line_number":465,"context_line":"              agent_az\u003d\u0027az0\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_05b49f32","line":462,"updated":"2015-09-04 12:08:31.000000000","message":"s/Reguler/Regular/","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"733c266fb8e442e935ed510ac10078db309b7173","unresolved":false,"context_lines":[{"line_number":459,"context_line":"    \"\"\""},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"    scenarios \u003d ["},{"line_number":462,"context_line":"        (\u0027Reguler router, not scheduled, agent in specified AZ activated\u0027,"},{"line_number":463,"context_line":"         dict(az_count\u003d2,"},{"line_number":464,"context_line":"              router_az_hints\u003d1,"},{"line_number":465,"context_line":"              agent_az\u003d\u0027az0\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_d93c4fe3","line":462,"in_reply_to":"da20952f_05b49f32","updated":"2015-09-04 14:26:41.000000000","message":"Done","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea1c2ec1ae059d49f70cd078eb127dfce58f536f","unresolved":false,"context_lines":[{"line_number":470,"context_line":"              scheduled_agent_count\u003d[0, 0],"},{"line_number":471,"context_line":"              expected_scheduled_agent_count\u003d[1, 0])),"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        (\u0027Reguler router, not scheduled, agent not in specified AZ activated\u0027,"},{"line_number":474,"context_line":"         dict(az_count\u003d2,"},{"line_number":475,"context_line":"              router_az_hints\u003d1,"},{"line_number":476,"context_line":"              agent_az\u003d\u0027az1\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_c588e773","line":473,"updated":"2015-09-04 12:08:31.000000000","message":"s/Reguler/Regular/","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"733c266fb8e442e935ed510ac10078db309b7173","unresolved":false,"context_lines":[{"line_number":470,"context_line":"              scheduled_agent_count\u003d[0, 0],"},{"line_number":471,"context_line":"              expected_scheduled_agent_count\u003d[1, 0])),"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        (\u0027Reguler router, not scheduled, agent not in specified AZ activated\u0027,"},{"line_number":474,"context_line":"         dict(az_count\u003d2,"},{"line_number":475,"context_line":"              router_az_hints\u003d1,"},{"line_number":476,"context_line":"              agent_az\u003d\u0027az1\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_792663cf","line":473,"in_reply_to":"da20952f_c588e773","updated":"2015-09-04 14:26:41.000000000","message":"Done","commit_id":"166d1564fa48d1f18c025a72b19c0b7da8951771"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"205cd5a8a401eee7a1325da790ad8d58fbee592d","unresolved":false,"context_lines":[{"line_number":295,"context_line":"        # Creates legacy l3 agents and sets admin state based on"},{"line_number":296,"context_line":"        #  down agent count."},{"line_number":297,"context_line":"        hosts \u003d [\u0027%s-host-%s\u0027 % (az, i) for i in range(agent_count)]"},{"line_number":298,"context_line":"        l3_agents \u003d [self._create_l3_agent(hosts[i],"},{"line_number":299,"context_line":"            self.adminContext, \u0027legacy\u0027, self.l3_plugin,"},{"line_number":300,"context_line":"            (i \u003e\u003d down_agent_count), az\u003daz) for i in range(agent_count)]"},{"line_number":301,"context_line":"        return l3_agents"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_e9d6f64d","line":298,"updated":"2015-10-09 09:46:51.000000000","message":"In my opinion you should move self._create to next line to have same indentation for each line of this list. When you will leave it like this it will be harder to understand this code.","commit_id":"6419f5785d0b49ff5fed3c77289186dd3c52d9d4"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"205cd5a8a401eee7a1325da790ad8d58fbee592d","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        scheduled_agents \u003d self.l3_plugin.get_l3_agents_hosting_routers("},{"line_number":400,"context_line":"            self.adminContext, [router[\u0027id\u0027]])"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"        scheduled_azs \u003d {}"},{"line_number":403,"context_line":"        for agent in scheduled_agents:"},{"line_number":404,"context_line":"            az \u003d agent[\u0027availability_zone\u0027]"},{"line_number":405,"context_line":"            if az in scheduled_azs:"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_69f8a6c3","line":402,"updated":"2015-10-09 09:46:51.000000000","message":"I prefer to use - collections.defaultdict","commit_id":"6419f5785d0b49ff5fed3c77289186dd3c52d9d4"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"205cd5a8a401eee7a1325da790ad8d58fbee592d","unresolved":false,"context_lines":[{"line_number":540,"context_line":"        for i in range(self.az_count):"},{"line_number":541,"context_line":"            az \u003d \u0027az%s\u0027 % i"},{"line_number":542,"context_line":"            for j in range(self.scheduled_agent_count[i]):"},{"line_number":543,"context_line":"                self.scheduler.bind_router(self.adminContext, router[\u0027id\u0027],"},{"line_number":544,"context_line":"                                l3_agents[az][j + self.down_agent_count[i]])"},{"line_number":545,"context_line":""},{"line_number":546,"context_line":"        # activate down agent and call auto_schedule_routers"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_09ad7287","line":543,"updated":"2015-10-09 09:46:51.000000000","message":"self.adxxx should be moved to next line to keep same indentation","commit_id":"6419f5785d0b49ff5fed3c77289186dd3c52d9d4"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"205cd5a8a401eee7a1325da790ad8d58fbee592d","unresolved":false,"context_lines":[{"line_number":548,"context_line":"        helpers.set_agent_admin_state(activate_agent[\u0027id\u0027],"},{"line_number":549,"context_line":"                                      admin_state_up\u003dTrue)"},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"        self.scheduler.auto_schedule_routers(self.l3_plugin,"},{"line_number":552,"context_line":"                self.adminContext, activate_agent[\u0027host\u0027], None)"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"        scheduled_agents \u003d self.l3_plugin.get_l3_agents_hosting_routers("}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_49ce0a64","line":551,"updated":"2015-10-09 09:46:51.000000000","message":"Indentation - self should land in next line","commit_id":"6419f5785d0b49ff5fed3c77289186dd3c52d9d4"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"205cd5a8a401eee7a1325da790ad8d58fbee592d","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        scheduled_agents \u003d self.l3_plugin.get_l3_agents_hosting_routers("},{"line_number":555,"context_line":"            self.adminContext, [router[\u0027id\u0027]])"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"        scheduled_azs \u003d {}"},{"line_number":558,"context_line":"        for agent in scheduled_agents:"},{"line_number":559,"context_line":"            az \u003d agent[\u0027availability_zone\u0027]"},{"line_number":560,"context_line":"            if az in scheduled_azs:"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_29d62ef1","line":557,"updated":"2015-10-09 09:46:51.000000000","message":"collections.defaultdict","commit_id":"6419f5785d0b49ff5fed3c77289186dd3c52d9d4"}],"neutron/tests/unit/scheduler/test_dhcp_agent_scheduler.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"7accbf727d5f65b843d930347b3ae0f3b596ac13","unresolved":false,"context_lines":[{"line_number":489,"context_line":"        super(DHCPAgentAZAwareWeightSchedulerTestCase, self).setUp()"},{"line_number":490,"context_line":"        DB_PLUGIN_KLASS \u003d \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027"},{"line_number":491,"context_line":"        self.setup_coreplugin(DB_PLUGIN_KLASS)"},{"line_number":492,"context_line":"        cfg.CONF.set_override(\"network_scheduler_driver\","},{"line_number":493,"context_line":"            \u0027neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler\u0027)"},{"line_number":494,"context_line":"        self.plugin \u003d importutils.import_object(\u0027neutron.plugins.ml2.plugin.\u0027"},{"line_number":495,"context_line":"                                                \u0027Ml2Plugin\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a8ffd7b_5323f955","line":492,"updated":"2015-11-30 12:57:09.000000000","message":"Indentation, please move \"network_xxx\" to the next line","commit_id":"6141ceb251fe70c1eb47a0443d7c26e354652bae"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"18a16da0acc7c0bf2cdbe64c29411d4be3e0454d","unresolved":false,"context_lines":[{"line_number":489,"context_line":"        super(DHCPAgentAZAwareWeightSchedulerTestCase, self).setUp()"},{"line_number":490,"context_line":"        DB_PLUGIN_KLASS \u003d \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027"},{"line_number":491,"context_line":"        self.setup_coreplugin(DB_PLUGIN_KLASS)"},{"line_number":492,"context_line":"        cfg.CONF.set_override(\"network_scheduler_driver\","},{"line_number":493,"context_line":"            \u0027neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler\u0027)"},{"line_number":494,"context_line":"        self.plugin \u003d importutils.import_object(\u0027neutron.plugins.ml2.plugin.\u0027"},{"line_number":495,"context_line":"                                                \u0027Ml2Plugin\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a8ffd7b_3b4882cc","line":492,"in_reply_to":"9a8ffd7b_5323f955","updated":"2015-11-30 15:17:54.000000000","message":"Done","commit_id":"6141ceb251fe70c1eb47a0443d7c26e354652bae"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"7accbf727d5f65b843d930347b3ae0f3b596ac13","unresolved":false,"context_lines":[{"line_number":560,"context_line":"        self.assertEqual(expected_hosts, hosts)"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    def test_az_scheduler_no_az_hints(self):"},{"line_number":563,"context_line":"        cfg.CONF.set_override(\u0027dhcp_agents_per_network\u0027, 2)"},{"line_number":564,"context_line":"        self._save_networks([\u00271111\u0027])"},{"line_number":565,"context_line":"        helpers.register_dhcp_agent(\u0027az1-host1\u0027, networks\u003d2, az\u003d\u0027az1\u0027)"},{"line_number":566,"context_line":"        helpers.register_dhcp_agent(\u0027az1-host2\u0027, networks\u003d3, az\u003d\u0027az1\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a8ffd7b_73ccfd88","line":563,"updated":"2015-11-30 12:57:09.000000000","message":"I would like to see also a testcase when you have more dhcp_agents_per_network than available hosts in AZ.","commit_id":"6141ceb251fe70c1eb47a0443d7c26e354652bae"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"18a16da0acc7c0bf2cdbe64c29411d4be3e0454d","unresolved":false,"context_lines":[{"line_number":560,"context_line":"        self.assertEqual(expected_hosts, hosts)"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    def test_az_scheduler_no_az_hints(self):"},{"line_number":563,"context_line":"        cfg.CONF.set_override(\u0027dhcp_agents_per_network\u0027, 2)"},{"line_number":564,"context_line":"        self._save_networks([\u00271111\u0027])"},{"line_number":565,"context_line":"        helpers.register_dhcp_agent(\u0027az1-host1\u0027, networks\u003d2, az\u003d\u0027az1\u0027)"},{"line_number":566,"context_line":"        helpers.register_dhcp_agent(\u0027az1-host2\u0027, networks\u003d3, az\u003d\u0027az1\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a8ffd7b_dbf616f9","line":563,"in_reply_to":"9a8ffd7b_73ccfd88","updated":"2015-11-30 15:17:54.000000000","message":"dhcp_agents_per_network logic doesn\u0027t depend on AZ implementation. If scheduler lacks the test, it should be fixed in another patch. I will investigate later.","commit_id":"6141ceb251fe70c1eb47a0443d7c26e354652bae"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"c6c354c4803dc6aa5d458000805bd02ed8d8dd02","unresolved":false,"context_lines":[{"line_number":489,"context_line":"        super(DHCPAgentAZAwareWeightSchedulerTestCase, self).setUp()"},{"line_number":490,"context_line":"        DB_PLUGIN_KLASS \u003d \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027"},{"line_number":491,"context_line":"        self.setup_coreplugin(DB_PLUGIN_KLASS)"},{"line_number":492,"context_line":"        cfg.CONF.set_override("},{"line_number":493,"context_line":"            \"network_scheduler_driver\","},{"line_number":494,"context_line":"            \u0027neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler\u0027)"},{"line_number":495,"context_line":"        self.plugin \u003d importutils.import_object(\u0027neutron.plugins.ml2.plugin.\u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"9a8ffd7b_3af2a107","line":492,"updated":"2015-12-01 02:16:02.000000000","message":"can you avoid this newline?","commit_id":"e7b103712187b5f5740836430b6d40139f2c1cae"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"e9f3bdebc30bda026a64a4743aef84ad8bfe4bb4","unresolved":false,"context_lines":[{"line_number":489,"context_line":"        super(DHCPAgentAZAwareWeightSchedulerTestCase, self).setUp()"},{"line_number":490,"context_line":"        DB_PLUGIN_KLASS \u003d \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027"},{"line_number":491,"context_line":"        self.setup_coreplugin(DB_PLUGIN_KLASS)"},{"line_number":492,"context_line":"        cfg.CONF.set_override("},{"line_number":493,"context_line":"            \"network_scheduler_driver\","},{"line_number":494,"context_line":"            \u0027neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler\u0027)"},{"line_number":495,"context_line":"        self.plugin \u003d importutils.import_object(\u0027neutron.plugins.ml2.plugin.\u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"9a8ffd7b_c5613ad5","line":492,"in_reply_to":"9a8ffd7b_3af2a107","updated":"2015-12-01 02:59:47.000000000","message":"Please see Lubosz\u0027s comment in PS23. I added newline in order to satisfy his comment. He gave similar comments to other PatchSet and AZ patch as well. I guess that it depends on editor...but I don\u0027t have much opinions.","commit_id":"e7b103712187b5f5740836430b6d40139f2c1cae"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"6d69dbb71f92f8a97b74ec464c50701843587883","unresolved":false,"context_lines":[{"line_number":489,"context_line":"        super(DHCPAgentAZAwareWeightSchedulerTestCase, self).setUp()"},{"line_number":490,"context_line":"        DB_PLUGIN_KLASS \u003d \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027"},{"line_number":491,"context_line":"        self.setup_coreplugin(DB_PLUGIN_KLASS)"},{"line_number":492,"context_line":"        cfg.CONF.set_override("},{"line_number":493,"context_line":"            \"network_scheduler_driver\","},{"line_number":494,"context_line":"            \u0027neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler\u0027)"},{"line_number":495,"context_line":"        self.plugin \u003d importutils.import_object(\u0027neutron.plugins.ml2.plugin.\u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a8ffd7b_474bf659","line":492,"updated":"2015-12-01 12:37:43.000000000","message":"It\u0027s a nit, but after looking at PS23, I agree with armax\u0027s comment from PS26.  This currently looks a little odd, let\u0027s close up the newline","commit_id":"e478df9efadaba1dcc7436b60b5659296979bd6b"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"10cb7c64c5581e45031223cdef1649d1cdae6758","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self._save_networks([self.network_id])"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def _create_and_set_agents_down(self, hosts, down_agent_count\u003d0,"},{"line_number":48,"context_line":"                                    admin_state_up\u003dTrue, az\u003d\u0027nova\u0027):"},{"line_number":49,"context_line":"        agents \u003d []"},{"line_number":50,"context_line":"        for i, host in enumerate(hosts):"},{"line_number":51,"context_line":"            is_alive \u003d i \u003e\u003d down_agent_count"}],"source_content_type":"text/x-python","patch_set":31,"id":"7a740942_47795bc7","line":48,"updated":"2015-12-11 19:01:53.000000000","message":"why don\u0027t you use DEFAULT_AZ?","commit_id":"9aa0740de3f6497fe7efaf96fbd377ec3269d984"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"4ce50a8d27ab4694947ed4a0a4bccc4ed979f2b2","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self._save_networks([self.network_id])"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def _create_and_set_agents_down(self, hosts, down_agent_count\u003d0,"},{"line_number":48,"context_line":"                                    admin_state_up\u003dTrue, az\u003d\u0027nova\u0027):"},{"line_number":49,"context_line":"        agents \u003d []"},{"line_number":50,"context_line":"        for i, host in enumerate(hosts):"},{"line_number":51,"context_line":"            is_alive \u003d i \u003e\u003d down_agent_count"}],"source_content_type":"text/x-python","patch_set":31,"id":"7a740942_ffa30b41","line":48,"in_reply_to":"7a740942_47795bc7","updated":"2015-12-14 01:08:32.000000000","message":"Done","commit_id":"9aa0740de3f6497fe7efaf96fbd377ec3269d984"}]}
