)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"6ae7d20211eae99606fa74c4ca0b873e41a667b4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Neutron Agent Management Negative Tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implementation of Agent Management Negative Tests as documented in"},{"line_number":10,"context_line":"https://etherpad.openstack.org/p/icehouse-summit-qa-neutron"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I48c7c86acd581ebef772a2154f2b9d59f30f9082"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAT3%2F%2FwXY%3D","line":10,"updated":"2014-01-02 09:54:01.000000000","message":"I would suggest to not add links in commit messages, especially those, as etherpad, which are likely to not exist in the future anymore.","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"}],"tempest/api/network/admin/test_agent_management.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9a5d1ee7964c3c20b9ec067e22283c8230b82ed1","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @attr(type\u003d[\u0027smoke\u0027])"},{"line_number":40,"context_line":"    def test_list_agents_non_admin(self):"},{"line_number":41,"context_line":"        resp, body \u003d self.client.list_agents()"},{"line_number":42,"context_line":"        self.assertEqual(len(body[\"agents\"]), 0)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2FpIw%3D","line":41,"updated":"2014-01-10 06:14:06.000000000","message":"why don\u0027t you check resp.status?\nThe other tests do it in this test class.","commit_id":"70ad2fa3d883c31f89cd7c465b8b9b5bca8f03e6"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"b4ca46ca07472b5d64e44a23ac992b29f7980cfe","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @attr(type\u003d[\u0027smoke\u0027])"},{"line_number":40,"context_line":"    def test_list_agents_non_admin(self):"},{"line_number":41,"context_line":"        resp, body \u003d self.client.list_agents()"},{"line_number":42,"context_line":"        self.assertEqual(len(body[\"agents\"]), 0)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2FpIQ%3D","line":41,"in_reply_to":"AAAAUH%2F%2FpIw%3D","updated":"2014-01-10 06:16:22.000000000","message":"Good point, sorry missed that. Will fix.","commit_id":"70ad2fa3d883c31f89cd7c465b8b9b5bca8f03e6"}],"tempest/api/network/admin/test_agent_management_negative.py":[{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"f4366b28e45bdce8ab0840411b80252c625aa6dd","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from tempest.api.network import base"},{"line_number":19,"context_line":"from tempest import exceptions"},{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class NegativeAgentManagementTestJSON(base.BaseAdminNetworkTest):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F9u8%3D","line":20,"updated":"2014-01-06 06:02:17.000000000","message":"we should import module here: \"from tempest import test\"","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"95aa6d4da718c82a12f41318423b87fed7a9d5b4","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class NegativeAgentManagementTestJSON(base.BaseAdminNetworkTest):"},{"line_number":24,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F%2BKw%3D","line":23,"updated":"2014-01-06 01:43:34.000000000","message":"s/NegativeAgentManagementTestJSON/AgentManagementNegativeTestJSON/ because of the other service negative tests.","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"6243006b27c183789067c80554c9410568fd8258","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class NegativeAgentManagementTestJSON(base.BaseAdminNetworkTest):"},{"line_number":24,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2F0KY%3D","line":23,"updated":"2013-12-30 23:07:59.000000000","message":"some Neutron plugins may not implement the agent extension; please consider making these optional (enabled by default). See review for an example:\nhttps://review.openstack.org/#/c/62100","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"95aa6d4da718c82a12f41318423b87fed7a9d5b4","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":36,"context_line":"    def test_show_agent_non_existent(self):"},{"line_number":37,"context_line":"        non_existent_tenant_id \u003d \"non-existent\""},{"line_number":38,"context_line":"        self.assertRaises(exceptions.NotFound, self.admin_client.show_agent,"},{"line_number":39,"context_line":"                          non_existent_tenant_id)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F%2BLY%3D","line":37,"updated":"2014-01-06 01:43:34.000000000","message":"better to use uuid.uuid4().hex instead of static value.\nhex is necessary for representing keystone tenant-id because it is generated with uuid.uuid4().hex.","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"f4366b28e45bdce8ab0840411b80252c625aa6dd","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":62,"context_line":"    def test_update_agent_non_admin(self):"},{"line_number":63,"context_line":"    # Use the id of an existing agent to make sure that the NotFound"},{"line_number":64,"context_line":"        # exception is caused by the fact that we are using a regular client"},{"line_number":65,"context_line":"        # instead of the admin client and not because the id does not exist."},{"line_number":66,"context_line":"        resp, body \u003d self.admin_client.list_agents()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F9t8%3D","line":63,"updated":"2014-01-06 06:02:17.000000000","message":"this comment line is not aligned","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"95aa6d4da718c82a12f41318423b87fed7a9d5b4","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":73,"context_line":"    def test_update_agent_non_existent(self):"},{"line_number":74,"context_line":"        non_existent_tenant_id \u003d \"non-existent\""},{"line_number":75,"context_line":"        agent_description \u003d {\u0027description\u0027: \"new description\"}"},{"line_number":76,"context_line":"        self.assertRaises(exceptions.NotFound, self.admin_client.update_agent,"},{"line_number":77,"context_line":"                          non_existent_tenant_id, agent_description)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F%2BLU%3D","line":74,"updated":"2014-01-06 01:43:34.000000000","message":"ditto","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"95aa6d4da718c82a12f41318423b87fed7a9d5b4","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":80,"context_line":"    def test_delete_agent_non_existent(self):"},{"line_number":81,"context_line":"        non_existent_tenant_id \u003d \"non-existent\""},{"line_number":82,"context_line":"        self.assertRaises(exceptions.NotFound, self.admin_client.delete_agent,"},{"line_number":83,"context_line":"                          non_existent_tenant_id)"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F%2BLQ%3D","line":81,"updated":"2014-01-06 01:43:34.000000000","message":"ditto","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"95aa6d4da718c82a12f41318423b87fed7a9d5b4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                          non_existent_tenant_id)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class NegativeAgentManagementTestXML(NegativeAgentManagementTestJSON):"},{"line_number":87,"context_line":"    _interface \u003d \u0027xml\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F%2BKs%3D","line":86,"updated":"2014-01-06 01:43:34.000000000","message":"s/NegativeAgentManagementTestXML/AgentManagementNegativeTestXML/ because of the same reason.","commit_id":"e20d35e9a4499f64d2c3e7a3cb6b8504e4af9f8a"}]}
