{"action":"created","issue":{"url":"https://api.github.com/repos/cfn-sphere/cfn-sphere/issues/29","labels_url":"https://api.github.com/repos/cfn-sphere/cfn-sphere/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/cfn-sphere/cfn-sphere/issues/29/comments","events_url":"https://api.github.com/repos/cfn-sphere/cfn-sphere/issues/29/events","html_url":"https://github.com/cfn-sphere/cfn-sphere/issues/29","id":122954736,"number":29,"title":"Properly Handle BotoServerErrors","user":{"login":"jbspeakr","id":2291138,"avatar_url":"https://avatars.githubusercontent.com/u/2291138?v=3","gravatar_id":"","url":"https://api.github.com/users/jbspeakr","html_url":"https://github.com/jbspeakr","followers_url":"https://api.github.com/users/jbspeakr/followers","following_url":"https://api.github.com/users/jbspeakr/following{/other_user}","gists_url":"https://api.github.com/users/jbspeakr/gists{/gist_id}","starred_url":"https://api.github.com/users/jbspeakr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbspeakr/subscriptions","organizations_url":"https://api.github.com/users/jbspeakr/orgs","repos_url":"https://api.github.com/users/jbspeakr/repos","events_url":"https://api.github.com/users/jbspeakr/events{/privacy}","received_events_url":"https://api.github.com/users/jbspeakr/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-18T14:10:08Z","updated_at":"2015-12-18T14:22:13Z","closed_at":null,"body":"From time to time (e.g. when my Stack API Limits exceeded), I get BotoServerError like this one:\r\n\r\n```\r\n18.12.2015 14:58:25 ERROR cf: Failed with unexpected error\r\n18.12.2015 14:58:25 ERROR cf: BotoServerError: 400 Bad Request\r\n<ErrorResponse xmlns=\"http://cloudformation.amazonaws.com/doc/2010-05-15/\">\r\n  <Error>\r\n    <Type>Sender</Type>\r\n    <Code>Throttling</Code>\r\n    <Message>Rate exceeded</Message>\r\n  </Error>\r\n  <RequestId>687fa3e7-a58f-11e5-#####-#####</RequestId>\r\n</ErrorResponse>\r\nTraceback (most recent call last):\r\n  File \"/usr/local/bin/cf\", line 68, in sync\r\n    StackActionHandler(config).create_or_update_stacks()\r\n  File \"/usr/local/lib/python2.7/site-packages/cfn_sphere/main.py\", line 37, in create_or_update_stacks\r\n    parameters = self.parameter_resolver.resolve_parameter_values(stack_config.parameters, stack_name)\r\n  File \"/usr/local/lib/python2.7/site-packages/cfn_sphere/resolver/parameter_resolver.py\", line 101, in resolve_parameter_values\r\n    parameters[key] = str(self.get_output_value(referenced_stack + '.' + output_name))\r\n  File \"/usr/local/lib/python2.7/site-packages/cfn_sphere/resolver/parameter_resolver.py\", line 53, in get_output_value\r\n    artifacts = self.get_stack_outputs()\r\n  File \"/usr/local/lib/python2.7/site-packages/cfn_sphere/resolver/parameter_resolver.py\", line 40, in get_stack_outputs\r\n    stacks = self.cfn.get_stacks()\r\n  File \"/usr/local/lib/python2.7/site-packages/cfn_sphere/aws/cloudformation/cfn_api.py\", line 26, in get_stacks\r\n    response = self.conn.describe_stacks()\r\n  File \"/usr/local/lib/python2.7/site-packages/boto/cloudformation/connection.py\", line 690, in describe_stacks\r\n    return self.get_list('DescribeStacks', params, [('member', Stack)])\r\n  File \"/usr/local/lib/python2.7/site-packages/boto/connection.py\", line 1186, in get_list\r\n    raise self.ResponseError(response.status, response.reason, body)\r\nBotoServerError: BotoServerError: 400 Bad Request\r\n<ErrorResponse xmlns=\"http://cloudformation.amazonaws.com/doc/2010-05-15/\">\r\n  <Error>\r\n    <Type>Sender</Type>\r\n    <Code>Throttling</Code>\r\n    <Message>Rate exceeded</Message>\r\n  </Error>\r\n  <RequestId>687fa3e7-a58f-11e5-#####-########</RequestId>\r\n</ErrorResponse>\r\n```\r\n\r\nIn my eyes, this and similar exceptions should be catched and translated into proper error messages."},"comment":{"url":"https://api.github.com/repos/cfn-sphere/cfn-sphere/issues/comments/165789004","html_url":"https://github.com/cfn-sphere/cfn-sphere/issues/29#issuecomment-165789004","issue_url":"https://api.github.com/repos/cfn-sphere/cfn-sphere/issues/29","id":165789004,"user":{"login":"marco-hoyer","id":3943275,"avatar_url":"https://avatars.githubusercontent.com/u/3943275?v=3","gravatar_id":"","url":"https://api.github.com/users/marco-hoyer","html_url":"https://github.com/marco-hoyer","followers_url":"https://api.github.com/users/marco-hoyer/followers","following_url":"https://api.github.com/users/marco-hoyer/following{/other_user}","gists_url":"https://api.github.com/users/marco-hoyer/gists{/gist_id}","starred_url":"https://api.github.com/users/marco-hoyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marco-hoyer/subscriptions","organizations_url":"https://api.github.com/users/marco-hoyer/orgs","repos_url":"https://api.github.com/users/marco-hoyer/repos","events_url":"https://api.github.com/users/marco-hoyer/events{/privacy}","received_events_url":"https://api.github.com/users/marco-hoyer/received_events","type":"User","site_admin":false},"created_at":"2015-12-18T14:22:13Z","updated_at":"2015-12-18T14:22:13Z","body":"Uhh, a throttling exception. You are absolutely right."}}