)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"fae4185d66dad4c522a790404218a6e7a3e265da","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Some tests for dhcp agent scheduler"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add some test cases for dhcp agent scheduler."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ied0b0baa7a6005028dd0f51218a0996e12c9801e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAATn%2F%2Bhog%3D","line":9,"updated":"2013-11-25 05:10:53.000000000","message":"This is a little odd to me. Maybe, we want to know the reason why this change is necessary.","commit_id":"1ff3bbadc91a885f6efc2de56edacdbe01525f11"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"a9f1a2c4ff44f5382cea4cf7e5bb19d19712a820","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Some tests for dhcp agent scheduler"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add some test cases for dhcp agent scheduler."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ied0b0baa7a6005028dd0f51218a0996e12c9801e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAATn%2F9%2FuM%3D","line":9,"updated":"2013-12-03 17:18:05.000000000","message":"Please be more precise in your commit message. See https://wiki.openstack.org/wiki/GitCommitMessages.\n\nThis line simply repeats the headline.","commit_id":"02d452b285767c972a9ccc0738f94143f6e2e990"}],"tempest/api/network/admin/test_dhcp_agent_scheduler.py":[{"author":{"_account_id":6890,"name":"Martin Pavlásek","email":"mpavlase@redhat.com","username":"mpavlase"},"change_message_id":"2aa021230d0592b56c30c6c5ccc62b06eca3e91a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        resp, body \u003d self.client.list_dhcp_agent_hosting_network("},{"line_number":59,"context_line":"            self.network[\u0027id\u0027])"},{"line_number":60,"context_line":"        # Get an agent."},{"line_number":61,"context_line":"        agent \u003d body[\u0027agents\u0027][0]"},{"line_number":62,"context_line":"        resp, body \u003d self.client.remove_network_from_dhcp_agent("},{"line_number":63,"context_line":"            agent_id\u003dagent[\u0027id\u0027],"},{"line_number":64,"context_line":"            network_id\u003dself.network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FeYY%3D","line":61,"updated":"2013-11-05 08:08:44.000000000","message":"I think, you should make sure, that body is not empty, because access to index 0 will fail.","commit_id":"55252ba96663b13ffe62d91346edeede0481dcfb"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"2721b6d7077af72b591f9a8aa9808655b17a061f","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        resp, body \u003d self.client.list_dhcp_agent_hosting_network("},{"line_number":59,"context_line":"            self.network[\u0027id\u0027])"},{"line_number":60,"context_line":"        # Get an agent."},{"line_number":61,"context_line":"        agent \u003d body[\u0027agents\u0027][0]"},{"line_number":62,"context_line":"        resp, body \u003d self.client.remove_network_from_dhcp_agent("},{"line_number":63,"context_line":"            agent_id\u003dagent[\u0027id\u0027],"},{"line_number":64,"context_line":"            network_id\u003dself.network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FPpA%3D","line":61,"in_reply_to":"AAAATn%2F%2FeVw%3D","updated":"2013-11-12 11:01:09.000000000","message":"A little nicer if it dies with in an assert than with an IndexError or KeyError.\n\nThe dhcp agent not necessarily running or you can remove it, or neither of the subnet has an enabled dhcp.","commit_id":"55252ba96663b13ffe62d91346edeede0481dcfb"},{"author":{"_account_id":8172,"name":"Wei Hu","email":"huwei.xtu@gmail.com","username":"WeiHu"},"change_message_id":"0a20a59f27a013597c714791f649bc04b4be91a5","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        resp, body \u003d self.client.list_dhcp_agent_hosting_network("},{"line_number":59,"context_line":"            self.network[\u0027id\u0027])"},{"line_number":60,"context_line":"        # Get an agent."},{"line_number":61,"context_line":"        agent \u003d body[\u0027agents\u0027][0]"},{"line_number":62,"context_line":"        resp, body \u003d self.client.remove_network_from_dhcp_agent("},{"line_number":63,"context_line":"            agent_id\u003dagent[\u0027id\u0027],"},{"line_number":64,"context_line":"            network_id\u003dself.network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FeVw%3D","line":61,"in_reply_to":"AAAATn%2F%2FeYY%3D","updated":"2013-11-05 08:26:24.000000000","message":"In line 29 have create this network, I think a network must be held by at least one dhcp-agent, so maybe  there is no need to check the the agents list length.","commit_id":"55252ba96663b13ffe62d91346edeede0481dcfb"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"012bae8672df5b5cf517bc5b66a81cb3cce49731","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2013 IBM"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bhc0%3D","line":3,"updated":"2013-11-25 06:07:13.000000000","message":"copyright should be \"Copyright 2013 IBM Corp.\"","commit_id":"1ff3bbadc91a885f6efc2de56edacdbe01525f11"},{"author":{"_account_id":7930,"name":"jun xie","email":"easonxie160@163.com","username":"jeffreycoho"},"change_message_id":"8c9dd87e8e55901dfe5c4fcb5a28815b9bf56f36","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2013 IBM"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bg2I%3D","line":3,"in_reply_to":"AAAATn%2F%2Bhc0%3D","updated":"2013-11-25 09:53:06.000000000","message":"Done. THanks","commit_id":"1ff3bbadc91a885f6efc2de56edacdbe01525f11"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"c9758f2259c24eb32ad4795e3a84101099eb78c4","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        resp, body \u003d self.admin_client.remove_network_from_dhcp_agent("},{"line_number":65,"context_line":"            agent_id\u003dagent[\u0027id\u0027],"},{"line_number":66,"context_line":"            network_id\u003dself.network[\u0027id\u0027])"},{"line_number":67,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027204\u0027)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"class DHCPAgentSchedulersTestXML(DHCPAgentSchedulersTestJSON):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BSFM%3D","line":67,"updated":"2013-11-27 21:51:31.000000000","message":"Shouldn\u0027t this also check that the network was properly removed?","commit_id":"4321e15ab3c8e04bd157329ea4d7015dadc4dca9"},{"author":{"_account_id":7930,"name":"jun xie","email":"easonxie160@163.com","username":"jeffreycoho"},"change_message_id":"38af56611ba0961a6d413d9e55a25f29b855b908","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        resp, body \u003d self.admin_client.remove_network_from_dhcp_agent("},{"line_number":65,"context_line":"            agent_id\u003dagent[\u0027id\u0027],"},{"line_number":66,"context_line":"            network_id\u003dself.network[\u0027id\u0027])"},{"line_number":67,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027204\u0027)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"class DHCPAgentSchedulersTestXML(DHCPAgentSchedulersTestJSON):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BQjM%3D","line":67,"in_reply_to":"AAAATn%2F%2BSFM%3D","updated":"2013-11-28 08:56:36.000000000","message":"right. thanks much. better to check that.","commit_id":"4321e15ab3c8e04bd157329ea4d7015dadc4dca9"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"a9f1a2c4ff44f5382cea4cf7e5bb19d19712a820","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        # Create a network and make sure it will be hosted by a"},{"line_number":28,"context_line":"        # dhcp agent."},{"line_number":29,"context_line":"        cls.network \u003d cls.create_network()"},{"line_number":30,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":31,"context_line":"        cls.cidr \u003d cls.subnet[\u0027cidr\u0027]"},{"line_number":32,"context_line":"        cls.port \u003d cls.create_port(cls.network)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9%2FoQ%3D","line":30,"updated":"2013-12-03 17:18:05.000000000","message":"I think you need to clean-up this in a tearDown() function..","commit_id":"02d452b285767c972a9ccc0738f94143f6e2e990"},{"author":{"_account_id":8172,"name":"Wei Hu","email":"huwei.xtu@gmail.com","username":"WeiHu"},"change_message_id":"3f234a89773efe04bc0afa4255c763af270b94b8","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        # Create a network and make sure it will be hosted by a"},{"line_number":28,"context_line":"        # dhcp agent."},{"line_number":29,"context_line":"        cls.network \u003d cls.create_network()"},{"line_number":30,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":31,"context_line":"        cls.cidr \u003d cls.subnet[\u0027cidr\u0027]"},{"line_number":32,"context_line":"        cls.port \u003d cls.create_port(cls.network)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F99OM%3D","line":30,"in_reply_to":"AAAATn%2F9%2FoQ%3D","updated":"2013-12-04 01:36:26.000000000","message":"I agree with David Kranz, I checked the base class https://github.com/openstack/tempest/blob/master/tempest/api/network/base.py . And found that it will tear down those resources.","commit_id":"02d452b285767c972a9ccc0738f94143f6e2e990"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"9a6bcd1909846749c119d25fbbce47cda93c1e31","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        # Create a network and make sure it will be hosted by a"},{"line_number":28,"context_line":"        # dhcp agent."},{"line_number":29,"context_line":"        cls.network \u003d cls.create_network()"},{"line_number":30,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":31,"context_line":"        cls.cidr \u003d cls.subnet[\u0027cidr\u0027]"},{"line_number":32,"context_line":"        cls.port \u003d cls.create_port(cls.network)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9%2BGg%3D","line":30,"in_reply_to":"AAAATn%2F9%2FoQ%3D","updated":"2013-12-03 21:58:58.000000000","message":"I don\u0027t think so. These methods are defined on BaseNetworkTest and handle tearDown. Am I missing something?","commit_id":"02d452b285767c972a9ccc0738f94143f6e2e990"},{"author":{"_account_id":7930,"name":"jun xie","email":"easonxie160@163.com","username":"jeffreycoho"},"change_message_id":"9441cba8f5cbccf3cb9d69baaed6dc3a3a7782c2","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        # Create a network and make sure it will be hosted by a"},{"line_number":28,"context_line":"        # dhcp agent."},{"line_number":29,"context_line":"        cls.network \u003d cls.create_network()"},{"line_number":30,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":31,"context_line":"        cls.cidr \u003d cls.subnet[\u0027cidr\u0027]"},{"line_number":32,"context_line":"        cls.port \u003d cls.create_port(cls.network)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F98K8%3D","line":30,"in_reply_to":"AAAATn%2F98SA%3D","updated":"2013-12-04 08:16:31.000000000","message":"Hi, Marc, thanks. but the network is appended in the cls.networks. Thus, the network is deleted when trying to cleanup the cls.networks in the base class","commit_id":"02d452b285767c972a9ccc0738f94143f6e2e990"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"8d4785c4394684c646eaeafefa93d7bb0b2eb2f9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        # Create a network and make sure it will be hosted by a"},{"line_number":28,"context_line":"        # dhcp agent."},{"line_number":29,"context_line":"        cls.network \u003d cls.create_network()"},{"line_number":30,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":31,"context_line":"        cls.cidr \u003d cls.subnet[\u0027cidr\u0027]"},{"line_number":32,"context_line":"        cls.port \u003d cls.create_port(cls.network)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F98SA%3D","line":30,"in_reply_to":"AAAATn%2F99OM%3D","updated":"2013-12-04 07:29:11.000000000","message":"But in the base class it\u0027s cls.networks and not cls.network. How should this be clean-up in the parent class? I think it makes more sense to use the existing \"cls.networks\".","commit_id":"02d452b285767c972a9ccc0738f94143f6e2e990"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"a9f1a2c4ff44f5382cea4cf7e5bb19d19712a820","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        self.assertTrue(self._check_network_in_dhcp_agent("},{"line_number":48,"context_line":"            self.network[\u0027id\u0027], agent))"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _check_network_in_dhcp_agent(self, network_id, agent):"},{"line_number":51,"context_line":"        network_ids \u003d []"},{"line_number":52,"context_line":"        resp, body \u003d self.admin_client.list_networks_hosted_by_one_dhcp_agent("},{"line_number":53,"context_line":"            agent[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9%2FsU%3D","line":50,"updated":"2013-12-03 17:18:05.000000000","message":"Could we move this function up? Since it\u0027s a helper function.","commit_id":"02d452b285767c972a9ccc0738f94143f6e2e990"}],"tempest/services/network/json/network_client.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"fae4185d66dad4c522a790404218a6e7a3e265da","unresolved":false,"context_lines":[{"line_number":698,"context_line":"        body \u003d json.loads(body)"},{"line_number":699,"context_line":"        return resp, body"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"    def list_dhcp_agent_hosting_network(self, network_id):"},{"line_number":702,"context_line":"        uri \u003d \u0027%s/networks/%s/dhcp-agents\u0027 % (self.uri_prefix, network_id)"},{"line_number":703,"context_line":"        resp, body \u003d self.get(uri, self.headers)"},{"line_number":704,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bhlc%3D","line":701,"updated":"2013-11-25 05:10:53.000000000","message":"s/agent/agents","commit_id":"1ff3bbadc91a885f6efc2de56edacdbe01525f11"}],"tempest/services/network/xml/network_client.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"fae4185d66dad4c522a790404218a6e7a3e265da","unresolved":false,"context_lines":[{"line_number":580,"context_line":"        body \u003d {\u0027service_providers\u0027: providers}"},{"line_number":581,"context_line":"        return resp, body"},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"    def list_dhcp_agent_hosting_network(self, network_id):"},{"line_number":584,"context_line":"        uri \u003d \u0027%s/networks/%s/dhcp-agents\u0027 % (self.uri_prefix, network_id)"},{"line_number":585,"context_line":"        resp, body \u003d self.get(uri, self.headers)"},{"line_number":586,"context_line":"        agents \u003d self._parse_array(etree.fromstring(body))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bhlk%3D","line":583,"updated":"2013-11-25 05:10:53.000000000","message":"s/agent/agents","commit_id":"1ff3bbadc91a885f6efc2de56edacdbe01525f11"}]}
