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

awscc_dms_data_provider DMS doesn't support aurora_postgresql database β”‚ engine #1636

Open
kstephensontm opened this issue Apr 29, 2024 · 13 comments
Assignees
Labels
bug documentation service/dms upstream-aws Unable to proceed due to missing or broken functionality from an AWS dependency.

Comments

@kstephensontm
Copy link

Community Note

  • Please vote on this issue by adding a πŸ‘ reaction to the original issue 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
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment
  • The resources and data sources in this provider are generated from the CloudFormation schema, so they can only support the actions that the underlying schema supports. For this reason submitted bugs should be limited to defects in the generation and runtime code of the provider. Customizing behavior of the resource, or noting a gap in behavior are not valid bugs and should be submitted as enhancements to AWS via the CloudFormation Open Coverage Roadmap.

Terraform CLI and Terraform AWS Cloud Control Provider Version

Affected Resource(s)

  • awscc_dms_data_provider

Terraform Configuration Files

Please include all Terraform configurations required to reproduce the bug. Bug reports without a functional reproduction may be closed without investigation.

# Copy-paste your Terraform configurations here - for large Terraform configs,
# please use a service like Dropbox and share a link to the ZIP file. For
# security, you can also encrypt the files using our GPG public key: https://keybase.io/hashicorp

Debug Output

Panic Output

resource "awscc_dms_data_provider" "dms_data_provider_target" {
data_provider_name = "sc-postgresql2"
engine = "aurora_postgresql"
settings = {
postgre_sql_settings = {
database_name = "pssql"
port = 5432
server_name = "postgres-default-1.blah.us-west-2.rds.amazonaws.com"
ssl_mode = "none"
}
}
}

β”‚ Error: AWS SDK Go Service Operation Incomplete
β”‚
β”‚ with awscc_dms_data_provider.dms_data_provider_target,
β”‚ on dms-schema-conversion.tf line 39, in resource "awscc_dms_data_provider" "dms_data_provider_target":
β”‚ 39: resource "awscc_dms_data_provider" "dms_data_provider_target" {
β”‚
β”‚ Waiting for Cloud Control API service CreateResource operation completion returned: waiter
β”‚ state transitioned to FAILED. StatusMessage: DMS doesn't support aurora_postgresql database
β”‚ engine. Choose another database engine and try again. (Service: DatabaseMigration, Status
β”‚ Code: 400, Request ID: a5033be9-0e1c-457a-bd9a-e751af7e224f). ErrorCode: InvalidRequest

Expected Behavior

Create an aurora postgres data provider.

Actual Behavior

Errors that the data provider postrgres aurora doesn't exist.

Steps to Reproduce

  1. terraform apply

Important Factoids

no

References

https://registry.terraform.io/providers/hashicorp/awscc/latest/docs/resources/dms_data_provider

@wellsiau-aws
Copy link
Collaborator

@kstephensontm , thank you for reporting this issue.

according to the enumeration from here the right way to specify the engine is as aurora-postgresql.

I realize that Cloudformation documentation also has some inconsistency

Could you try this again using : aurora-postgresql

@quixoticmonk
Copy link
Collaborator

quixoticmonk commented Apr 30, 2024

@wellsiau-aws I did try this today. The API expects us to use aurora_postgresql

 Error: Invalid Attribute Value Match
β”‚
β”‚   with awscc_dms_data_provider.dms_data_provider_source,
β”‚   on main.tf line 3, in resource "awscc_dms_data_provider" "dms_data_provider_source":
β”‚    3:   engine = "aurora-postgresql"
β”‚
β”‚ Attribute engine value must be one of: ["postgres" "mysql" "oracle" "sqlserver" "aurora"
β”‚ "aurora_postgresql"], got: "aurora-postgresql"

@kstephensontm
Copy link
Author

sorry still get an error when putting the correct value ...

resource "awscc_dms_data_provider" "dms_data_provider_target" {
data_provider_name = "sc-postgresql2"
engine = "aurora_postgresql"
settings = {
postgre_sql_settings = {
database_name = "pssql"
port = 5432
server_name = "postgres-default-1.blah.us-west-2.rds.amazonaws.com"
ssl_mode = "none"
}
}
}

β”‚ Error: AWS SDK Go Service Operation Incomplete
β”‚
β”‚ with awscc_dms_data_provider.dms_data_provider_target,
β”‚ on dms-schema-conversion.tf line 39, in resource "awscc_dms_data_provider" "dms_data_provider_target":
β”‚ 39: resource "awscc_dms_data_provider" "dms_data_provider_target" {
β”‚
β”‚ Waiting for Cloud Control API service CreateResource operation completion returned: waiter
β”‚ state transitioned to FAILED. StatusMessage: DMS doesn't support aurora_postgresql database
β”‚ engine. Choose another database engine and try again. (Service: DatabaseMigration, Status
β”‚ Code: 400, Request ID: 43f51c09-d7ec-4cd7-a75e-6a433ea45de0). ErrorCode: InvalidRequest

@kstephensontm
Copy link
Author

hi @quixoticmonk is this a bug that just needs to be fixed for aurora_postgresql?

@kstephensontm
Copy link
Author

@quixoticmonk any update on this one?

@quixoticmonk
Copy link
Collaborator

quixoticmonk commented May 12, 2024

@quixoticmonk any update on this one?

Apologies on the delay in responding. I was waiting for the next refresh this week if it did fix the engine listing. I have opened an internal issue against the service team in AWS.

@wellsiau-aws FYI

@kstephensontm
Copy link
Author

just tried again with 0.77.0 and still the same error.

β”‚ Error: AWS SDK Go Service Operation Incomplete
β”‚
β”‚ with awscc_dms_data_provider.dms_data_provider_target,
β”‚ on dms-schema-conversion.tf line 39, in resource "awscc_dms_data_provider" "dms_data_provider_target":
β”‚ 39: resource "awscc_dms_data_provider" "dms_data_provider_target" {
β”‚
β”‚ Waiting for Cloud Control API service CreateResource operation completion returned: waiter state transitioned to FAILED.
β”‚ StatusMessage: DMS doesn't support aurora_postgresql database engine. Choose another database engine and try again.
β”‚ (Service: DatabaseMigration, Status Code: 400, Request ID: fb40aa88-d959-44f6-9cfb-83caf0465f8a). ErrorCode: InvalidRequest
β•΅

@wellsiau-aws
Copy link
Collaborator

@kstephensontm , thank you for your patience, we just heard about the fix deployed by service team.

do you mind to test it again? since this is a upstream AWS handler issue, I believe you don't need to upgrade the provider.

@andreshans
Copy link

does anyone know how to fix this one?

@kstephensontm
Copy link
Author

kstephensontm commented Oct 29, 2024

@quixoticmonk i used the latest 1.18.0 version and I can create a data provider target with "aurora_postgresql".
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

I then run an apply again and it wants to switch the engine from "aurora-postgresql" -> "aurora_postgresql" which then fails. how do we get around this? this makes no sense because I can't supply engine type of aurora-postgresql or it tells me that it is not supported.

β”‚ Waiting for Cloud Control API service UpdateResource operation completion returned: waiter state transitioned to FAILED.
β”‚ StatusMessage: The specified database engine is not supported by DMS. Please choose a supported database engine and try
β”‚ again. (Service: DatabaseMigration, Status Code: 400, Request ID: c40d6a5a-26b4-4c1b-a7e4-caf77c35e2a1). ErrorCode:
β”‚ InvalidRequest


this is trying to set a data provider target to aurora-postgresql ... doesn't work.
β”‚ 42: engine = "aurora-postgresql"
β”‚
β”‚ Attribute engine value must be one of: ["postgres" "mysql" "oracle" "sqlserver" "aurora" "aurora_postgresql"], got:
β”‚ "aurora-postgresql"

@quixoticmonk
Copy link
Collaborator

Can you provide us the plan details when you are running the subsequent apply?

@kstephensontm
Copy link
Author

kstephensontm commented Oct 29, 2024

some how i can create it with aurora_postgresql and behind the scenes it becomes aurora-postgresql when created. then you run an apply again and it wants to change it back to aurora_postgresql but fails when trying to apply saying that the engine value doesn't exist. feels like i'm going in circles.

awscc_dms_data_provider.dms_data_provider_target will be updated in-place

~ resource "awscc_dms_data_provider" "dms_data_provider_target" {
+ data_provider_identifier = (known after apply)
+ description = (known after apply)
~ engine = "aurora-postgresql" -> "aurora_postgresql"
id = "arn:aws:dms:us-east-2:<######>:data-provider:FTPFOLZJRZEWTIDOD5JRASH7PM"
~ settings = {
+ microsoft_sql_server_settings = (known after apply)
+ my_sql_settings = (known after apply)
+ oracle_settings = (known after apply)
~ postgre_sql_settings = {
+ certificate_arn = (known after apply)
# (4 unchanged attributes hidden)
}
}
+ tags = (known after apply)
# (4 unchanged attributes hidden)
}

@quixoticmonk quixoticmonk added bug upstream-aws Unable to proceed due to missing or broken functionality from an AWS dependency. labels Dec 13, 2024
@quixoticmonk
Copy link
Collaborator

I have opened another ticket internally to resolve the engine mismatch. Assigning the issue to self to track this.

@quixoticmonk quixoticmonk self-assigned this Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug documentation service/dms upstream-aws Unable to proceed due to missing or broken functionality from an AWS dependency.
Projects
None yet
Development

No branches or pull requests

5 participants