Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cloudflare_load_balancer custom rules config drift not detected #4798

Open
3 tasks done
gopurx opened this issue Dec 18, 2024 · 2 comments
Open
3 tasks done

cloudflare_load_balancer custom rules config drift not detected #4798

gopurx opened this issue Dec 18, 2024 · 2 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. triage/needs-information Indicates an issue needs more information in order to work on it.

Comments

@gopurx
Copy link

gopurx commented Dec 18, 2024

Confirmation

  • This is a bug with an existing resource and is not a feature request or enhancement. Feature requests should be submitted with Cloudflare Support or your account team.
  • I have searched the issue tracker and my issue isn't already found.
  • I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version

Terraform v1.5.7
on darwin_arm64

  • provider registry.terraform.io/cloudflare/cloudflare v4.48.0

Affected resource(s)

cloudflare_load_balancer

Terraform configuration files

data "cloudflare_zone" "zone" {
  name = var.zone_name
}

resource "cloudflare_load_balancer" "example" {
  zone_id          = data.cloudflare_zone.zone.id
  name             = "example-load-balancer.testing.com"
  fallback_pool_id = cloudflare_load_balancer_pool.example.id
  default_pool_ids = [cloudflare_load_balancer_pool.example.id]
  description      = "example load balancer using geo-balancing"
  proxied          = true
  steering_policy  = "geo"

  pop_pools {
    pop      = "LAX"
    pool_ids = [cloudflare_load_balancer_pool.example.id]
  }

  country_pools {
    country  = "US"
    pool_ids = [cloudflare_load_balancer_pool.example.id]
  }

  region_pools {
    region   = "WNAM"
    pool_ids = [cloudflare_load_balancer_pool.example.id]
  }

  rules {
    name      = "examplerule"
    condition = "http.request.uri.path contains \"testing\""
    fixed_response {
      message_body = "hello"
      status_code  = 200
      content_type = "html"
      location     = "www.example.com"
    }
  }
}

resource "cloudflare_load_balancer_pool" "example" {
  account_id = var.cloudflare_account_id
  name = "example-lb-pool"
  origins {
    name    = "example-1"
    address = "192.0.2.1"
    enabled = false
  }
}

Link to debug output

NA

Panic output

NA

Expected output

Terraform plan should be detecting the config drift when the rules are deleted from the loadbalancer after getting created.

Actual output

No changes. Your infrastructure matches the configuration.

Steps to reproduce

  1. Create load balancer with custom rules using above mentioned terraform config
  2. Delete custom rules created in step#1 from the load balancer through GUI/portal
  3. Run terraform plan to detect the drift
  4. No changes detected instead of showing rules to be created

Additional factoids

Custom rules in 4.48 is mentioned as beta but bringing this observation if this issue not being tracked
Custom rules were deleted from Cloudflare portal (GUI) after they got created through this terraform config. Later when the same config is used to run the plan, it is not detecting this config drift to show those rules to be created again.
Other observation is that, terraform will detect the drift if at least one rule exist but does not work when all of the existing once deleted which got created through config and exist in terraform state

References

No response

@gopurx gopurx added kind/bug Categorizes issue or PR as related to a bug. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Dec 18, 2024
Copy link
Contributor

Thank you for reporting this issue! For maintainers to dig into issues it is required that all issues include the entirety of TF_LOG=DEBUG output to be provided. The only parts that should be redacted are your user credentials in the X-Auth-Key, X-Auth-Email and Authorization HTTP headers. Details such as zone or account identifiers are not considered sensitive but can be redacted if you are very cautious. This log file provides additional context from Terraform, the provider and the Cloudflare API that helps in debugging issues. Without it, maintainers are very limited in what they can do and may hamper diagnosis efforts.

This issue has been marked with triage/needs-information and is unlikely to receive maintainer attention until the log file is provided making this a complete bug report.

@github-actions github-actions bot added triage/needs-information Indicates an issue needs more information in order to work on it. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Dec 18, 2024
Copy link
Contributor

Community Note

Voting for Prioritization

  • Please vote on this issue by adding a 👍 reaction to the original post to help the community and maintainers prioritize this request.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

Volunteering to Work on This Issue

  • If you are interested in working on this issue, please leave a comment.
  • If this would be your first contribution, please review the contribution guide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. triage/needs-information Indicates an issue needs more information in order to work on it.
Projects
None yet
Development

No branches or pull requests

1 participant