Update to latest fog-aws release and bump base64 version#6
Open
MatthewDarling wants to merge 2 commits into
Open
Update to latest fog-aws release and bump base64 version#6MatthewDarling wants to merge 2 commits into
MatthewDarling wants to merge 2 commits into
Conversation
Well, the Rake tests have passed. But I don't know how much to trust those. I've got someone to test things with on Monday, though :)
It seems like with aws-sdk-ec2 1.515.0, the version of base64 was increased to 0.2.0. But one of the transitive dependencies of this gem wants 0.1.1, so we couldn't install the plugin. We tried specifying version 0.2.0 of `base64` in the `.gemspec` file, but still got the same error. So I went to Google to understand how to override transitive dependencies. I found from a Github issue opened Sept 2024: ruby/rubygems#8021 Where the author had created a Bundler plugin, bundler-resolutions: https://github.com/hlascelles/bundler-resolutions And this does indeed solve the problem! However, installing some brand new experimental plugin is probably not how people normally solve problems. There is almost certainly a much, much better way to do this that would be totally clear to someone who understands the Ruby ecosystem. Unfortunately, our team doesn't use Ruby, so I'm a bit clueless on the subject. Anyway, I'm pushing this in the hopes of getting help from experienced Rubyists, while unblocking our team in the meantime :)
|
I have done some testing on Vagrant 2.4.3 on macOS Sonoma. Guests:
Commands:
There was a slight challenge building the plugin since Sonoma ships with ruby 2.6. Installed more recent ruby with homebrew. I suggest merging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I think/hope this will fix #5.
I had used
vagrant-gecko-awssuccessfully with Vagrant 2.4.2 withVAGRANT_DISABLE_STRICT_DEPENDENCY_ENFORCEMENT=1, but as of 2.4.3, we were getting dependency conflicts with something upgraded internal to Vagrant. So, it was time to learn enough about Ruby to bump thefog-awsdependency, haha.I don't know how thorough the Rake tests are, but the tests pass on my branch when running
bundle exec rake.And two of my colleagues were able to provision a basic EC2 machine using my branch like so:
We also use the
aws-sdk-stsandaws-sdk-ec2plugins, so I can confirm this is compatible with them.Open to ideas for further testing 🙇♂️
Wait, what's
bundler-resolutions?The second commit has a detailed message that hopefully explains what's going on. There was a problem with a transitive dependency on
base64, and asking for the newer version in the.gempsecfile didn't fix it. So I added a plugin that's made for controlling transitive dependencies, and it seems to work 🤞 However, I'm certain that this isn't the best way to deal with transitive dependency problems. What would a true Rubyist do?Warnings from upgrading
fog-awsWhen running
vagrant reload, I got a warning that I think didn't happen before:Although I think this is code internal to
fog-aws, so maybe it will just be resolved by a futurefog-awsupdate.