-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
I have two units network and router in my stack. And network unit is a dependency for router unit
The experiment-mode --filter 'unit' was working fine with version v0.93.0:
~ terragrunt --version
terragrunt version v0.93.0
~ terragrunt run --all plan --log-format bare --experiment-mode --filter router
NFO[0000] Using runner pool for stack /root/workspace/observability/infra/live/nonprod
INFO[0000] The runner-pool runner at /root/workspace/observability/infra/live/nonprod will be processed in the following order for command plan:
- Unit /root/workspace/observability/infra/live/nonprod/asia-northeast1/.terragrunt-stack/elk/.terragrunt-stack/network
- Unit /root/workspace/observability/infra/live/nonprod/asia-northeast1/.terragrunt-stack/elk/.terragrunt-stack/routerafter upgrading to v0.93.1, I got the following issue:
~ terragrunt --version
terragrunt version v0.93.1
~ terragrunt run --all plan --log-format bare --experiment-mode --filter router
INFO[0000] Using runner pool for stack /root/workspace/observability/infra/live/nonprod
ERRO[0000] Unit /root/workspace/observability/infra/live/nonprod/asia-northeast1/.terragrunt-stack/elk/.terragrunt-stack/router specifies ../network as a dependency, but that dependency was not one of the ones found while scanning subfolders: [/root/workspace/observability/infra/live/nonprod/asia-northeast1/.terragrunt-stack/elk/.terragrunt-stack/router/terragrunt.hcl]
ERRO[0000] Unable to determine underlying exit code, so Terragrunt will exit with error code 1I guess the root cause should be changing unitsMap, err := unitResolver.ResolveTerraformModules(ctx, l, unitPaths) to unitsMap, err := unitResolver.ResolveFromDiscovery(ctx, l, nonStackComponents) in this commit:
98c1754#diff-79651e289f124fef748d811c508678ee163db9edd3f1fb902579cfe67568b389R116
I've added testing code to internal/runner/runnerpool/runner.go to trace:
- v0.93.0
// ...
unitsMap, err := unitResolver.ResolveTerraformModules(ctx, l, unitPaths)
// testing code
fmt.Println("unitResolver.ResolveTerraformModules len:")
fmt.Println(len(unitsMap))
fmt.Println("unitResolver.ResolveTerraformModules keys:")
for key := range unitsMap {
fmt.Println(key)
}
if err != nil {
return nil, err
}
// ...output:
# two units
unitResolver.ResolveTerraformModules len:
2
unitResolver.ResolveTerraformModules keys:
0
1- v0.93.1
// ...
unitsMap, err := unitResolver.ResolveFromDiscovery(ctx, l, nonStackComponents)
// testing code
fmt.Println("unitResolver.ResolveFromDiscovery len:")
fmt.Println(len(unitsMap))
fmt.Println("unitResolver.ResolveFromDiscovery keys:")
for key := range unitsMap {
fmt.Println(key)
}
if err != nil {
return nil, err
}
// ...output:
# no unit
unitResolver.ResolveFromDiscovery len:
0
unitResolver.ResolveFromDiscovery keys:Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working