)]}'
{"nova/api/ec2/cloud.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"b4ad0aacff5d57c80ded90209ab83b7eb61a58ef","unresolved":false,"context_lines":[{"line_number":1364,"context_line":"        \"\"\"Purge old client tokens (\u003e 24 h) once a day.\"\"\""},{"line_number":1365,"context_line":"        now \u003d time.time()"},{"line_number":1366,"context_line":""},{"line_number":1367,"context_line":"        if (now - self.client_token_lastpurge) \u003e 86400:"},{"line_number":1368,"context_line":"            self.client_token_lastpurge \u003d now"},{"line_number":1369,"context_line":"            expdates \u003d self.client_token_expdate.keys()"},{"line_number":1370,"context_line":"            for expdate in expdates:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2Fyqo%3D","line":1367,"updated":"2013-06-10 15:58:44.000000000","message":"Maybe add a SECONDS_PER_DAY constant","commit_id":"c482a1a021a9dab206637076604b184cd46bb170"},{"author":{"_account_id":6661,"name":"Burt Holzman","email":"holzman@gmail.com","username":"burt"},"change_message_id":"2df699f51dd2e86d7840cd64d3410cb4a8fe332a","unresolved":false,"context_lines":[{"line_number":1364,"context_line":"        \"\"\"Purge old client tokens (\u003e 24 h) once a day.\"\"\""},{"line_number":1365,"context_line":"        now \u003d time.time()"},{"line_number":1366,"context_line":""},{"line_number":1367,"context_line":"        if (now - self.client_token_lastpurge) \u003e 86400:"},{"line_number":1368,"context_line":"            self.client_token_lastpurge \u003d now"},{"line_number":1369,"context_line":"            expdates \u003d self.client_token_expdate.keys()"},{"line_number":1370,"context_line":"            for expdate in expdates:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2FylY%3D","line":1367,"in_reply_to":"AAAAPX%2F%2Fyqo%3D","updated":"2013-06-10 16:46:59.000000000","message":"Done","commit_id":"c482a1a021a9dab206637076604b184cd46bb170"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"b4ad0aacff5d57c80ded90209ab83b7eb61a58ef","unresolved":false,"context_lines":[{"line_number":1372,"context_line":"                    client_token \u003d self.client_token_expdate[expdate]"},{"line_number":1373,"context_line":"                    del self.client_token_list[client_token]"},{"line_number":1374,"context_line":"                    del self.client_token_expdate[expdate]"},{"line_number":1375,"context_line":"        return"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    def _ec2_ids_to_instances(self, context, instance_id):"},{"line_number":1378,"context_line":"        \"\"\"Get all instances first, to prevent partial executions.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2Fyqs%3D","line":1375,"updated":"2013-06-10 15:58:44.000000000","message":"This return doesn\u0027t really do anything.","commit_id":"c482a1a021a9dab206637076604b184cd46bb170"},{"author":{"_account_id":6661,"name":"Burt Holzman","email":"holzman@gmail.com","username":"burt"},"change_message_id":"2df699f51dd2e86d7840cd64d3410cb4a8fe332a","unresolved":false,"context_lines":[{"line_number":1372,"context_line":"                    client_token \u003d self.client_token_expdate[expdate]"},{"line_number":1373,"context_line":"                    del self.client_token_list[client_token]"},{"line_number":1374,"context_line":"                    del self.client_token_expdate[expdate]"},{"line_number":1375,"context_line":"        return"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    def _ec2_ids_to_instances(self, context, instance_id):"},{"line_number":1378,"context_line":"        \"\"\"Get all instances first, to prevent partial executions.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2FylU%3D","line":1375,"in_reply_to":"AAAAPX%2F%2Fyqs%3D","updated":"2013-06-10 16:46:59.000000000","message":"Done","commit_id":"c482a1a021a9dab206637076604b184cd46bb170"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"4bf43474505946ec62922697f1d9223085171cd0","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        resv_id \u003d None"},{"line_number":1375,"context_line":"        tags \u003d self.describe_tags(context, filter\u003d["},{"line_number":1376,"context_line":"                {\u0027name\u0027: \u0027key\u0027, \u0027value\u0027: \u0027EC2_client_token\u0027},"},{"line_number":1377,"context_line":"#                {\u0027name\u0027: \u0027value\u0027, \u0027value\u0027: client_token},"},{"line_number":1378,"context_line":"                ])"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":"        tagSet \u003d tags.get(\u0027tagSet\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FhcY%3D","line":1377,"updated":"2013-06-28 15:39:26.000000000","message":"I\u0027d rather commented code just be deleted…","commit_id":"473463e594209d7ebf1bc8ed5b8c7c06cb262b39"},{"author":{"_account_id":6661,"name":"Burt Holzman","email":"holzman@gmail.com","username":"burt"},"change_message_id":"eb6228838b25e5fbb8e12c8229b67f31cf38ec28","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        resv_id \u003d None"},{"line_number":1375,"context_line":"        tags \u003d self.describe_tags(context, filter\u003d["},{"line_number":1376,"context_line":"                {\u0027name\u0027: \u0027key\u0027, \u0027value\u0027: \u0027EC2_client_token\u0027},"},{"line_number":1377,"context_line":"#                {\u0027name\u0027: \u0027value\u0027, \u0027value\u0027: client_token},"},{"line_number":1378,"context_line":"                ])"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":"        tagSet \u003d tags.get(\u0027tagSet\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FhWY%3D","line":1377,"in_reply_to":"AAAAPn%2F%2FhcY%3D","updated":"2013-06-28 16:11:33.000000000","message":"Done","commit_id":"473463e594209d7ebf1bc8ed5b8c7c06cb262b39"},{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"change_message_id":"9de3f2c80daf0e100da52b13b62e04a40680d402","unresolved":false,"context_lines":[{"line_number":1380,"context_line":""},{"line_number":1381,"context_line":"        # work around bug #1190845"},{"line_number":1382,"context_line":"        for tags in tagSet:"},{"line_number":1383,"context_line":"            if tags.get(\u0027value\u0027, None) \u003d\u003d client_token:"},{"line_number":1384,"context_line":"                instances \u003d self._ec2_ids_to_instances("},{"line_number":1385,"context_line":"                    context, [tags[\u0027resource_id\u0027]])"},{"line_number":1386,"context_line":"                resv_id \u003d instances[0][\u0027reservation_id\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2FgwI%3D","line":1383,"updated":"2013-06-28 19:39:55.000000000","message":"None is already the default value here. Also, conceivably client_token could be None here. Given that I\u0027m not familiar with the EC2 API, is that ok?","commit_id":"9a44c3d556f8e44cff39ae8c697cdbfb8c6685ac"},{"author":{"_account_id":6661,"name":"Burt Holzman","email":"holzman@gmail.com","username":"burt"},"change_message_id":"ea9e214aa48f3e7f53f8cf11369739d28bb3ea11","unresolved":false,"context_lines":[{"line_number":1380,"context_line":""},{"line_number":1381,"context_line":"        # work around bug #1190845"},{"line_number":1382,"context_line":"        for tags in tagSet:"},{"line_number":1383,"context_line":"            if tags.get(\u0027value\u0027, None) \u003d\u003d client_token:"},{"line_number":1384,"context_line":"                instances \u003d self._ec2_ids_to_instances("},{"line_number":1385,"context_line":"                    context, [tags[\u0027resource_id\u0027]])"},{"line_number":1386,"context_line":"                resv_id \u003d instances[0][\u0027reservation_id\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2Fgns%3D","line":1383,"in_reply_to":"AAAAPn%2F%2FgwI%3D","updated":"2013-06-28 20:25:58.000000000","message":"I can fix the get(\u0027foo\u0027, None) calls.\n\nclient_token being none is fine (this is the default behavior if you don\u0027t specify a client token -- and otherwise the unit tests wouldn\u0027t work), but I need to double check our implementation to see if you could manipulate the other ec2 tags calls to change the EC2_client_token value to None.\n\nProbably simpler and less confusing and error-prone  to just conditionally call _resv_id_from_token if client_token is not None, I\u0027ll change that too.","commit_id":"9a44c3d556f8e44cff39ae8c697cdbfb8c6685ac"}]}
