Jets-backup-s3 example does not work "out of the box"

Greetings! I’m using the example here https://github.com/tongueroo/jets-backup-route53 but it does not seem to work “out of the box”.

I read the page on https://rubyonjets.com/docs/serverlessgems/. The gems in question are:

Checking projects gems for binary serverlessgems…
Your project requires compiled gems that are not currently available. Unavailable pre-compiled gems:

  • racc-1.6.0
  • byebug-11.1.3
  • nokogiri-1.13.1

Are these available? I was hoping the examples would work out of the box. :frowning: I did sign up for serverless gems and did add the api key, but no working.

Let me know!!

Bummer.

Interesting, unsure why those are reported as not found. They’re common, exist on ServerlessGems, and it would have been reported already. Thinking that it’s because the https://github.com/tongueroo/jets-backup-route53 project was pinned down to a pretty old version of jets (2.3.16) in its Gemfile.lock. There have been some updates and fixes to not just jets but serverlessgems client library and native gem detection over time. So guessing it’s probably one of those fixes actually.

The jets-backup-route53 project was a fun project to write and should still work, but it had some old dependencies locked in its Gemfile.lock. Went ahead and up updated the Gemfile.lock and was able to successfully deploy afterward the update. Here’s a debugging session:

Click to Expand and See Debugging Session
$ jets deploy
Deploying to Lambda backer-dev environment...
Building CloudFormation templates.
Generated CloudFormation templates at /tmp/jets/backer/templates
Deploying CloudFormation stack with jets app!
Waiting for stack to complete
08:27:41PM CREATE_IN_PROGRESS AWS::CloudFormation::Stack backer-dev User Initiated
08:27:45PM CREATE_IN_PROGRESS AWS::S3::Bucket S3Bucket 
08:27:47PM CREATE_IN_PROGRESS AWS::S3::Bucket S3Bucket Resource creation Initiated
08:28:08PM CREATE_COMPLETE AWS::S3::Bucket S3Bucket 
08:28:10PM CREATE_COMPLETE AWS::CloudFormation::Stack backer-dev 
Stack success status: CREATE_COMPLETE
Time took for stack deployment: 30s.
The jets version has changed enough since the last build to merit refreshing the build cache.
Current jets version: 3.1.1 Last built jets version: unknown
Removing /tmp/jets/backer to start fresh.
=> Compling assets in current project directory
=> Copying current project directory to temporary build area: /tmp/jets/backer/stage/code
=> Reconfiguring webpacker development settings for AWS Lambda.
=> Bundling: running bundle install in cache area: /tmp/jets/backer/cache.
=> cd /tmp/jets/backer/cache && env bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching rake 13.0.6
Installing rake 13.0.6
Fetching concurrent-ruby 1.1.9
Fetching minitest 5.15.0
Installing concurrent-ruby 1.1.9
Fetching zeitwerk 2.5.3
Installing minitest 5.15.0
Fetching builder 3.2.4
Installing builder 3.2.4
Fetching erubi 1.10.0
Installing erubi 1.10.0
Installing zeitwerk 2.5.3
Fetching racc 1.6.0
Fetching crass 1.0.6
Installing crass 1.0.6
Fetching rack 2.2.3
Installing racc 1.6.0 with native extensions
Installing rack 2.2.3
Fetching mini_mime 1.1.2
Installing mini_mime 1.1.2
Fetching aws-eventstream 1.2.0
Installing aws-eventstream 1.2.0
Fetching aws-partitions 1.549.0
Installing aws-partitions 1.549.0
Fetching jmespath 1.5.0
Installing jmespath 1.5.0
Fetching aws_config 0.1.0
Installing aws_config 0.1.0
Fetching memoist 0.16.2
Installing memoist 0.16.2
Fetching rainbow 3.1.1
Installing rainbow 3.1.1
Fetching thor 1.2.1
Installing thor 1.2.1
Using bundler 2.3.4
Fetching cfn_response 0.2.0
Fetching dotenv 2.7.6
Installing cfn_response 0.2.0
Installing dotenv 2.7.6
Fetching gems 1.2.0
Fetching hashie 5.0.0
Installing hashie 5.0.0
Fetching rexml 3.2.5
Installing rexml 3.2.5
Fetching method_source 1.0.0
Installing gems 1.2.0
Fetching recursive-open-struct 1.1.3
Installing method_source 1.0.0
Fetching text-table 1.2.4
Installing recursive-open-struct 1.1.3
Fetching i18n 1.8.11
Installing text-table 1.2.4
Fetching tzinfo 2.0.4
Installing i18n 1.8.11
Fetching rack-test 1.1.0
Installing tzinfo 2.0.4
Installing rack-test 1.1.0
Fetching shotgun 0.9.2
Fetching mail 2.7.1
Installing shotgun 0.9.2
Fetching aws-sigv4 1.4.0
Installing mail 2.7.1
Installing aws-sigv4 1.4.0
Fetching nokogiri 1.13.1 (x86_64-linux)
Fetching kramdown 2.3.1
Installing kramdown 2.3.1
Installing nokogiri 1.13.1 (x86_64-linux)
Fetching serverlessgems 0.1.6
Installing serverlessgems 0.1.6
Fetching activesupport 6.1.4.4
Installing activesupport 6.1.4.4
Fetching aws-sdk-core 3.125.4
Fetching loofah 2.13.0
Installing aws-sdk-core 3.125.4
Installing loofah 2.13.0
Fetching rails-dom-testing 2.0.3
Installing rails-dom-testing 2.0.3
Fetching globalid 1.0.0
Fetching activemodel 6.1.4.4
Installing globalid 1.0.0
Fetching cfn_camelizer 0.4.9
Installing activemodel 6.1.4.4
Installing cfn_camelizer 0.4.9
Fetching rails-html-sanitizer 1.4.2
Fetching jets-html-sanitizer 1.0.4
Installing rails-html-sanitizer 1.4.2
Fetching aws-mfa-secure 0.4.4
Installing jets-html-sanitizer 1.0.4
Fetching aws-sdk-apigateway 1.73.0
Installing aws-mfa-secure 0.4.4
Fetching aws-sdk-cloudformation 1.64.0
Installing aws-sdk-cloudformation 1.64.0
Fetching aws-sdk-cloudwatchlogs 1.50.0
Installing aws-sdk-cloudwatchlogs 1.50.0
Fetching aws-sdk-dynamodb 1.70.0
Installing aws-sdk-dynamodb 1.70.0
Fetching aws-sdk-kinesis 1.39.0
Installing aws-sdk-apigateway 1.73.0
Installing aws-sdk-kinesis 1.39.0
Fetching aws-sdk-kms 1.53.0
Fetching aws-sdk-lambda 1.77.0
Installing aws-sdk-kms 1.53.0
Fetching aws-sdk-route53 1.60.0
Installing aws-sdk-lambda 1.77.0
Fetching aws-sdk-sns 1.50.0
Installing aws-sdk-route53 1.60.0
Installing aws-sdk-sns 1.50.0
Fetching aws-sdk-sqs 1.49.0
Fetching aws-sdk-ssm 1.128.0
Installing aws-sdk-sqs 1.49.0
Fetching activejob 6.1.4.4
Installing aws-sdk-ssm 1.128.0
Fetching activerecord 6.1.4.4
Installing activejob 6.1.4.4
Fetching actionview 6.1.4.4
Installing activerecord 6.1.4.4
Installing actionview 6.1.4.4
Fetching cfn-status 0.4.3
Installing cfn-status 0.4.3
Fetching aws-sdk-s3 1.111.1
Fetching actionpack 6.1.4.4
Installing aws-sdk-s3 1.111.1
Installing actionpack 6.1.4.4
Fetching actionmailer 6.1.4.4
Fetching railties 6.1.4.4
Installing actionmailer 6.1.4.4
Installing railties 6.1.4.4
Fetching jets 3.1.1
Installing jets 3.1.1
Bundle complete! 8 Gemfile dependencies, 65 gems now installed.
Gems in the groups 'development' and 'test' were not installed.
Bundled gems are installed into `./vendor/gems`
Bundle install success.
Tidying project: removing ignored files to reduce package size.
=> rsync -a --links /tmp/jets/backer/stage/code/vendor/gems/ruby/2.7.0/ /tmp/jets/backer/stage/opt/ruby/gems/2.7.0/
=> Replacing compiled gems with AWS Lambda Linux compiled versions: /tmp/jets/backer/stage/opt
Checking projects gems for binary serverlessgems...
=> Generating shims in the handlers folder.
=> Creating zip file for /tmp/jets/backer/stage/opt
=> cd /tmp/jets/backer/stage/opt && chmod -R 755 . && zip --symlinks -rq opt.zip .
Zip file created at: /tmp/jets/backer/stage/zips/opt-eb439ecc.zip (12.8 MB)
=> Creating zip file for /tmp/jets/backer/stage/code
=> cd /tmp/jets/backer/stage/code && chmod -R 755 . && zip --symlinks -rq code.zip .
Zip file created at: /tmp/jets/backer/stage/zips/code-3a380b09.zip (44.9 KB)
Building CloudFormation templates.
Generated CloudFormation templates at /tmp/jets/backer/templates
Uploading CloudFormation templates to S3.
Uploading code zip files to S3.
Uploading /tmp/jets/backer/stage/zips/opt-eb439ecc.zip (12.8 MB) to S3
Uploaded to s3://backer-dev-s3bucket-10jwim4pudjf9/jets/code/opt-eb439ecc.zip
Time to upload code to s3: 0s
Uploading /tmp/jets/backer/stage/zips/code-3a380b09.zip (44.9 KB) to S3
Uploaded to s3://backer-dev-s3bucket-10jwim4pudjf9/jets/code/code-3a380b09.zip
Time to upload code to s3: 0s
Checking for modified public assets and uploading to S3.
Time for public assets to s3: 0s
Deploying CloudFormation stack with jets app!
Waiting for stack to complete
08:28:27PM UPDATE_IN_PROGRESS AWS::CloudFormation::Stack backer-dev User Initiated
08:28:32PM CREATE_IN_PROGRESS AWS::IAM::Role IamRole 
08:28:32PM CREATE_IN_PROGRESS AWS::Lambda::LayerVersion GemLayer 
08:28:32PM CREATE_IN_PROGRESS AWS::IAM::Role IamRole Resource creation Initiated
08:28:47PM CREATE_IN_PROGRESS AWS::Lambda::LayerVersion GemLayer Resource creation Initiated
08:28:47PM CREATE_COMPLETE AWS::Lambda::LayerVersion GemLayer 
08:28:48PM CREATE_COMPLETE AWS::IAM::Role IamRole 
08:28:50PM CREATE_IN_PROGRESS AWS::CloudFormation::Stack BackupJob 
08:28:51PM CREATE_IN_PROGRESS AWS::CloudFormation::Stack BackupJob Resource creation Initiated
08:30:47PM CREATE_COMPLETE AWS::CloudFormation::Stack BackupJob 
08:30:49PM UPDATE_COMPLETE_CLEANUP_IN_PROGRESS AWS::CloudFormation::Stack backer-dev 
08:30:50PM UPDATE_COMPLETE AWS::CloudFormation::Stack backer-dev 
Stack success status: UPDATE_COMPLETE
Time took for stack deployment: 2m 22s.
$ 

Push the change. Maybe, git pull and, give it another try.

Also, noticed that the jets.gemspec required_ruby_version specifier could be improved and release a patch for that. Though, don’t think that has anything to do with this particular issue. Think this issue is mainly because of an old Gemfile.lock

Note: Considering adding a gitignore for the Gemfile.lock for this demo project to mitigate running into this issue in the future. For now, leaving it in though.

Tung! Thank you for the quick reply. Let me give you the steps I did. I’m running on MacOS 11.6.2, but I don’t think that should make a difference.

I get the same error, see at the bottom.
Let me know if you have any ideas! I really want to run with the Jets toolbox!!

I’m not sure how to do the fancy “Click to Expand and See Debugging Session”… let me know, but here is my session.

Looked at the stack trace you provided. I do have a guess. Think it’s because the Ruby version is 2.6 on your system. Lambda only currently supports 2.5 and 2.7, so those are the gem versions available on serverlessgems. Think that’s what’s going on here. Though, think the Jets error message can be improved. Will have to dig into that.

Try using Ruby 2.7 on your system and deploying again.

RE: fancy click expand

You use these tags

<details>
 <summary>Summary Goes Here</summary>

 ...this is hidden, collapsable content. start with a blank line to get terminal output to format right...
</details>

Can use the same technique with GitHub issues https://github.com/boltops-tools/jets/issues/new?assignees=&labels=bug&template=bug_report.md&title=

Tung! That worked. 2.7. Thanks!

I had to install 2.7 on a different mac! I work mac can’t install any ruby right now. Seems like common issue… still looking for a fix…

Error running ‘__rvm_make -j12’,
please read /Users/jgillies/.rvm/log/1642794767_ruby-2.5.8/make.log

Thanks for the help!!!

1 Like