{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kops/issues/3471","repository_url":"https://api.github.com/repos/kubernetes/kops","labels_url":"https://api.github.com/repos/kubernetes/kops/issues/3471/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kops/issues/3471/comments","events_url":"https://api.github.com/repos/kubernetes/kops/issues/3471/events","html_url":"https://github.com/kubernetes/kops/issues/3471","id":261510058,"number":3471,"title":"More gracefully handle aws rate limiting with kops","user":{"login":"chrislovecnm","id":335402,"avatar_url":"https://avatars2.githubusercontent.com/u/335402?v=4","gravatar_id":"","url":"https://api.github.com/users/chrislovecnm","html_url":"https://github.com/chrislovecnm","followers_url":"https://api.github.com/users/chrislovecnm/followers","following_url":"https://api.github.com/users/chrislovecnm/following{/other_user}","gists_url":"https://api.github.com/users/chrislovecnm/gists{/gist_id}","starred_url":"https://api.github.com/users/chrislovecnm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrislovecnm/subscriptions","organizations_url":"https://api.github.com/users/chrislovecnm/orgs","repos_url":"https://api.github.com/users/chrislovecnm/repos","events_url":"https://api.github.com/users/chrislovecnm/events{/privacy}","received_events_url":"https://api.github.com/users/chrislovecnm/received_events","type":"User","site_admin":false},"labels":[{"id":778139396,"url":"https://api.github.com/repos/kubernetes/kops/labels/lifecycle/rotten","name":"lifecycle/rotten","color":"604460","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-09-29T01:55:03Z","updated_at":"2018-03-12T05:16:34Z","closed_at":null,"author_association":"MEMBER","body":"In large AWS accounts, kops can experience some timeouts.  We have two things that are recommended.  We also have calls that run in fairly tight loops that are limited by the AWS API.  For instance, if you have 1000 LaunchConfigurations you will incur 10 API calls in a tight loop when you create a kops cluster.\r\n\r\n1. Implement a global rate limiter\r\n2. Implement waits where we are doing paging\r\n\r\nIn `kops.io/upup/pkg/fi/cloudup/awstasks`\r\n\r\n```console\r\n$ grep Page *\r\nautoscalinggroup.go:\terr := cloud.Autoscaling().DescribeAutoScalingGroupsPages(request, func(p *autoscaling.DescribeAutoScalingGroupsOutput, lastPage bool) (shouldContinue bool) {\r\ndnsname.go:\terr := cloud.Route53().ListResourceRecordSetsPages(request, func(p *route53.ListResourceRecordSetsOutput, lastPage bool) (shouldContinue bool) {\r\nlaunchconfiguration.go:\terr := cloud.Autoscaling().DescribeLaunchConfigurationsPages(request, func(page *autoscaling.DescribeLaunchConfigurationsOutput, lastPage bool) bool {\r\nload_balancer.go:\trequest.PageSize = aws.Int64(20)\r\nload_balancer.go:\terr := cloud.ELB().DescribeLoadBalancersPages(request, func(p *elb.DescribeLoadBalancersOutput, lastPage bool) bool {\r\nload_balancer.go:\terr := cloud.ELB().DescribeLoadBalancersPages(request, func(p *elb.DescribeLoadBalancersOutput, lastPage bool) (shouldContinue bool) {\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kops/issues/comments/372196008","html_url":"https://github.com/kubernetes/kops/issues/3471#issuecomment-372196008","issue_url":"https://api.github.com/repos/kubernetes/kops/issues/3471","id":372196008,"user":{"login":"fejta-bot","id":30488982,"avatar_url":"https://avatars1.githubusercontent.com/u/30488982?v=4","gravatar_id":"","url":"https://api.github.com/users/fejta-bot","html_url":"https://github.com/fejta-bot","followers_url":"https://api.github.com/users/fejta-bot/followers","following_url":"https://api.github.com/users/fejta-bot/following{/other_user}","gists_url":"https://api.github.com/users/fejta-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/fejta-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fejta-bot/subscriptions","organizations_url":"https://api.github.com/users/fejta-bot/orgs","repos_url":"https://api.github.com/users/fejta-bot/repos","events_url":"https://api.github.com/users/fejta-bot/events{/privacy}","received_events_url":"https://api.github.com/users/fejta-bot/received_events","type":"User","site_admin":false},"created_at":"2018-03-12T05:16:34Z","updated_at":"2018-03-12T05:16:34Z","author_association":"NONE","body":"Rotten issues close after 30d of inactivity.\nReopen the issue with `/reopen`.\nMark the issue as fresh with `/remove-lifecycle rotten`.\n\nSend feedback to sig-testing, kubernetes/test-infra and/or [fejta](https://github.com/fejta).\n/close"}}
{"actor":{"display_login":"fejta-bot"}}