-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Labels
bugSomething isn't workingSomething isn't working
Description
This occurs when checking for a Type change between two configs that share have different values but still share the same type. Despite this it still returns the wrong bool.
["test"] -> ["test", "test2"] causes Equal() to return false despite the Type being the same
Using Diff instead results in the expected output of no type being present.
terraform-plugin-go version
v0.20.0
Relevant provider source code
// resulted in type change despite the types staying the same
typeChanged := !(wasCfg.(tftypes.Value).Type().Equal(nowCfg.(tftypes.Value).Type()))
// produced diff == nil since no type change was present (same tfconfig used)
_, diff := wasCfg.(tftypes.Value).Diff(nowCfg.(tftypes.Value))
Terraform Configuration Files
resource "kubernetes_manifest" "raw" {
field_manager {
name = "tf-argo-app"
# force_conflicts = true
}
timeouts {
create = "10m"
update = "10m"
delete = "10m"
}
manifest = {
apiVersion = "argoproj.io/v1alpha1"
kind = "Application"
metadata = {
name = "unknown-test"
namespace = "argocd"
}
spec = {
project = ""
destination = {
server = "testcluster"
namespace = "argocd"
}
revisionHistoryLimit = 1
//
sources = [{
repoURL = "https://helm.releases.hashicorp.com"
path = "hashicorp/terraform"
chart = "terraform-helm"
targetRevision = 10
helm = {
releaseName = "test"
values = "test"
valuesObject = {
duration = 2
maxDuration = 5
factor = "2"
}
}
}
,
{
repoURL = "https://helm.releases.hashicorp.com"
chart = "terraform-helm"
targetRevision = 1
helm = {
releaseName = "test"
values = "test"
valuesObject = {
"mau": ["test"] // make changes here such as add or removing elements from tuple
}
}
}]
//
syncPolicy = {
retry = {
limit = 10
backoff = {
duration = "2m"
maxDuration = "5m"
factor = 2
}
}
}
}
}
}
Expected Behavior
Should have returned that no type change was present
Actual Behavior
Type change was present when adding/removing from the tuple.
Steps to Reproduce
Please list the full steps required to reproduce the issue, for example:
terraform init
terraform apply
- add or remove from tuple that's commented in config
The change will be reproducible once this PR is merged. hashicorp/terraform-provider-kubernetes#2437
A simpler config can be used, the provided config was the one that was first brought to attention the different behavior of Equal()
and Diff()
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working