Commit graph

11 commits

Author SHA1 Message Date
tedder
c5fe40661d feature pull request: catch and retry recoverable errors
boto can throw SSLError when timeouts occur (among other SSL errors). Catch these so proper JSON can be returned, and also add the ability to retry the operation.

There's an open issue in boto for this: https://github.com/boto/boto/issues/2409

Here's a sample stacktrace that inspired me to work on this. I'm on 1.7, but there's no meaningful differences in the 1.8 release that would affect this. I've added line breaks to the trace for readability.

    failed to parse: Traceback (most recent call last):
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 2031, in <module> main()
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 353, in main download_s3file(module, s3, bucket, obj, dest)
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 234, in download_s3file key.get_contents_to_filename(dest)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1665, in get_contents_to_filename response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1603, in get_contents_to_file response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1435, in get_file query_args=None)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1488, in _get_file_internal for bytes in self:
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 368, in next data = self.resp.read(self.BufferSize)
      File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 416, in read return httplib.HTTPResponse.read(self, amt)
      File "/usr/lib/python2.7/httplib.py", line 567, in read s = self.fp.read(amt)
      File "/usr/lib/python2.7/socket.py", line 380, in read data = self._sock.recv(left)
      File "/usr/lib/python2.7/ssl.py", line 341, in recv return self.read(buflen)
      File "/usr/lib/python2.7/ssl.py", line 260, in read return self._sslobj.read(len) ssl.SSLError: The read operation timed out
2014-12-29 17:19:12 -08:00
Robert Estelle
4dd099fe7a Remove incorrect executable permissions. 2014-11-13 18:08:48 -05:00
James Cammarata
a7749a8fce Merge pull request #309 from jsmartin/asg_fix_delete
asg will now be terminated if state=absent.
2014-11-12 13:16:49 -06:00
James Martin
341c7ce307 asg will now be terminated if state=absent.
adds mutually exclusive options
2014-11-12 12:44:03 -05:00
James Cammarata
710b7b9aba Merge pull request #308 from jsmartin/asg_orphaned_code
Removes orphaned code.
2014-11-12 11:16:06 -06:00
James Cammarata
ae744f98d8 Serialize tag attributes to ASG properties in ec2_asg
Fixes #108
2014-11-12 11:04:43 -06:00
James Martin
d5326e6dbd Removes orphaned code. 2014-11-12 11:48:06 -05:00
James Martin
f287600e6c fixes #240, #274, #108 2014-11-11 19:47:34 -05:00
José Moreira
03cf57c6f0 Fixed small typo on ec2 task name 2014-11-10 11:24:31 +00:00
Brian Coca
19ed60196c added __init__.py to new cloud subcategories so builds work again 2014-11-05 11:07:19 -05:00
Brian Coca
0c4adcb2c6 made subcategories for cloud modules for better organization 2014-11-04 11:18:09 -05:00