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

State drift is not recognized #160

Open
jacoblElementor opened this issue Dec 5, 2024 · 0 comments
Open

State drift is not recognized #160

jacoblElementor opened this issue Dec 5, 2024 · 0 comments

Comments

@jacoblElementor
Copy link

Hello, I would like to report a bug in the provider.

When changing a configuration in Airbyte resource (source/destination/connection) manually in the UI for example, Terraform is not recognizing a drift in the state.

For example:

I created an S3 Destination resource using the provider with following configuration:

bucket_name       = "<My bucket Name>"
bucket_path       = "$${STREAM_NAME}"
path_format       = "$${YEAR}/$${MONTH}/$${DAY}/$${HOUR}$${MINUTE}$${SECOND}/"
file_name_pattern = "{part_number}_{sync_id}_{timestamp}{format_extension}"
format = {
  parquet_columnar_storage = {
    format_type       = "Parquet"
    block_size_mb     = 256
    compression_codec = "SNAPPY"
  }
}

And the destination was created successfully. Adding image here (redacted the bucket name)
Image

I changed the bucket name manually using the UI, saved successfully, and ran terraform plan.
Here's the output:

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # module.sources_and_destinations.airbyte_connection.connections["connection_1"] will be updated in-place
  ~ resource "airbyte_connection" "connections" {
        name                                 = "connection_1"
      ~ schedule                             = {
          ~ cron_expression = "0 0 2 * * ? UTC" -> "0 0 2 * * ?"
            # (1 unchanged attribute hidden)
        }
        # (10 unchanged attributes hidden)
    }

  # module.sources_and_destinations.airbyte_connection.connections["connection_2"] will be updated in-place
  ~ resource "airbyte_connection" "connections" {
        name                                 = "connection_2"
      ~ schedule                             = {
          ~ cron_expression = "0 30 1 * * ? UTC" -> "0 30 1 * * ?"
            # (1 unchanged attribute hidden)
        }
        # (10 unchanged attributes hidden)
    }

  # module.sources_and_destinations.airbyte_connection.connections["connection_3"] will be updated in-place
  ~ resource "airbyte_connection" "connections" {
        name                                 = "connection_3"
      ~ schedule                             = {
          ~ cron_expression = "0 0 2 * * ? UTC" -> "0 0 2 * * ?"
            # (1 unchanged attribute hidden)
        }
        # (10 unchanged attributes hidden)
    }

Plan: 0 to add, 3 to change, 0 to destroy.

As you can see from the plan, the change in the destination resource I've changed manually is not detected at all. This happens for any source/destination/connection resource.

Notes

  • No lifecycle policy was added to the terraform resources
  • I've tried running with terraform init --reconfigure/--update as well.
  • Airbyte Version: OSS, running on EKS
    • Server Version airbyte/server:0.64.6
    • Webapp Version: airbyte/webapp:0.63.9
  • Provider Version: 0.6.5
    Please advice,
    Thank you :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant