Open gercograndia opened 2 months ago
Maybe in addition:
I reduced the terragrunt.hcl
to remove all other dependencies so that only the 'faulty' dependency remained.
However, the issue still remained, so I guess it has not so much to do with the sheer number of dependency
declarations.
Seems we are also hit by this issue (terragrunt 0.66.1). Interesting thing is: when I temporarily change to "skip=false" in dependency, then run "terragrunt plan" (which I believe fetches the output of dependency), then, after restoring to "skip=true" - output is visible and is used.
Seems we are also hit by this issue (terragrunt 0.66.1). Interesting thing is: when I temporarily change to "skip=false" in dependency, then run "terragrunt plan" (which I believe fetches the output of dependency), then, after restoring to "skip=true" - output is visible and is used.
Hmm interesting. Let me do some tests here as well.
However, I woud argue that if you have a skip = true
in a dependent module, then it would make sense to not fetch the outputs right? I must say that I am not very keen on this skip
option, it gives quite a few issues.
"dependent module, then it would make sense to not fetch the outputs right? " It's complicated. :) We use this to make some configuration tests. And skips is used to tell "we do not want to test this big and complicated module" now, but we want to check modules which depends on it.
@gercograndia, @kjonca, Guys, can you provide the simplest possible configuration to reproduce the issue?
Hi @levkohimins,
I'll see if we can reproduce it (tomorrow) in a as simple as possible setup but in our case it will never be easy.
I think the situation is as follows:
skip
attribute, and uses the output of a dependency to module_3
to decide whether or not to skip.I think the situation of @kjonca is different: trying to get hold of the outputs
when skip = true
.
Thanks @gercograndia, If you can't provide a simple configuration, that's not a problem, as long as it reproduces the issue.
Here you go @levkohimins
Assuming both module-2
and module-3
are applied, run a terragrunt plan
in module-1
.
Tested with terragrunt v0.58.3
, which shows the issue (just as the latest, v0.66.1
). v0.55.1
is doing it fine.
What this config does NOT show though, is the huge performance degradation introduced in v0.55.6
.
Thank you very much @gercograndia. Let's solve the "no outputs" issue first, and then I'll try to look at the performance.
Great, thanks a lot in advance.
Describe the bug
A while ago, we upgraded to terragrunt version v0.58.2 in an azure environment, and were already noticing things were quite a bit slower than before.
But last week we ran into a confusing issue, where a particular module coulnd't resolve the
outputs
of a dependency, while it was definitely there.It must be said: this module had (by nature) quite a few dependencies, but all of them resolved fine except this one.
Inspecting the output of the said module showed that the outputs were definitely there. However, the
terragrunt output
command takes about 3 minutes, while just running plainterraform output
from the.terragrunt-cache
directory completes almost instantly (less than a second).The debug log mentioned that the dependency is skipped because it is disabled.
The dependency declaration itself didn't have a
enabled
attribute set, but theterragrunt.hcl
of the dependency does have askip
statement.Anyways, while testing earlier versions of terragrunt we noticed the following:
v0.55.1
is the last version that is both performant as well as properly resolving the dependencies.v0.55.2
andv0.55.3
has the described issue, but are still 'quick'.v0.55.5
another strange error popped up, but the plan is what we would expect:v0.55.6
that aforementioned error is gone, but the main issue (can't find the outputs) popped up. Also, it became very slow from this release onwards.We tried also some newer versions but that wasn't helpful either:
v0.66.1
) we got the following error:v0.60.x
no new issues, but the main 'outputs' issue was still there.We didn't put more effort into the newer versions yet, we might do that. We're also more than willing to test out a few things if that's going to be helpful.
Just changing the terragrunt version and run
terragrunt plan
.Expected behavior
It should resolve the outputs (and not be that slow :-)
Versions
Additional context
n/a