)]}'
{"nova/tests/functional/api/client.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"478cda77acd473f711278b91bd23a30d8c80e285","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    def get_server(self, server_id):"},{"line_number":250,"context_line":"        return self.api_get(\u0027/servers/%s\u0027 % server_id).body[\u0027server\u0027]"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def get_servers(self, detail\u003dTrue, search_opts\u003dNone, api_version\u003dNone):"},{"line_number":253,"context_line":"        rel_url \u003d \u0027/servers/detail\u0027 if detail else \u0027/servers\u0027"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        if search_opts is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_b0521211","line":252,"updated":"2016-02-24 15:32:09.000000000","message":"I really don\u0027t want to do this, lets hold until the client level set is in.","commit_id":"c4798889a760d4cd3691249788a98993e05128cb"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6b7916f09f8cdf69c267957d8a0e1be1fcf65164","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    def get_server(self, server_id):"},{"line_number":250,"context_line":"        return self.api_get(\u0027/servers/%s\u0027 % server_id).body[\u0027server\u0027]"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def get_servers(self, detail\u003dTrue, search_opts\u003dNone, api_version\u003dNone):"},{"line_number":253,"context_line":"        rel_url \u003d \u0027/servers/detail\u0027 if detail else \u0027/servers\u0027"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        if search_opts is not None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bae84128_b40838db","line":252,"updated":"2016-02-24 18:36:12.000000000","message":"-1 we do not want to add any more api_version params here, this should live on top of - https://review.openstack.org/#/c/284220/","commit_id":"c6b8662aab372c783b8a5ab46a46fb0572ae85f5"}],"nova/tests/functional/regressions/test_bug_1548980.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"55b8e4e8ecc6867ecb783744e7c9d0556e8a6208","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        super(TestServerGet, self).setUp()"},{"line_number":36,"context_line":"        self.useFixture(policy_fixture.RealPolicyFixture())"},{"line_number":37,"context_line":"        api_fixture \u003d self.useFixture(nova_fixtures.OSAPIFixture("},{"line_number":38,"context_line":"            api_version\u003d\u0027v2.16\u0027))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.api \u003d api_fixture.api"},{"line_number":41,"context_line":"        self.admin_api \u003d api_fixture.admin_api"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_38ea7d74","line":38,"updated":"2016-02-24 11:26:13.000000000","message":"api_version doesn\u0027t work that way, you currently have to pass api_version as a parameter to every client call - https://github.com/openstack/nova/blob/128068182c5339595fc96ea387b09e08ef8b81a8/nova/tests/functional/api/client.py#L203 \n\nWhich is super terrible and should be fixed, but requires some unwind.","commit_id":"386e65959c94f68f53105c60714e25c6d5d19017"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"35baf65b8d8cd8e108011c35ff339e156863af3f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        super(TestServerGet, self).setUp()"},{"line_number":36,"context_line":"        self.useFixture(policy_fixture.RealPolicyFixture())"},{"line_number":37,"context_line":"        api_fixture \u003d self.useFixture(nova_fixtures.OSAPIFixture("},{"line_number":38,"context_line":"            api_version\u003d\u0027v2.16\u0027))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.api \u003d api_fixture.api"},{"line_number":41,"context_line":"        self.admin_api \u003d api_fixture.admin_api"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_16b5be7c","line":38,"in_reply_to":"bae84128_38ea7d74","updated":"2016-02-24 14:33:32.000000000","message":"Ah OK, I\u0027ll try that.","commit_id":"386e65959c94f68f53105c60714e25c6d5d19017"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"55b8e4e8ecc6867ecb783744e7c9d0556e8a6208","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                      flavorRef\u003dself.flavor_id)"},{"line_number":70,"context_line":"        server \u003d self.api.post_server({\u0027server\u0027: server})"},{"line_number":71,"context_line":"        # TODO(mriedem): wait for active"},{"line_number":72,"context_line":"        time.sleep(1)"},{"line_number":73,"context_line":"        self.api.delete_server(server[\u0027id\u0027])"},{"line_number":74,"context_line":"        # TODO(mriedem): wait for deleted"},{"line_number":75,"context_line":"        time.sleep(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_988c69db","line":72,"updated":"2016-02-24 11:26:13.000000000","message":"we flip to active fast enough that I don\u0027t think this is an issue.","commit_id":"386e65959c94f68f53105c60714e25c6d5d19017"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"35baf65b8d8cd8e108011c35ff339e156863af3f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                      flavorRef\u003dself.flavor_id)"},{"line_number":70,"context_line":"        server \u003d self.api.post_server({\u0027server\u0027: server})"},{"line_number":71,"context_line":"        # TODO(mriedem): wait for active"},{"line_number":72,"context_line":"        time.sleep(1)"},{"line_number":73,"context_line":"        self.api.delete_server(server[\u0027id\u0027])"},{"line_number":74,"context_line":"        # TODO(mriedem): wait for deleted"},{"line_number":75,"context_line":"        time.sleep(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_367562ca","line":72,"in_reply_to":"bae84128_988c69db","updated":"2016-02-24 14:33:32.000000000","message":"OK, it probably doesn\u0027t actually matter for this test, I just want to make sure the instance is gone before I try listing deleting instances.","commit_id":"386e65959c94f68f53105c60714e25c6d5d19017"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1701becc75a9ba7cee6633f479ef7fafb925bbab","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":49,"context_line":"        self.network \u003d self.start_service(\u0027network\u0027)"},{"line_number":50,"context_line":"        self.compute \u003d self.start_service(\u0027compute\u0027)"},{"line_number":51,"context_line":"        self.addCleanup(self.compute.kill)"},{"line_number":52,"context_line":"        self.consoleauth \u003d self.start_service(\u0027consoleauth\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        self.useFixture(cast_as_call.CastAsCall(self.stubs))"}],"source_content_type":"text/x-python","patch_set":4,"id":"bae84128_27440348","line":51,"range":{"start_line":51,"start_character":9,"end_line":51,"end_character":42},"updated":"2016-02-24 17:08:00.000000000","message":"This is redundant.","commit_id":"f4a28182d6e018585b5ec43ffbaf9c3563d6de49"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b5affc850b14c1f28921cc96d82a124effaa6df8","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        server \u003d self.api.post_server({\u0027server\u0027: server})"},{"line_number":76,"context_line":"        self.api.delete_server(server[\u0027id\u0027])"},{"line_number":77,"context_line":"        # Wait 30 seconds for it to be gone."},{"line_number":78,"context_line":"        for x in range(30):"},{"line_number":79,"context_line":"            try:"},{"line_number":80,"context_line":"                self.api.get_server(server[\u0027id\u0027])"},{"line_number":81,"context_line":"                time.sleep(1)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_1414a54a","line":78,"updated":"2016-03-04 11:10:14.000000000","message":"longer term, we should probably create a helper for all these kind of waiting.","commit_id":"d6c334765559df07572441647a48debfe51829cb"}]}
