)]}'
{"tempest/api/compute/servers/test_attach_interfaces.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"34ef4edf5b4a88e6ed40c20f5f17f43c30529f5d","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        return body"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    # TODO(mriedem): move this into a common waiters utility module"},{"line_number":80,"context_line":"    def wait_for_port_detach(self, port_id):"},{"line_number":81,"context_line":"        \"\"\"Waits for the port\u0027s device_id to be unset."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_288d2d31","line":79,"updated":"2016-07-13 00:29:47.000000000","message":"you could just put this in tempest.common.waiters from the start, but meh","commit_id":"a8c641a96e47f4a71462c3152616ac4605a4a45d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3f39c267bb6cb16f7226a8806ecc8a9a4cb587c","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        return body"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    # TODO(mriedem): move this into a common waiters utility module"},{"line_number":80,"context_line":"    def wait_for_port_detach(self, port_id):"},{"line_number":81,"context_line":"        \"\"\"Waits for the port\u0027s device_id to be unset."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_0892f1f5","line":79,"in_reply_to":"1aa78d24_288d2d31","updated":"2016-07-13 00:37:31.000000000","message":"I\u0027ll do it if I have to respin.","commit_id":"a8c641a96e47f4a71462c3152616ac4605a4a45d"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"34ef4edf5b4a88e6ed40c20f5f17f43c30529f5d","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        _, servers \u003d compute.create_test_server("},{"line_number":294,"context_line":"            self.os, tenant_network\u003dnetwork, wait_until\u003d\u0027ACTIVE\u0027, min_count\u003d2)"},{"line_number":295,"context_line":"        # add our cleanups for the servers since we bypassed the base class"},{"line_number":296,"context_line":"        for server in servers:"},{"line_number":297,"context_line":"            self.addCleanup(waiters.wait_for_server_termination,"},{"line_number":298,"context_line":"                            self.servers_client, server[\u0027id\u0027])"},{"line_number":299,"context_line":"            self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_a8f59d83","line":296,"updated":"2016-07-13 00:29:47.000000000","message":"This is a little weird having 2 loops, but I understand why we need to do this first.","commit_id":"a8c641a96e47f4a71462c3152616ac4605a4a45d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3f39c267bb6cb16f7226a8806ecc8a9a4cb587c","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        _, servers \u003d compute.create_test_server("},{"line_number":294,"context_line":"            self.os, tenant_network\u003dnetwork, wait_until\u003d\u0027ACTIVE\u0027, min_count\u003d2)"},{"line_number":295,"context_line":"        # add our cleanups for the servers since we bypassed the base class"},{"line_number":296,"context_line":"        for server in servers:"},{"line_number":297,"context_line":"            self.addCleanup(waiters.wait_for_server_termination,"},{"line_number":298,"context_line":"                            self.servers_client, server[\u0027id\u0027])"},{"line_number":299,"context_line":"            self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_289a4d14","line":296,"in_reply_to":"1aa78d24_a8f59d83","updated":"2016-07-13 00:37:31.000000000","message":"Yup, I wanted to do it first in case we fail below on the first server then we\u0027d leak the 2nd.","commit_id":"a8c641a96e47f4a71462c3152616ac4605a4a45d"}]}
