boltops-tools / terraspace

Terraspace: The Terraform Framework
https://terraspace.cloud
Apache License 2.0
674 stars 46 forks source link

`terraspace summary` cannot load such file -- azure/storage/blob (LoadError) #272

Open ChristopherLenz opened 1 year ago

ChristopherLenz commented 1 year ago

Checklist

My Environment

Software Version
Operating System Ubuntu 20.04.4 LTS
Terraform v1.2.3
Terraspace 2.2.2
Ruby 3.0.3

Expected Behaviour

My expectation is that the smallest possible project will run without errors

Current Behavior

fmt & list and event up & down are working. summary not.

Failes with cannot load such file -- azure/storage/blob (LoadError)

Step-by-step reproduction instructions

terraspace new project keks --plugin azurerm --examples ``` => Creating new project called keks create keks create keks/.gitignore create keks/Gemfile create keks/README.md create keks/Terrafile create keks/config/app.rb => Installing dependencies with: bundle install Fetching gem metadata from https://rubygems.org/........ Resolving dependencies... Using concurrent-ruby 1.1.10 Using minitest 5.16.3 Using azure_info 0.1.5 Using hashie 5.0.0 Using tilt 2.0.11 Using rexml 3.2.5 Using i18n 1.12.0 Using rainbow 3.1.1 Using tzinfo 2.0.5 Using zeitwerk 2.6.1 Using aws-partitions 1.644.0 Using jmespath 1.6.1 Using bundler 2.2.32 Using activesupport 7.0.4 Using deep_merge 1.2.2 Using diff-lcs 1.5.0 Using rhcl 0.1.0 Using eventmachine 1.2.7 Using hcl_parser 0.2.2 Using racc 1.6.0 Using rspec-support 3.11.1 Using nokogiri 1.13.8 (x86_64-linux) Using rubyzip 2.3.2 Using rspec-core 3.11.0 Using rspec-expectations 3.11.1 Using rspec-mocks 3.11.1 Using tty-tree 0.4.0 Using rack 3.0.0 Using rspec 3.11.0 Using zip_folder 0.1.0 Using graph 2.11.0 Using text-table 1.2.4 Using memoist 0.16.2 Using aws-eventstream 1.2.0 Using dsl_evaluator 0.3.1 Using rspec-terraspace 0.3.1 Using cli-format 0.2.2 Using eventmachine-tail 0.6.5 Using render_me_pretty 0.8.4 Using thor 1.2.1 Using dotenv 2.8.1 Using aws-sigv4 1.5.2 Using armrest 0.1.3 Using aws-sdk-core 3.159.0 Using terraspace_plugin_azurerm 0.7.0 Using aws-sdk-kms 1.58.0 Using aws-sdk-s3 1.114.0 Using terraspace-bundler 0.5.0 Using terraspace 2.2.2 Bundle complete! 3 Gemfile dependencies, 49 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. exist keks create keks/config/terraform/backend.tf create keks/config/terraform/provider.tf => Creating new module called example create keks/app/modules/example create keks/app/modules/example/main.tf create keks/app/modules/example/outputs.tf create keks/app/modules/example/variables.tf => Creating new stack called demo create keks/app/stacks/demo create keks/app/stacks/demo/main.tf create keks/app/stacks/demo/outputs.tf create keks/app/stacks/demo/variables.tf ================================================================ Congrats! You have successfully created a terraspace project. Check out the created files. Adjust to the examples and then deploy with: cd keks terraspace up demo -y # to deploy terraspace down demo -y # to destroy More info: https://terraspace.cloud/ ```
terraspace summary ``` Building one of the modules to get backend.tf info Building .terraspace-cache/eastus/dev/stacks/demo Summary of resources based on backend storage statefiles /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/zeitwerk-2.6.1/lib/zeitwerk/kernel.rb:35:in `require': cannot load such file -- azure/storage/blob (LoadError) from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/zeitwerk-2.6.1/lib/zeitwerk/kernel.rb:35:in `require' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/terraspace_plugin_azurerm-0.7.0/lib/terraspace_plugin_azurerm/interfaces/summary.rb:1:in `' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/zeitwerk-2.6.1/lib/zeitwerk/kernel.rb:27:in `require' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/zeitwerk-2.6.1/lib/zeitwerk/kernel.rb:27:in `require' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/activesupport-7.0.4/lib/active_support/inflector/methods.rb:280:in `const_get' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/activesupport-7.0.4/lib/active_support/inflector/methods.rb:280:in `constantize' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/activesupport-7.0.4/lib/active_support/core_ext/string/inflections.rb:74:in `constantize' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/terraspace-2.2.2/lib/terraspace/cli/summary.rb:50:in `summary_class' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/terraspace-2.2.2/lib/terraspace/cli/summary.rb:37:in `process' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/terraspace-2.2.2/lib/terraspace/cli/summary.rb:19:in `run' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/terraspace-2.2.2/lib/terraspace/cli.rb:194:in `summary' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/terraspace-2.2.2/lib/terraspace/command.rb:76:in `dispatch' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/terraspace-2.2.2/lib/terraspace/cli/concern.rb:65:in `start' from /home/chris/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/terraspace-2.2.2/exe/terraspace:7:in `' from /home/chris/.rbenv/versions/3.0.3/bin/terraspace:25:in `load' from /home/chris/.rbenv/versions/3.0.3/bin/terraspace:25:in `
' ```

Code Sample

Solution Suggestion