)]}'
{"shade/openstackcloud.py":[{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"422e21310bd2cb7e86fe5741aaa542403e90a3cb","unresolved":false,"context_lines":[{"line_number":3324,"context_line":"        \"\"\"Safely delete unattached floating ips."},{"line_number":3325,"context_line":""},{"line_number":3326,"context_line":"        If the cloud can safely purge any unattached floating ips without"},{"line_number":3327,"context_line":"        race conditions, do so."},{"line_number":3328,"context_line":""},{"line_number":3329,"context_line":"        :param wait: Whether to wait for each IP to be deleted"},{"line_number":3330,"context_line":"        :param timeout: How long to wait for each IP"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_ee9e55b7","line":3327,"updated":"2016-04-21 16:53:13.000000000","message":"Having two processes managing floating ips like that and not using the form of floating ip creation where a server is passed to floating ip create is unsafe whether this function is used or not. We should probably add a document about how to safely interact with floating ips. I\u0027ll try to clarify in this docstring though.","commit_id":"f021398d243a04cbda361196f272a91bdcf08178"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"c4160a6c1da7694db8f542eb2c38c551b2651116","unresolved":false,"context_lines":[{"line_number":3324,"context_line":"        \"\"\"Safely delete unattached floating ips."},{"line_number":3325,"context_line":""},{"line_number":3326,"context_line":"        If the cloud can safely purge any unattached floating ips without"},{"line_number":3327,"context_line":"        race conditions, do so."},{"line_number":3328,"context_line":""},{"line_number":3329,"context_line":"        :param wait: Whether to wait for each IP to be deleted"},{"line_number":3330,"context_line":"        :param timeout: How long to wait for each IP"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_8a708d41","line":3327,"updated":"2016-04-21 07:43:47.000000000","message":"The code only seems to check whether neutron is used, so this description looks a bit misleading to me.\n\nAlso, what about the following race?\n\nP1: creates new floating IP\n\nP2: calls this function and deletes P1\u0027s IP\n\nP1: tries to attach the IP to an instance and fails","commit_id":"f021398d243a04cbda361196f272a91bdcf08178"}]}
