)]}'
{"openstack/compute/v2/_proxy.py":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"cc5a9384917e81452616b3a7c272801c218fbe08","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        return resource.wait_for_status(self.session, value, status,"},{"line_number":357,"context_line":"                                        failures, interval, wait)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def wait_for_delete_server(self, server, interval\u003d2, linger\u003d5, wait\u003d120):"},{"line_number":360,"context_line":"        \"\"\"Wait for the server to be deleted."},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        :param resource: The resource to wait on to be deleted."}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_37159ce4","line":359,"updated":"2015-06-22 16:29:43.000000000","message":"Is it possible to generalize this to just wait_for_delete() for all compute resources?\n\nOtherwise we could potentially wind up with a lot of wait_for_delete_x() methods.","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"c136c1cf09ac0b436eb4ca3465c98f4538f5f145","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        return resource.wait_for_status(self.session, value, status,"},{"line_number":357,"context_line":"                                        failures, interval, wait)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def wait_for_delete_server(self, server, interval\u003d2, linger\u003d5, wait\u003d120):"},{"line_number":360,"context_line":"        \"\"\"Wait for the server to be deleted."},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        :param resource: The resource to wait on to be deleted."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_c217ee52","line":359,"in_reply_to":"fa32b979_37159ce4","updated":"2015-07-17 13:00:53.000000000","message":"Done","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c354dd2c6ae7b28087ef6f97e07457935daa4050","unresolved":false,"context_lines":[{"line_number":359,"context_line":"    def wait_for_delete_server(self, server, interval\u003d2, linger\u003d5, wait\u003d120):"},{"line_number":360,"context_line":"        \"\"\"Wait for the server to be deleted."},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        :param resource: The resource to wait on to be deleted."},{"line_number":363,"context_line":"        :type resource: :class:`~openstack.resource.Resource`"},{"line_number":364,"context_line":"        :param interval: Number of seconds to wait between checks."},{"line_number":365,"context_line":"        :param linger: Number of seconds to wait after it is gone for the"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_01b9522e","line":362,"updated":"2015-06-22 04:44:57.000000000","message":"resource -\u003e server","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"}],"openstack/orchestration/v1/_proxy.py":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"cc5a9384917e81452616b3a7c272801c218fbe08","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        return resource.wait_for_status(self.session, stack, status,"},{"line_number":82,"context_line":"                                        failures, interval, wait)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def wait_for_delete_stack(self, stack, interval\u003d2, linger\u003d5, wait\u003d120):"},{"line_number":85,"context_line":"        \"\"\"Wait for the stack to be deleted."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param resource: The resource to wait on to be deleted."}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_57e70012","line":84,"updated":"2015-06-22 16:29:43.000000000","message":"Is it possible to generalize this to just wait_for_delete() for all orchestartion resources?\n\nOtherwise we could potentially wind up with a lot of wait_for_delete_x() methods.","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c354dd2c6ae7b28087ef6f97e07457935daa4050","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    def wait_for_delete_stack(self, stack, interval\u003d2, linger\u003d5, wait\u003d120):"},{"line_number":85,"context_line":"        \"\"\"Wait for the stack to be deleted."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param resource: The resource to wait on to be deleted."},{"line_number":88,"context_line":"        :type resource: :class:`~openstack.resource.Resource`"},{"line_number":89,"context_line":"        :param interval: Number of seconds to wait between checks."},{"line_number":90,"context_line":"        :param linger: Number of seconds to wait after it is gone for the"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_e18c6e37","line":87,"updated":"2015-06-22 04:44:57.000000000","message":"resource -\u003e stack","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c354dd2c6ae7b28087ef6f97e07457935daa4050","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                                     interval, wait)"},{"line_number":103,"context_line":"        except exceptions.NotFoundException:"},{"line_number":104,"context_line":"            pass"},{"line_number":105,"context_line":"        time.sleep(linger)"},{"line_number":106,"context_line":"        return resource"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_61a05e91","line":105,"updated":"2015-06-22 04:44:57.000000000","message":"this extra sleep is intentional?","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"}],"openstack/resource.py":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"cc5a9384917e81452616b3a7c272801c218fbe08","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"    raise exceptions.ResourceTimeout(msg)"},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"def wait_for_delete(session, resource, interval, linger, wait):"},{"line_number":1005,"context_line":"    \"\"\"Wait for the resource to be deleted."},{"line_number":1006,"context_line":""},{"line_number":1007,"context_line":"    :param session: The session to use for making this request."}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_9734a84a","line":1004,"updated":"2015-06-22 16:29:43.000000000","message":"The order of params should be\n\n    wait_for_delete(session, resource, interval, wait, linger)\n\nTo match the order of params as close to wait_for_status as possible. Linger comes naturally at the end too as it\u0027s the last thing that happens.","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"cc5a9384917e81452616b3a7c272801c218fbe08","unresolved":false,"context_lines":[{"line_number":1027,"context_line":"            return resource"},{"line_number":1028,"context_line":"        time.sleep(interval)"},{"line_number":1029,"context_line":"        total_sleep +\u003d interval"},{"line_number":1030,"context_line":"    msg \u003d \"Timeout waiting for %s delete\" % (resource.id)"},{"line_number":1031,"context_line":"    raise exceptions.ResourceTimeout(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_7746c422","line":1030,"updated":"2015-06-22 16:29:43.000000000","message":"This log message isn\u0027t as useful as it could be to a dev or ops debugging a problem with a resource that won\u0027t delete. As it stands now, only the id gets logged. This leaves it up to the dev or ops to search through all of the different resources in their cloud to determine exactly which resource it is, that\u0027s probably not even feasible.\n\nIdeally we would log the absolute URL to the resource here. That way it\u0027s totally unambiguous what the resource is and makes it easy to find for dev and ops too.\n\nBetween the info in the session and resource can we build the absolute URL to the resource?\n\nWe\u0027d need to make this change in wait_for_status too. Sorry I didn\u0027t think of this earlier.","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"c136c1cf09ac0b436eb4ca3465c98f4538f5f145","unresolved":false,"context_lines":[{"line_number":1027,"context_line":"            return resource"},{"line_number":1028,"context_line":"        time.sleep(interval)"},{"line_number":1029,"context_line":"        total_sleep +\u003d interval"},{"line_number":1030,"context_line":"    msg \u003d \"Timeout waiting for %s delete\" % (resource.id)"},{"line_number":1031,"context_line":"    raise exceptions.ResourceTimeout(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_f64af354","line":1030,"in_reply_to":"fa32b979_7746c422","updated":"2015-07-17 13:00:53.000000000","message":"https://bugs.launchpad.net/python-openstacksdk/+bug/1475646","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"}],"openstack/tests/functional/compute/v2/test_server.py":[{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c354dd2c6ae7b28087ef6f97e07457935daa4050","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    def tearDownClass(cls):"},{"line_number":47,"context_line":"        sot \u003d cls.conn.compute.delete_server(cls.server.id)"},{"line_number":48,"context_line":"        cls.assertIs(None, sot)"},{"line_number":49,"context_line":"        # Need to wait for the stack to go away before network delete"},{"line_number":50,"context_line":"        cls.conn.compute.wait_for_delete_server(cls.server)"},{"line_number":51,"context_line":"        test_network.delete_network(cls.conn, cls.network, cls.subnet)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_a1398643","line":49,"updated":"2015-06-22 04:44:57.000000000","message":"stack -\u003e server","commit_id":"8fab7e98b47a00ff7208edb0f05333d53172554c"}]}
