Closed neilsimon closed 6 years ago
Thanks for reporting! In the last 36 hours, 2 releases happened, none of them changed aws-sdk
directly, but updated its dependency gems with API updates only.
I tried to reproduce this locally(OSX) with 2.4, but aws-sdk
gem installed without any issue. But I do see same warnings from RubyGems of 502 Bad Gateway, though doesn't affect installation. I also tried 2.3 and warnings are the same but still installed successfully.
I'll try spin up a EC2 ubuntu instance to see if I can get it reproduced there.
Some quick follow up questions since it feels like rubygems API issue
I've entered a problem with rubygems: http://help.rubygems.org/discussions/problems/31028-gem-install-loops-on-aws-sdk-301
I had to kill the install as it does appear to be looping, but as far as I can tell, even after a long time, it doesn't complete, so the above log is essentially everything with that run. Here is output with DEBUG_RESOLVER turned on. debug.txt
It happens every time
Some more information:
It seems that the problem is related to 63e7238a69509e3afe46ae2caa947545f6a76ce6 though I cannot see why it is an issue. The three added dependencies (aws-sdk-secretsmanager, aws-sdk-fms, aws-sdk-acmpca) all install properly. Comparing the two gemspec.rz files for aws-sdk-resources (3.13.0 and 3.14.0) shows no obvious errors.
I do suspect that the issue is with ruby, but the fact that without changing which version of aws-sdk I was using resulted in a massive change to through modifications to the dependencies is concerning as it makes it rather hard to lock down to a known good and working version of aws-sdk, but rather we have to be concerned about updates to dependent resources sneaking in through the back door.
I have verified that this issue doesn't happen on RHEL 7.3 when using the same version of ruby (2.4.3) which fails on Ubuntu.
+1 seeing this exact behavior all of a sudden provisioning an ubuntu 16.04 instance in EC2 via chef-client v3.8.5 (embedded ruby version 2.4.3p205) when trying to do a chef_gem install of aws-sdk at latest (3.0.1). This worked last week with all the same specs.
This is not just happening on Linux - we are trying to provision Windows instances on from our Linux Chef server and encounter the same problem. If i RDP into a freshly bootstrapped instance and install the sdk by hand, the install of the sdk works. Interestingly our cookbook installs chef-sugar without any problems and then ALWAYS fails to install the SDK.
If I time the installation that I do manually, it takes between 120 and 150 seconds. AFAIK the timeouts configured in knife winrm are longer than that.
There is no difference WRT Win2012 or Win2016 Server, or if a mini cookbook that just installs the sdk is tested in the kitchen. We ALWAYS fail...
GET https://www.rubygems.org/api/v1/dependencies?gems=aws-sdk-resources 200 OK GET https://api.rubygems.org/api/v1/dependencies?gems=aws-sdk-acm,aws-sdk-acmpca,aws-sdk-alexaforbusiness,aws-sdk-apigateway,aws-sdk-applicationautoscaling,aws-sdk-applicationdiscoveryservice,aws-sdk-appstream,aws-sdk-appsync,aws-sdk-athena,aws-sdk-autoscaling,aws-sdk-autoscalingplans,aws-sdk-batch,aws-sdk-budgets,aws-sdk-cloud9,aws-sdk-clouddirectory,aws-sdk-cloudformation,aws-sdk-cloudfront,aws-sdk-cloudhsm,aws-sdk-cloudhsmv2,aws-sdk-cloudsearch,aws-sdk-cloudsearchdomain,aws-sdk-cloudtrail,aws-sdk-cloudwatch,aws-sdk-cloudwatchevents,aws-sdk-cloudwatchlogs,aws-sdk-codebuild,aws-sdk-codecommit,aws-sdk-codedeploy,aws-sdk-codepipeline,aws-sdk-codestar,aws-sdk-cognitoidentity,aws-sdk-cognitoidentityprovider,aws-sdk-cognitosync,aws-sdk-comprehend,aws-sdk-configservice,aws-sdk-connect,aws-sdk-costandusagereportservice,aws-sdk-costexplorer,aws-sdk-databasemigrationservice,aws-sdk-datapipeline,aws-sdk-dax,aws-sdk-devicefarm,aws-sdk-directconnect,aws-sdk-directoryservice,aws-sdk-dynamodb,aws-sdk-dynamodbstreams,aws-sdk-ec2,aws-sdk-ecr,aws-sdk-ecs,aws-sdk-efs,aws-sdk-elasticache,aws-sdk-elasticbeanstalk,aws-sdk-elasticloadbalancing,aws-sdk-elasticloadbalancingv2,aws-sdk-elasticsearchservice,aws-sdk-elastictranscoder,aws-sdk-emr,aws-sdk-firehose,aws-sdk-fms,aws-sdk-gamelift,aws-sdk-glacier,aws-sdk-glue,aws-sdk-greengrass,aws-sdk-guardduty,aws-sdk-health,aws-sdk-iam,aws-sdk-importexport,aws-sdk-inspector,aws-sdk-iot,aws-sdk-iotdataplane,aws-sdk-iotjobsdataplane,aws-sdk-kinesis,aws-sdk-kinesisanalytics,aws-sdk-kinesisvideo,aws-sdk-kinesisvideoarchivedmedia,aws-sdk-kinesisvideomedia,aws-sdk-kms,aws-sdk-lambda,aws-sdk-lambdapreview,aws-sdk-lex,aws-sdk-lexmodelbuildingservice,aws-sdk-lightsail,aws-sdk-machinelearning,aws-sdk-marketplacecommerceanalytics,aws-sdk-marketplaceentitlementservice,aws-sdk-marketplacemetering,aws-sdk-mediaconvert,aws-sdk-medialive,aws-sdk-mediapackage,aws-sdk-mediastore,aws-sdk-mediastoredata,aws-sdk-migrationhub,aws-sdk-mobile,aws-sdk-mq,aws-sdk-mturk,aws-sdk-opsworks,aws-sdk-opsworkscm,aws-sdk-organizations,aws-sdk-pinpoint,aws-sdk-polly,aws-sdk-pricing,aws-sdk-rds,aws-sdk-redshift,aws-sdk-rekognition,aws-sdk-resourcegroups,aws-sdk-resourcegroupstaggingapi,aws-sdk-route53,aws-sdk-route53domains,aws-sdk-s3,aws-sdk-sagemaker,aws-sdk-sagemakerruntime,aws-sdk-secretsmanager,aws-sdk-serverlessapplicationrepository,aws-sdk-servicecatalog,aws-sdk-servicediscovery,aws-sdk-ses,aws-sdk-shield,aws-sdk-simpledb,aws-sdk-sms,aws-sdk-snowball,aws-sdk-sns,aws-sdk-sqs,aws-sdk-ssm,aws-sdk-states,aws-sdk-storagegateway,aws-sdk-support,aws-sdk-swf,aws-sdk-transcribeservice,aws-sdk-translate,aws-sdk-waf,aws-sdk-wafregional,aws-sdk-workdocs,aws-sdk-workmail,aws-sdk-workspaces,aws-sdk-xray 502 Bad Gateway
Not able to install aws-sdk. ruby:: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17] gem:: 2.7.6
To further @shashankshandilya's point:
It looks like the "bad" dependency list is exactly 40 characters too long; the issue is irrelevant to the number of gems, but rather the length of the query params.
It would seem then that the workaround is to install directly the service gems you need, which is a recommended approach. Is there any reason you'd prefer not to do this?
@awood45 The service gem alone does not seem to be sufficient:
jblack@ip-10-4-5-205:~$ gem list | grep ec2 aws-sdk-ec2 (1.35.0) jblack@ip-10-4-5-205:~$ ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu] jblack@ip-10-4-5-205:~$ cat test.rb
require 'aws-sdk-ec2'
REGION='us-west-1' ec2 = Aws::EC2.Client(region: REGION)
jblack@ip-10-4-5-205:~$ ruby test.rb
Traceback (most recent call last):
test.rb:5:in <main>': undefined method
Client' for Aws::EC2:Module (NoMethodError)
@jdblack This example is curious, I can't reproduce this anywhere. Are you running this in a gem environment with bundler present or as a standalone script? Does this error persist for you?
Ran in to this today. Installed Ruby 2.5 via RVM on a fresh Ubuntu 14.04 instance and ran gem install aws-sdk
and it gets stuck in an endless loop of downloading gemspec.rz files.
I reported the issue on the RubyGems website.
We ran into this as well. Paired it down to just install what we needed 'aws-sdk-s3' and we're back in business.
This is now happening for me on a fresh install of Ubuntu 18.04 with Ruby 2.5.1
I'm having this issue on osx Mojave with Ruby 2.5.3
I have this issue on windows10(ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32])
C:\study\dev\ruby\test>gem install -V aws-sdk HEAD https://api.rubygems.org/api/v1/dependencies 200 OK GET https://api.rubygems.org/api/v1/dependencies?gems=aws-sdk 200 OK Getting SRV record failed: DNS result has no information for _rubygems._tcp.api.rubygems.org GET https://api.rubygems.org/api/v1/dependencies?gems=aws-sdk-resources 200 OK GET https://api.rubygems.org/api/v1/dependencies?gems=aws-sdk-acm,aws-sdk-acmpca,aws-sdk-alexaforbusiness,aws-sdk-amplify,aws-sdk-apigateway,aws-sdk-apigatewaymanagementapi,aws-sdk-apigatewayv2,aws-sdk-applicationautoscaling,aws-sdk-applicationdiscoveryservice,aws-sdk-appmesh,aws-sdk-appstream,aws-sdk-appsync,aws-sdk-athena,aws-sdk-autoscaling,aws-sdk-autoscalingplans,aws-sdk-backup,aws-sdk-batch,aws-sdk-budgets,aws-sdk-chime,aws-sdk-cloud9,aws-sdk-clouddirectory,aws-sdk-cloudformation,aws-sdk-cloudfront,aws-sdk-cloudhsm,aws-sdk-cloudhsmv2,aws-sdk-cloudsearch,aws-sdk-cloudsearchdomain,aws-sdk-cloudtrail,aws-sdk-cloudwatch,aws-sdk-cloudwatchevents,aws-sdk-cloudwatchlogs,aws-sdk-codebuild,aws-sdk-codecommit,aws-sdk-codedeploy,aws-sdk-codepipeline,aws-sdk-codestar,aws-sdk-cognitoidentity,aws-sdk-cognitoidentityprovider,aws-sdk-cognitosync,aws-sdk-comprehend,aws-sdk-comprehendmedical,aws-sdk-configservice,aws-sdk-connect,aws-sdk-costandusagereportservice,aws-sdk-costexplorer,aws-sdk-databasemigrationservice,aws-sdk-datapipeline,aws-sdk-datasync,aws-sdk-dax,aws-sdk-devicefarm,aws-sdk-directconnect,aws-sdk-directoryservice,aws-sdk-dlm,aws-sdk-docdb,aws-sdk-dynamodb,aws-sdk-dynamodbstreams,aws-sdk-ec2,aws-sdk-ecr,aws-sdk-ecs,aws-sdk-efs,aws-sdk-eks,aws-sdk-elasticache,aws-sdk-elasticbeanstalk,aws-sdk-elasticloadbalancing,aws-sdk-elasticloadbalancingv2,aws-sdk-elasticsearchservice,aws-sdk-elastictranscoder,aws-sdk-emr,aws-sdk-firehose,aws-sdk-fms,aws-sdk-fsx,aws-sdk-gamelift,aws-sdk-glacier,aws-sdk-globalaccelerator,aws-sdk-glue,aws-sdk-greengrass,aws-sdk-guardduty,aws-sdk-health,aws-sdk-iam,aws-sdk-importexport,aws-sdk-inspector,aws-sdk-iot,aws-sdk-iot1clickdevicesservice,aws-sdk-iot1clickprojects,aws-sdk-iotanalytics,aws-sdk-iotdataplane,aws-sdk-iotjobsdataplane,aws-sdk-kafka,aws-sdk-kinesis,aws-sdk-kinesisanalytics,aws-sdk-kinesisanalyticsv2,aws-sdk-kinesisvideo,aws-sdk-kinesisvideoarchivedmedia,aws-sdk-kinesisvideomedia,aws-sdk-kms,aws-sdk-lambda,aws-sdk-lambdapreview,aws-sdk-lex,aws-sdk-lexmodelbuildingservice,aws-sdk-licensemanager,aws-sdk-lightsail,aws-sdk-machinelearning,aws-sdk-macie,aws-sdk-marketplacecommerceanalytics,aws-sdk-marketplaceentitlementservice,aws-sdk-marketplacemetering,aws-sdk-mediaconnect,aws-sdk-mediaconvert,aws-sdk-medialive,aws-sdk-mediapackage,aws-sdk-mediastore,aws-sdk-mediastoredata,aws-sdk-mediatailor,aws-sdk-migrationhub,aws-sdk-mobile,aws-sdk-mq,aws-sdk-mturk,aws-sdk-neptune,aws-sdk-opsworks,aws-sdk-opsworkscm,aws-sdk-organizations,aws-sdk-pi,aws-sdk-pinpoint,aws-sdk-pinpointemail,aws-sdk-pinpointsmsvoice,aws-sdk-polly,aws-sdk-pricing,aws-sdk-quicksight,aws-sdk-ram,aws-sdk-rds,aws-sdk-rdsdataservice,aws-sdk-redshift,aws-sdk-rekognition,aws-sdk-resourcegroups,aws-sdk-resourcegroupstaggingapi,aws-sdk-robomaker,aws-sdk-route53,aws-sdk-route53domains,aws-sdk-route53resolver,aws-sdk-s3,aws-sdk-s3control,aws-sdk-sagemaker,aws-sdk-sagemakerruntime,aws-sdk-secretsmanager,aws-sdk-securityhub,aws-sdk-serverlessapplicationrepository,aws-sdk-servicecatalog,aws-sdk-servicediscovery,aws-sdk-ses,aws-sdk-shield,aws-sdk-signer,aws-sdk-simpledb,aws-sdk-sms,aws-sdk-snowball,aws-sdk-sns,aws-sdk-sqs,aws-sdk-ssm,aws-sdk-states,aws-sdk-storagegateway,aws-sdk-support,aws-sdk-swf,aws-sdk-textract,aws-sdk-transcribeservice,aws-sdk-transcribestreamingservice,aws-sdk-transfer,aws-sdk-translate,aws-sdk-waf,aws-sdk-wafregional,aws-sdk-workdocs,aws-sdk-worklink,aws-sdk-workmail,aws-sdk-workspaces,aws-sdk-xray 502 Bad Gateway GET https://api.rubygems.org/prerelease_specs.4.8.gz 200 OK GET https://api.rubygems.org/specs.4.8.gz 200 OK ERROR: Interrupted (Stopped with ctrl-c)
I had this (macOS Catalina). I installed a few of the SDK packages separately and after than I was able to install the full SDK fine.
This Pull Request of cloudformation-ruby-dsl
gets around this issue by just including the sub-packages.
https://github.com/bazaarvoice/cloudformation-ruby-dsl/pull/136
Please fill out the sections below to help us address your issue
When I attempt to install aws-sdk 3.0.1 using gem on ruby 2.5 or 2.4, it seems to enter a loop and never installs. The same issue is not seen with ruby 2.3:
aws-sdk 3.0.1
2.4 or 2.5 on Ubuntu 16.04
See above for failing command line
This issue only started happening in the last 36 hours