I'll be back if we find out more in our travels. Setting disable_dependency_optimization to true in our remote block seems to have made the problem go away! We're still investigating, but this is a promising lead for us. ![]() One of my teammates looked into the terragrunt docs to see what they could find about dependencies, and they found a flag we could set in our remote block to disable dependency optimization. After downloading Terraform, unzip the package. (It should be the first extension listed.) If the extension isn't yet installed, select the extension's Install option. To install Terraform, find the appropriate package for your system and download it as a zip archive. From the list of extensions, locate the Azure Terraform extension. I'm not sure how this might make a difference to terragrunt's execution. From the left menu, select Extensions, and enter Azure Terraform in the search text box. The vast majority of our roots use a terraform block in terragrunt.hcl. We've only done some spot checking, but we realized something: We almost always see the "Required plugins not installed" error in a root module that has more than 1 dependency block! This led us to believe it was some kind of race condition in the way terragrunt handles dependencies.Īnother factor we're considering is that only 10% of our terragrunt modules are the kind with. Yesterday we turned on debug logging for both terragrunt and terraform, to see what a failure and a success look like next to each other. I'm guessing it's because on our locals we cache our providers long-term in $HOME/.terraform.d/plugin-cache. We have rarely or never seen this issue when we run terragrunt on our local machines, we only see the issue when it's run in our GitHub Actions workflow. ![]() Here are some of the things we've learned: We have run into this problem hundreds of times per day, every day. Navigate to your plugins folder and verify that the installation is complete. Pre-compiled binary Compile from source To install Terraform, find the appropriate package for your system and download it as a zip archive. My team and I manage a monorepo with 300+ root modules in it, all as terragrunt modules. Install Terraform Manual installation Homebrew on OS X Chocolatey on Windows Retrieve the terraform binary by downloading a pre-compiled binary or compiling it from source. Tl dr: try setting disable_dependency_optimization to true in your remote block.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |